> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beaconcha.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Rocket Pool validator metadata by index or pubkey

> Retrieve Rocket Pool–specific metadata for one or more Ethereum consensus validators.

You provide a comma-separated list of validator identifiers in the path parameter. The
server resolves each identifier to a validator index and returns the corresponding
Rocket Pool minipool and node data.

Response shape:
- If you request a single validator, the response data field is a single object.
- If you request multiple validators, the data field is an array of objects in no
  guaranteed order.

Use this endpoint to answer questions such as:
- What is the current minipool status and node fee for a validator?
- Has the node opted into the smoothing pool, and how much has been claimed or remains unclaimed?
- What are the node’s RPL stake metrics (effective, min, max)?




## OpenAPI

````yaml /api/v1/bundled.yaml get /api/v1/rocketpool/validator/{indexOrPubkey}
openapi: 3.0.4
info:
  title: beaconcha.in API Documentation
  license:
    name: GPL-3.0
    url: https://www.gnu.org/licenses/gpl-3.0.en.html
  description: >-
    > ⚠️ No new features or endpoints will be added to V1. We recommend the [V2
    API](/api/overview) for all new projects. See the [migration
    guide](/api/v1-to-v2-migration).

    ## Introduction

    **Advanced and reliable API for accessing comprehensive Ethereum blockchain
    data.**


    - **Free Usage Policy:** The API is free to use under a fair use policy,
    with rate limits of 10 requests per minute per IP.

    - **Caching:** All responses are cached for 1 minute.

    - **Higher Usage Plans:** For higher usage plans, visit:
    [https://beaconcha.in/pricing](https://beaconcha.in/pricing). An API key is
    required to use these plans.


    ### API Key Usage

    API keys can be obtained at
    [/user/settings](https://beaconcha.in/user/settings) and must be included in
    requests either as a query string parameter or in the request header.


    #### Example: Query String Parameter

    ```bash

    curl https://beaconcha.in/api/v1/slot/1?apikey=<your_key>

    ```


    #### Example: Request Header

    ```bash

    curl -H 'apikey: <your_key>' https://beaconcha.in/api/v1/slot/1

    ```
  contact: {}
  version: '1.1'
servers:
  - url: https://beaconcha.in
    description: Ethereum mainnet
  - url: https://hoodi.beaconcha.in
    description: Hoodi Ethereum testnet
security:
  - ApiKeyAuthQuery: []
  - ApiKeyAuthHeader: []
tags:
  - name: Epoch
    description: Data related to consensus layer epochs
  - name: Slots
    description: Data related to consensus layer slots
  - name: Validators
    description: Data related to consensus layer validators
  - name: Rewards
    description: Data related to validator rewards
  - name: Sync Committees
    description: Data related to sync committees
  - name: Rocketpool
    description: Data related to the rocketpool protocol
  - name: ETH.Store®
    description: Data related to the ETH.Store® metric
  - name: Validator deposits
    description: Data related to execution layer validator deposits
  - name: Blocks
    description: Data related to execution layer blocks
  - name: Gas
    description: Data related to gas prices
  - name: Address
    description: Data related to ethereum addresses
  - name: Network
    description: Network data
  - name: Misc
    description: Miscellaneous data
  - name: User
    description: User data
  - name: Machine Metrics
    description: Submit machine, beacon-node, and validator-client monitoring metrics
paths:
  /api/v1/rocketpool/validator/{indexOrPubkey}:
    get:
      tags:
        - Rocketpool
      summary: Get Rocket Pool validator metadata by index or pubkey
      description: >
        Retrieve Rocket Pool–specific metadata for one or more Ethereum
        consensus validators.


        You provide a comma-separated list of validator identifiers in the path
        parameter. The

        server resolves each identifier to a validator index and returns the
        corresponding

        Rocket Pool minipool and node data.


        Response shape:

        - If you request a single validator, the response data field is a single
        object.

        - If you request multiple validators, the data field is an array of
        objects in no
          guaranteed order.

        Use this endpoint to answer questions such as:

        - What is the current minipool status and node fee for a validator?

        - Has the node opted into the smoothing pool, and how much has been
        claimed or remains unclaimed?

        - What are the node’s RPL stake metrics (effective, min, max)?
      parameters:
        - name: indexOrPubkey
          in: path
          description: >
            Comma-separated list (no spaces) of validator identifiers to query.
            Each identifier may be either:

            - A validator index as a base-10 integer (for example, 652648)

            - A BLS public key as a 96-hex-character string with or without the
            0x prefix (case-insensitive)


            Limits and resolution behavior:

            - You can pass up to a server-enforced per-request limit. The
            default limit is 100.

            - Public keys that cannot be resolved to an existing validator index
            cause the request to fail with HTTP 400.

            - Duplicate identifiers are de-duplicated internally.
          required: true
          style: simple
          explode: false
          schema:
            $ref: '#/components/schemas/primitives.indicesOrPubkeys'
      responses:
        '200':
          description: Successful response with Rocket Pool validator data.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/types.ApiResponse'
                  - properties:
                      data:
                        $ref: >-
                          #/components/schemas/types.ApiRocketpoolValidatorResponse
        '400':
          description: >-
            The request is invalid. This occurs when the identifier list exceeds
            the allowed limit or contains values that cannot be parsed or
            resolved to validator indices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ApiErrorResponse'
components:
  schemas:
    primitives.indicesOrPubkeys:
      type: string
      description: >
        Comma-separated list (no spaces) of validator identifiers. Each
        identifier must be either:

        - A validator index as a base-10 integer (for example, 652648)

        - A BLS public key as a 96-hex-character string with or without the 0x
        prefix (case-insensitive)


        Resolution and limits:

        - The server resolves public keys to validator indices before querying
        data.

        - The total number of identifiers must not exceed the server-enforced
        limit (default 100).

        - Identifiers that cannot be parsed or resolved result in HTTP 400.
      example: 1,2,3
    types.ApiResponse:
      type: object
      description: Standard success envelope used by all API endpoints.
      properties:
        status:
          type: string
          description: >-
            HTTP-independent status of the API operation. For successful
            responses this is always "OK".
          enum:
            - OK
        data:
          description: Response payload specific to the endpoint.
          nullable: true
          x-omitempty: true
    types.ApiRocketpoolValidatorResponse:
      properties:
        claimed_smoothing_pool:
          type: integer
          description: >-
            Total ETH from the smoothing pool that the node has already claimed
            across all intervals, in wei.
          example: 2558507058679352300
        effective_rpl_stake:
          type: number
          description: >-
            Effective RPL stake for the node after applying protocol caps,
            expressed in RPL tokens.
          example: 0
        index:
          type: integer
          description: Consensus validator index that this entry refers to.
          example: 652648
        is_vacant:
          type: boolean
          description: >-
            Indicates that the minipool currently has no active validator
            assigned (vacant).
          example: false
        minipool_address:
          type: string
          description: >-
            Ethereum address of the Rocket Pool minipool contract associated
            with the validator.
          example: '0xc20eb9eca73be78a523aad5a4d9b70c797ff58a1'
        minipool_deposit_type:
          type: string
          description: >-
            Minipool deposit configuration. One of "Full", "Half", or
            "Variable".
          example: Variable
        minipool_node_fee:
          type: number
          description: >-
            Node commission rate for this minipool as a decimal fraction in the
            range [0, 1]. For example, 0.14 means 14%.
          example: 0.14
        minipool_status:
          type: string
          description: >-
            Current on-chain minipool status. Possible values include
            "Initialized", "Prelaunch", "Staking", "Withdrawable", and
            "Dissolved".
          example: Staking
        minipool_status_time:
          type: integer
          description: >-
            Unix timestamp (seconds) when the minipool entered the current
            status.
          example: 1684570331
        node_address:
          type: string
          description: >-
            Ethereum address of the Rocket Pool node operator that owns the
            minipool.
          example: '0xfff1f570f09c073b6621c032b6072847fe9d6fac'
        node_deposit_balance:
          type: integer
          description: >-
            Amount of ETH contributed by the node to the minipool deposit, in
            wei.
          example: 8000000000000000000
        node_deposit_credit:
          type: number
          description: >-
            Node’s available ETH deposit credit used to form or expand
            minipools, in wei.
          example: 0
        node_max_rpl_stake:
          type: number
          description: >-
            Maximum RPL stake permitted for the node under protocol rules, in
            RPL tokens.
          example: 0
        node_min_rpl_stake:
          type: number
          description: >-
            Minimum required RPL stake for the node to remain compliant, in RPL
            tokens.
          example: 0
        node_refund_balance:
          type: integer
          description: ETH refundable to the node from the minipool, in wei.
          example: 0
        node_rpl_stake:
          type: number
          description: Current RPL stake held by the node, in RPL tokens.
          example: 0
        node_timezone_location:
          type: string
          description: >-
            IANA time zone identifier configured for the node (for example,
            "Etc/UTC").
          example: Etc/UTC
        penalty_count:
          type: integer
          description: Number of penalties that have been recorded for this minipool.
          example: 0
        rpl_cumulative_rewards:
          type: integer
          description: >-
            Total RPL token rewards the node has already claimed across all
            intervals, in base units (10^18).
          example: 487854676781293300000
        smoothing_pool_opted_in:
          type: boolean
          description: >-
            Indicates whether the node is registered to receive smoothing pool
            distributions.
          example: false
        unclaimed_rpl_rewards:
          type: integer
          description: >-
            RPL token rewards accrued by the node that have not yet been
            claimed, in base units (10^18).
          example: 0
        unclaimed_smoothing_pool:
          type: integer
          description: >-
            ETH from the smoothing pool that is currently unclaimed by the node,
            in wei.
          example: 0
        user_deposit_balance:
          type: integer
          description: >-
            Amount of ETH contributed by rETH users to the minipool deposit, in
            wei.
          example: 24000000000000000000
        version:
          type: integer
          description: Minipool contract version.
          example: 3
    types.ApiErrorResponse:
      type: object
      description: Standard error envelope returned when a request fails.
      properties:
        status:
          type: string
          description: >-
            Human-readable error indicator and message. The value begins with
            "ERROR:" followed by details.
          example: 'ERROR: <Message>'
        data:
          type: string
          description: Optional additional context for the error. Null in most cases.
          nullable: true
          default: null
  securitySchemes:
    ApiKeyAuthQuery:
      type: apiKey
      in: query
      name: apikey
      description: ''
    ApiKeyAuthHeader:
      type: apiKey
      in: header
      name: apikey
      description: ''

````