---
title: "List of customer's staking plans"
method: GET
path: "/v1/plans"
tags: ["General"]
---

# List of customer's staking plans

`GET /v1/plans`

This endpoint allows you to get a list of your staking plans.

Staking plans are created by Blockdaemon on your behalf. They are a means to deploy white-label validators or get access to public Blockdaemon validators (depending on the protocol being used in the staking API).

If you do not yet have a staking plan, please [contact Blockdaemon sales](https://blockdaemon.com/get-in-touch/) to get started with our industry-leading staking API.

## Query parameters

- `mev_enabled` boolean
- `protocols` Protocol[]
- `networks` Network[]
- `providers` Provider[]
  - unknown
- `regions` Region[]
- `page` integer
- `per_page` integer

## Headers

- `X-Client-ID` string, required

## Response `200`

Successful operation

- object
  - `pagination` Pagination, required
    - `prev_page_token` string
    - `next_page_token` string
  - `plans` Plan[], required
    - `id` string, required — This feature enables you to stake to validators from the specified plan(s). When no plan id is specified, validators across all plans that match the API route will be available for staking. If it is a shared plan, you can to stake to validators on a shared node from the specified plan.
    - `customer_id` string, required — Unique identifier for a customer
    - `protocol` 'ethereum' | 'polkadot' | 'solana' | 'cosmos' | 'polygon' | 'near' | 'cardano' | 'avalanche' | 'binance', required — Blockchain protocol.
    - `network` 'mainnet' | 'holesky' | 'hoodi', required — Network
    - `provider` unknown
    - `region` string — cloud provider's zone code
    - `minimum` integer — minimum number of validators to be available. required for white label plans
    - `config` union, required
      - PlanEthereumConfig — Ethereum staking plan config
        - `suggested_fee_recipient` string — the suggested fee recipient address
        - `mev` Mev
          - `id` string — ID of the MEV fee recipient. optional
          - `enabled` boolean
          - `relays` Relay[] — List of Relay urls
        - `inventory_type` 'static' | 'dynamic' | 'remote_signer', required — Indicates if the quantity of validators for the staking plan is static or dynamic. Static is a once off deployment of a specified quantity of validators. Dynamic is where an initial quantity of validators is deployed with a threshold of available validators also configured. If the number of available validators within the validator inventory drops below the threshold (by being reserved as part of a stake intents API call) then the dynamic plan will automatically deploy the required infrastructure to bring the number of available validators above the threshold.
        - `execution_client` 'geth' | 'besu' | 'nethermind' — The execution client to use on the node
        - `consensus_client` 'lighthouse' | 'nimbus' | 'prysm' | 'teku' — The consensus client to use on the node
        - `remote_signer` RemoteSigner
          - `public_keys` PublicKey[]
          - `url` string
      - PlanSolanaConfig — Solana staking plan config
        - `validator_address` object, required
          - `mainnet` string, base58, required — Public Key of an asymmetric key-pair.
          - `testnet` string, base58, required — Public Key of an asymmetric key-pair.
      - PlanPolygonConfig — Polygon staking plan config
        - `validator_share_address` object, required
          - `mainnet` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
          - `testnet` string, hex, required — Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
      - PlanCardanoConfig — Cardano staking plan config
        - `stake_pool_id` object, required
          - `mainnet` string, bech32, required — bech32 encoded pool id.
          - `preprod` string, bech32, required — bech32 encoded pool id.
      - PlanAvalancheConfig — Avalanche staking plan config
        - `validator_address` object, required
          - `mainnet` string, required — Avalanche validator node address
          - `fuji` string, required — Avalanche validator node address
      - PlanCosmosConfig — Cosmos staking plan config
        - `validator_address` object, required
          - `mainnet` string, bech32, required — Public Key of an asymmetric key-pair.
          - `testnet` string, bech32, required — Public Key of an asymmetric key-pair.
      - PlanBinanceConfig — Binance staking plan config
        - `validator_address` object, required
          - `mainnet` string, bech32, required — Binance beacon chain validator address.
          - `testnet` string, bech32, required — Binance beacon chain validator address.
    - `total_pending` integer — total number of pending validators in a staking plan
    - `total_available` integer — total number of available validators in a staking plan
    - `total_active` integer — total number of active validators in a staking plan
    - `staking_plan_type` 'white_label' | 'public', required — Indicates if the staking plan requires a Blockdaemon validator launch or it is associated to a public validator.
    - `title` string, required — Plan title for display purposes
    - `total_reserved` integer — total number of reserved validators in a staking plan
    - `sync_status` boolean — Indicates node's sync status
    - `supported_withdrawal_types` WithdrawalType[] — List of supported Withdrawal Types

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.dev/blockdaemon/apis/staking-api.md) · [All operations](https://skmtc.dev/blockdaemon/apis/staking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/blockdaemon/staking-api/revisions/f94e296a08a3/schema)
