openapi: 3.0.3 info: title: Rocket Pool Protocol API (rocketpool-go) Auction Megapool API description: Read-oriented protocol surface exposed by the rocketpool-go Golang library on top of the Rocket Pool smart contracts deployed on Ethereum. The API described here is a logical mapping of rocketpool-go packages — auction, deposit, minipool, network, node, rewards, settings, tokens, dao/protocol, dao/trustednode — onto HTTP-style operations. There is no hosted HTTP endpoint for this API; integrators read the equivalent state via Ethereum JSON-RPC eth_call requests against the deployed contracts using the Go library, the rocketpool-js library, or directly via web3 clients. version: 1.0.0 license: name: GPL-3.0 url: https://github.com/rocket-pool/rocketpool-go/blob/master/LICENSE contact: name: Rocket Pool url: https://github.com/rocket-pool/rocketpool-go servers: - url: https://protocol.rocketpool.example/v1 description: Logical base path — actual access is via Ethereum smart contracts tags: - name: Megapool paths: /megapool/status: get: tags: - Megapool summary: Get Megapool Status operationId: getMegapoolStatus responses: '200': description: Megapool status content: application/json: schema: $ref: '#/components/schemas/MegapoolStatus' /megapool/deposit: post: tags: - Megapool summary: Create Megapool Validators operationId: depositMegapool requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MegapoolDepositRequest' responses: '200': description: Deposit submitted content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' /megapool/exit-queue: post: tags: - Megapool summary: Exit Megapool Queue operationId: exitMegapoolQueue responses: '200': description: Exit submitted content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' components: schemas: MegapoolStatus: type: object properties: address: $ref: '#/components/schemas/Address' validatorCount: type: integer debt: $ref: '#/components/schemas/EthAmount' useLatestDelegate: type: boolean delegateAddress: $ref: '#/components/schemas/Address' nodeCapital: $ref: '#/components/schemas/EthAmount' userCapital: $ref: '#/components/schemas/EthAmount' Address: type: string pattern: ^0x[a-fA-F0-9]{40}$ example: '0x0000000000000000000000000000000000000000' TransactionResponse: type: object properties: status: type: string enum: - success - error txHash: $ref: '#/components/schemas/TransactionHash' gasInfo: type: object properties: estGasLimit: type: integer safeGasLimit: type: integer error: type: string EthAmount: type: string description: Amount expressed in wei (1 ETH = 10^18 wei) example: '32000000000000000000' TransactionHash: type: string pattern: ^0x[a-fA-F0-9]{64}$ MegapoolDepositRequest: type: object required: - validatorCount properties: validatorCount: type: integer minimum: 1 useExpressTicket: type: boolean