> ## 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.

# Validators by withdrawal credentials or address

> Retrieve validators whose withdrawal credentials match the provided value, or whose credentials correspond to the provided execution-layer address. You can specify either a 32-byte withdrawal credentials value or a 0x-prefixed Ethereum address. When you provide an address, the service derives the corresponding withdrawal credentials (prefix 0x01) and returns validators whose credentials equal that value.
ENS names are accepted for the address form when they resolve to a 0x-prefixed address at request time. The lookup is case-insensitive and accepts inputs with or without the 0x prefix.



## OpenAPI

````yaml /api/v1/bundled.yaml get /api/v1/validator/withdrawalCredentials/{withdrawalCredentialsOrEth1address}
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/validator/withdrawalCredentials/{withdrawalCredentialsOrEth1address}:
    get:
      tags:
        - Validators
      summary: Validators by withdrawal credentials or address
      description: >-
        Retrieve validators whose withdrawal credentials match the provided
        value, or whose credentials correspond to the provided execution-layer
        address. You can specify either a 32-byte withdrawal credentials value
        or a 0x-prefixed Ethereum address. When you provide an address, the
        service derives the corresponding withdrawal credentials (prefix 0x01)
        and returns validators whose credentials equal that value.

        ENS names are accepted for the address form when they resolve to a
        0x-prefixed address at request time. The lookup is case-insensitive and
        accepts inputs with or without the 0x prefix.
      operationId: getValidatorsByWithdrawalCredentials
      parameters:
        - name: withdrawalCredentialsOrEth1address
          in: path
          description: >-
            Withdrawal credentials (32 bytes; 0x-prefixed hex) or an
            execution-layer address (0x-prefixed, 20-byte hex). ENS names are
            accepted for the address form.
          required: true
          style: simple
          explode: false
          schema:
            oneOf:
              - type: string
                description: >-
                  Withdrawal credentials (32 bytes; 0x-prefixed hex with 64 hex
                  characters).
                pattern: ^0x[a-fA-F0-9]{64}$
                example: >-
                  0x01000000000000000000000026e8ce0d6c1424566ff8d584d1409b9fe651f27d
              - $ref: '#/components/schemas/primitives.EthAddress'
        - name: limit
          in: query
          description: >-
            Maximum number of validators to return. Defaults to 10. Allowed
            range is 1 to 200 for standard users; higher limits may be available
            to premium accounts.
          required: false
          style: form
          explode: true
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 10
            example: 100
        - name: offset
          in: query
          description: >-
            Number of items to skip from the start of the result set. Use 0 for
            the first page.
          required: false
          style: form
          explode: true
          schema:
            type: integer
            minimum: 0
            example: 0
            default: 0
      responses:
        '200':
          description: >-
            Matching validators were found. The `data` array contains one entry
            per validator whose withdrawal credentials equal the derived or
            provided value.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/types.ApiResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: >-
                            #/components/schemas/types.ApiWithdrawalCredentialsResponse
        '400':
          description: >-
            The request is invalid (for example, malformed credentials/address
            or database error).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ApiErrorResponse'
              examples:
                invalidParam:
                  summary: Invalid withdrawal credentials or address
                  value:
                    status: >-
                      ERROR: invalid withdrawal credentials or eth1 address
                      provided
                    data: null
                dbError:
                  summary: Database retrieval error
                  value:
                    status: 'ERROR: could not retrieve db results'
                    data: null
        '500':
          description: An unexpected server error occurred while processing your request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/types.ApiErrorResponse'
              examples:
                serverError:
                  summary: Internal error
                  value:
                    status: 'ERROR: internal server error'
                    data: null
components:
  schemas:
    primitives.EthAddress:
      type: string
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0xdAC17F958D2ee523a2206206994597C13D831ec7'
    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.ApiWithdrawalCredentialsResponse:
      type: object
      description: >-
        Mapping of a validator’s public key to its index for a given withdrawal
        credentials lookup.
      properties:
        publickey:
          type: string
          description: >-
            BLS12-381 validator public key (48 bytes; 0x-prefixed hex with 96
            hex characters).
          example: >-
            0x91cf1aeece0d14910c88f54edcfc988399db8ffa846f08d1c2febe05680614818b3b8c7d772c4e4ca983c74b453da03a
        validatorindex:
          type: integer
          description: Validator index (>= 0).
          minimum: 0
          example: 1151320
    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: ''

````