Rocket Pool Network API

The Network API from Rocket Pool — 7 operation(s) for network.

OpenAPI Specification

rocket-pool-network-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Rocket Pool Protocol API (rocketpool-go) Auction Network 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: Network
paths:
  /network/balances:
    get:
      tags:
      - Network
      summary: Get Latest Reported Network Balances
      operationId: getNetworkBalances
      responses:
        '200':
          description: Reported balances and rETH backing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkBalances'
  /network/fees:
    get:
      tags:
      - Network
      summary: Get Network Fee Configuration
      operationId: getNetworkFees
      responses:
        '200':
          description: Current node commission curve
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkFees'
  /network/prices:
    get:
      tags:
      - Network
      summary: Get Latest Reported RPL Price
      operationId: getNetworkPrices
      responses:
        '200':
          description: Reported RPL price and supply
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkPrices'
  /network/stats:
    get:
      tags:
      - Network
      summary: Get Network Stats
      operationId: getNetworkStats
      responses:
        '200':
          description: Network statistics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkStats'
  /network/node-fee:
    get:
      tags:
      - Network
      summary: Get Current Node Commission Rate
      operationId: getNetworkNodeFee
      responses:
        '200':
          description: Current node fee
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeFee'
  /network/rpl-price:
    get:
      tags:
      - Network
      summary: Get Current RPL Price In ETH
      operationId: getRplPrice
      responses:
        '200':
          description: RPL price
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RplPrice'
  /network/dao-proposals:
    get:
      tags:
      - Network
      summary: Get Currently Active DAO Proposals
      operationId: getActiveDaoProposals
      responses:
        '200':
          description: Active proposals
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DaoProposal'
components:
  schemas:
    NetworkFees:
      type: object
      properties:
        nodeFee:
          type: number
          format: float
        minNodeFee:
          type: number
          format: float
        maxNodeFee:
          type: number
          format: float
        targetNodeFee:
          type: number
          format: float
    NetworkStats:
      type: object
      properties:
        totalValueLocked:
          $ref: '#/components/schemas/EthAmount_2'
        rethSupply:
          $ref: '#/components/schemas/EthAmount_2'
        rethExchangeRate:
          type: number
          format: double
        rplPriceEth:
          type: number
          format: double
        totalRplStaked:
          $ref: '#/components/schemas/EthAmount_2'
        totalNodes:
          type: integer
        totalMinipools:
          type: integer
        totalMegapoolValidators:
          type: integer
    RplPrice:
      type: object
      properties:
        priceEth:
          type: number
          format: double
        block:
          type: integer
        blockTime:
          type: string
          format: date-time
    DaoProposal:
      type: object
      properties:
        id:
          type: integer
        proposer:
          $ref: '#/components/schemas/Address'
        message:
          type: string
        state:
          type: string
          enum:
          - Pending
          - ActivePhase1
          - ActivePhase2
          - Cancelled
          - Vetoed
          - QuorumNotMet
          - Defeated
          - Succeeded
          - Expired
          - Executed
        createdTime:
          type: string
          format: date-time
    NetworkBalances:
      type: object
      properties:
        block:
          type: integer
        totalEth:
          $ref: '#/components/schemas/EthAmount'
        stakingEth:
          $ref: '#/components/schemas/EthAmount'
        rethSupply:
          $ref: '#/components/schemas/EthAmount'
    NodeFee:
      type: object
      properties:
        nodeFee:
          type: number
          format: float
          example: 0.14
        minNodeFee:
          type: number
          format: float
        maxNodeFee:
          type: number
          format: float
        targetNodeFee:
          type: number
          format: float
    Address:
      type: string
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0x0000000000000000000000000000000000000000'
    EthAmount_2:
      type: string
      description: Amount expressed in wei (1 ETH = 10^18 wei)
      example: '32000000000000000000'
    NetworkPrices:
      type: object
      properties:
        block:
          type: integer
        rplPrice:
          type: number
          format: double
    EthAmount:
      type: string
      description: Amount in wei