Blockdaemon Polygon API

Polygon endpoints

Operations 8

POST /v1/polygon/{network}/bootstrapping-intents Post Bootstrapping Intent #
POST /v1/polygon/{network}/deactivation-intents Post Deactivation Intent #
GET /v1/polygon/{network}/deactivation-intents Lists Deactivation Intents #
PUT /v1/polygon/{network}/deactivation-intents Cancel Deactivation Intent #
POST /v1/polygon/{network}/rewards/restake-intents Post Rewards Restake Intent #
POST /v1/polygon/{network}/rewards/withdrawal-intents Post Rewards Withdrawal Intent #
POST /v1/polygon/{network}/stake-intents Post Stake Intent #
POST /v1/polygon/{network}/withdrawal-intents Post Withdrawal Intent #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-removeliquidity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-addliquidity-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swapaggregator-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-bridge-swap-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swapwithapproval-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-dex-swap-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-patch-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-target-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-variable-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-outputs-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-block-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-report-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-block-identifier-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-tx-output-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-key-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-health-information-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-authenticator-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-solana-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-near-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-withdrawal-intent-near-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-new-stake-intent-avalanche-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-deactivation-intents-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-ethereum-top-up-intent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-split-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-deactivate-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-withdraw-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-stake-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-stake-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-solana-withdraw-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-solana-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-yield-response-cosmos-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-validator-rewards-format1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-rewards-format1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-reward-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-decode-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-signed-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-compile-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-create-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-api-tx-decode-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-webhook-send-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/json-schema/blockdaemon-webhook-verification-response-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/blockdaemon:blockdaemon-polygon-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

blockdaemon-polygon-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Staking Polygon API
  description: 'The Blockdaemon Staking API simplifies and streamlines institutional cryptocurrency staking. The API allows developers to interact with blockchain networks and perform various staking-related operations, such as delegating and undelegating tokens, in a single, unified interface.


    With the Staking API, you can quickly and easily build and deploy applications that automate staking activities and increase efficiency in your blockchain operations.'
  contact:
    name: Blockdaemon
    email: info@blockdaemon.com
    url: https://blockdaemon.com
  x-logo:
    url: https://assets-global.website-files.com/633c5e06513fa35f3391a5f9/645d33beb6fa65f6cfb95eb8_BD%20Logo%20Stack%20-%20Purple.svg
    backgroundColor: '#fafafa'
    altText: Blockdaemon logo
servers:
- url: https://svc.blockdaemon.com/boss
security:
- ApiKeyAuth: []
tags:
- name: Polygon
  description: Polygon endpoints
paths:
  /v1/polygon/{network}/bootstrapping-intents:
    parameters:
    - $ref: '#/components/parameters/PolygonNetwork'
    post:
      summary: Post Bootstrapping Intent
      operationId: postPolygonBootstrappingIntent
      tags:
      - Polygon
      description: 'Creates a new account bootstrapping intent transaction.


        Returns an unsigned transaction that sets up the user’s wallet for delegation. It is required to sign and send this transaction only once, the very first time the user is going to delegate. If this step is not completed, any subsequent delegation transactions will fail.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewBootstrappingIntentPolygon'
      responses:
        '200':
          $ref: '#/components/responses/BootstrappingIntent'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
  /v1/polygon/{network}/deactivation-intents:
    parameters:
    - $ref: '#/components/parameters/PolygonNetwork'
    post:
      summary: Post Deactivation Intent
      operationId: postPolygonDeactivationIntent
      tags:
      - Polygon
      description: 'Creates a new unbond intent that opts out of the delegation program.

        The user is getting back both their stake and the earned reward. The reward is sent immediately, but the stake gets locked for the so-called “unbonding period” of 2–3 days (or 80 Polygon checkpoints). Once the period is over, the user should call GET Deactivation Intents and POST Withdrawal Intent to actually get their stake back.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewDeactivateIntentPolygon'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolygonDeactivationIntentResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
    get:
      parameters:
      - $ref: '#/components/parameters/WalletAddress'
      summary: Lists Deactivation Intents
      operationId: getPolygonDeactivationIntents
      tags:
      - Polygon
      description: 'Returns deactivation requests (only unclaimed stakes) for a **given wallet address**.


        Deactivation requests are stored in the blockchain and provide the user with an unbond nonce for each. Nonces are used to unstake (withdraw) your tokens with Post Withdrawal Intent.'
      responses:
        '200':
          description: Deactivation intents listed
          content:
            application/json:
              schema:
                type: object
                description: Deactivation intents
                required:
                - protocol
                - network
                - customer_id
                properties:
                  protocol:
                    $ref: '#/components/schemas/PolygonProtocol'
                  network:
                    $ref: '#/components/schemas/PolygonNetwork'
                  polygon:
                    $ref: '#/components/schemas/DeactivationIntentsPolygon'
                  customer_id:
                    $ref: '#/components/schemas/CustomerId'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
    put:
      summary: Cancel Deactivation Intent
      operationId: cancelPolygonDeactivationIntent
      tags:
      - Polygon
      description: Cancels a previously issued deactivation intent by specifying its ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelIntent'
      responses:
        '200':
          $ref: '#/components/responses/Cancelled'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
  /v1/polygon/{network}/rewards/restake-intents:
    parameters:
    - $ref: '#/components/parameters/PolygonNetwork'
    post:
      summary: Post Rewards Restake Intent
      operationId: postPolygonRewardsRestakeIntent
      tags:
      - Polygon
      description: Creates a new restake intent that restakes token rewards to the validator and increases the delegation stake.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewRewardsRestakeIntentPolygon'
      responses:
        '200':
          $ref: '#/components/responses/RewardsRestakeIntent'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
  /v1/polygon/{network}/rewards/withdrawal-intents:
    parameters:
    - $ref: '#/components/parameters/PolygonNetwork'
    post:
      summary: Post Rewards Withdrawal Intent
      operationId: postPolygonRewardsWithdrawalIntent
      tags:
      - Polygon
      description: Creates a new withdrawal intent that withdraws only the accumulated rewards. Staked tokens stay untouched and keep earning rewards.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              x-go-type: interface{}
              oneOf:
              - $ref: '#/components/schemas/NewRewardsWithdrawIntentPolygon'
      responses:
        '200':
          $ref: '#/components/responses/RewardsWithdrawIntentPolygon'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
  /v1/polygon/{network}/stake-intents:
    parameters:
    - $ref: '#/components/parameters/PolygonNetwork'
    - $ref: '#/components/parameters/IdempotencyKey'
    post:
      summary: Post Stake Intent
      operationId: postPolygonStakeIntent
      tags:
      - Polygon
      description: Returns an unsigned transaction for delegation. Before using this endpoint, the user must sign and submit the unsigned transaction returned by Post Bootstrapping Intent.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewStakeIntentPolygon'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolygonStakeIntentResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/NoValidatorsError'
      security:
      - ApiKeyAuth: []
  /v1/polygon/{network}/withdrawal-intents:
    post:
      parameters:
      - $ref: '#/components/parameters/PolygonNetwork'
      summary: Post Withdrawal Intent
      operationId: postPolygonWithdrawalIntent
      tags:
      - Polygon
      description: 'Creates a new unstake intent to fully withdraw a stake. It should be used only after the unbonding period has passed. If no unbond nonce is specified, transactions for all available unstakes will be returned.

        Nonces are returned by List Deactivation Intents.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewWithdrawIntentPolygon'
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolygonWithdrawalIntentResponse'
        '400':
          $ref: '#/components/responses/InvalidRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
      - ApiKeyAuth: []
components:
  schemas:
    PolygonTokenType:
      type: string
      description: Polygon token type
      enum:
      - MATIC
      - POL
      default: POL
    BootstrappingIntentPolygon:
      type: object
      description: Polygon Bootstrapping Intent
      required:
      - to
      - unsigned_transaction
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    PolygonDeactivationIntentResponse:
      allOf:
      - $ref: '#/components/schemas/CommonDeactivationResponse'
      - type: object
        description: Response to a new deactivation intent request.
        required:
        - protocol
        - network
        - polygon
        properties:
          protocol:
            $ref: '#/components/schemas/PolygonProtocol'
          network:
            $ref: '#/components/schemas/PolygonNetwork'
          polygon:
            $ref: '#/components/schemas/DeactivateIntentPolygon'
    CancelIntent:
      type: object
      description: Intent id.
      required:
      - intent_id
      properties:
        intent_id:
          type: string
          format: uuid
          description: Unique idenifier for deactivate intent.
          example: 4ba06e89-8c29-483e-ac36-318de5aa7364
    Error:
      type: object
      description: Error response envelope
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
          description: Error code
          example: 500
        message:
          type: string
          description: Error Message
          example: A descriptive error message
    WithdrawIntentId:
      type: string
      format: uuid
      description: Unique idenifier for a withdrawal intent.
      example: 4ba06e89-8c29-483e-ac36-318de5aa7364
    BootstrappingIntent:
      type: object
      required:
      - protocol
      - network
      - customer_id
      properties:
        protocol:
          $ref: '#/components/schemas/Protocol'
          example: polygon
        network:
          $ref: '#/components/schemas/Network'
        polygon:
          $ref: '#/components/schemas/BootstrappingIntentPolygon'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
    DeactivateIntentPolygon:
      type: object
      description: Polygon Deactivate Intent
      required:
      - to
      - unsigned_transaction
      - amount
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        amount:
          $ref: '#/components/schemas/Wei'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    PlanId:
      type: string
      description: 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.
      example: plan_Wgx98Rbi8nQuL9ddn3mTk1
    PolygonProtocol:
      type: string
      description: Polygon protocol
      enum:
      - polygon
    UnbondNonces:
      type: array
      items:
        $ref: '#/components/schemas/Nonce'
    NewRewardsRestakeIntentPolygon:
      type: object
      description: Request object to create a new Rewards Restake Intent for Polygon
      required:
      - wallet_address
      properties:
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
        validator_share_address:
          $ref: '#/components/schemas/EthereumAddress'
        plan_id:
          $ref: '#/components/schemas/PlanId'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    NewRewardsWithdrawIntentPolygon:
      type: object
      description: Request object to create a new rewards withdrawal intent for Polygon.
      required:
      - wallet_address
      properties:
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
        validator_share_address:
          $ref: '#/components/schemas/EthereumAddress'
        plan_id:
          $ref: '#/components/schemas/PlanId'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    Network:
      type: string
      description: Protocol-specific network.
      enum:
      - mainnet
      - localnet
      - goerli
      - prater
      - hoodi
      - testnet
      - devnet
      - kusama
      - westend
      - preprod
      - fuji
      - local
    PolygonNetwork:
      type: string
      description: Polygon network
      enum:
      - mainnet
      - goerli
      - prater
    NewWithdrawIntentPolygon:
      type: object
      description: Request object to create a new withdrawal intent for Polygon.
      required:
      - wallet_address
      properties:
        unbond_nonces:
          $ref: '#/components/schemas/UnbondNonces'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
          description: An array of unbond nonces.
        validator_share_address:
          $ref: '#/components/schemas/EthereumAddress'
        plan_id:
          $ref: '#/components/schemas/PlanId'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    WithdrawIntentPolygon:
      type: object
      required:
      - to
      - unsigned_transaction
      - unbond_nonce
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        unbond_nonce:
          $ref: '#/components/schemas/Nonce'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    CommonWithdrawalResponse:
      type: object
      required:
      - withdraw_intent_id
      - customer_id
      properties:
        withdraw_intent_id:
          $ref: '#/components/schemas/WithdrawIntentId'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
    NewStakeIntentPolygon:
      type: object
      description: Request object to create a new Stake Intent for Polygon
      required:
      - amount
      - wallet_address
      properties:
        amount:
          $ref: '#/components/schemas/Wei'
          description: The amount of tokens (in Wei) you want to stake.
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
        validator_share_address:
          $ref: '#/components/schemas/EthereumAddress'
        plan_id:
          $ref: '#/components/schemas/PlanId'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    StakeIntentId:
      type: string
      format: base58
      description: Unique idenifier for a group of stakes.
      example: stake_intent_Wgx98Rbi8nQuL9ddn3mTk1
    PolygonStakeIntentResponse:
      allOf:
      - $ref: '#/components/schemas/CommonStakeIntentResponse'
      - type: object
        required:
        - protocol
        - network
        properties:
          protocol:
            $ref: '#/components/schemas/PolygonProtocol'
          network:
            $ref: '#/components/schemas/PolygonNetwork'
          polygon:
            $ref: '#/components/schemas/StakeIntentPolygon'
    CommonDeactivationResponse:
      type: object
      required:
      - deactivate_intent_id
      - customer_id
      properties:
        deactivate_intent_id:
          $ref: '#/components/schemas/DeactivateIntentId'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
    StakeIntentPolygon:
      type: object
      description: Polygon Stake Intent
      required:
      - to
      - unsigned_transaction
      - amount
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        amount:
          $ref: '#/components/schemas/Wei'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    RewardsRestakeIntent:
      type: object
      required:
      - protocol
      - network
      - customer_id
      properties:
        protocol:
          $ref: '#/components/schemas/Protocol'
        network:
          $ref: '#/components/schemas/Network'
        polygon:
          $ref: '#/components/schemas/RewardsRestakeIntentPolygon'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
    DeactivationIntentsPolygon:
      type: object
      required:
      - items
      - wallet_address
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Unbond'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    PolygonWithdrawalIntentResponse:
      allOf:
      - $ref: '#/components/schemas/CommonWithdrawalResponse'
      - type: object
        description: Result of a new withdrawal intent request.
        required:
        - protocol
        - network
        properties:
          protocol:
            $ref: '#/components/schemas/PolygonProtocol'
          network:
            $ref: '#/components/schemas/PolygonNetwork'
          polygon:
            type: array
            items:
              $ref: '#/components/schemas/WithdrawIntentPolygon'
    CustomerId:
      type: string
      description: Unique identifier for a customer
      example: SatoshiNakamoto-xUYJbPw9hw
      minimum: 1
    RewardsWithdrawIntentPolygon:
      type: object
      required:
      - protocol
      - network
      - polygon
      - customer_id
      properties:
        protocol:
          $ref: '#/components/schemas/PolygonProtocol'
        network:
          $ref: '#/components/schemas/PolygonNetwork'
        polygon:
          $ref: '#/components/schemas/PolygonRewardsWithdrawIntent'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
    NewDeactivateIntentPolygon:
      type: object
      description: Request object to create a new deactivation intent for Polygon.
      required:
      - amount
      - wallet_address
      properties:
        amount:
          $ref: '#/components/schemas/Wei'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
        validator_share_address:
          $ref: '#/components/schemas/EthereumAddress'
        plan_id:
          $ref: '#/components/schemas/PlanId'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    Wei:
      type: string
      description: Denomination of the cryptocurrency Polygon.
      pattern: ^[1-9]\d+$
      example: '100'
    Protocol:
      type: string
      description: Blockchain protocol.
      enum:
      - ethereum
      - polkadot
      - solana
      - cosmos
      - polygon
      - near
      - cardano
      - avalanche
      - binance
    UnsignedTransaction:
      type: string
      format: base64
      description: Generated unsigned transaction smart contract call data.
      example: '0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187

        '
    CommonStakeIntentResponse:
      type: object
      required:
      - stake_intent_id
      - customer_id
      properties:
        stake_intent_id:
          $ref: '#/components/schemas/StakeIntentId'
        customer_id:
          $ref: '#/components/schemas/CustomerId'
        plan_id:
          $ref: '#/components/schemas/PlanId'
    PolygonRewardsWithdrawIntent:
      type: object
      required:
      - to
      - unsigned_transaction
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    RewardsRestakeIntentPolygon:
      type: object
      required:
      - to
      - unsigned_transaction
      - wallet_address
      properties:
        to:
          $ref: '#/components/schemas/EthereumAddress'
        unsigned_transaction:
          $ref: '#/components/schemas/UnsignedTransaction'
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
    NewBootstrappingIntentPolygon:
      type: object
      description: Request object to create a new Bootstrapping Intent for Polygon.
      required:
      - wallet_address
      properties:
        wallet_address:
          $ref: '#/components/schemas/EthereumAddress'
        token_type:
          $ref: '#/components/schemas/PolygonTokenType'
    Unbond:
      type: object
      description: Unbond information
      required:
      - nonce
      - amount
      - withdraw_epoch
      properties:
        nonce:
          $ref: '#/components/schemas/Nonce'
        amount:
          $ref: '#/components/schemas/Wei'
        withdraw_epoch:
          type: integer
    DeactivateIntentId:
      type: string
      format: uuid
      description: Unique idenifier for deactivate intent.
      example: 4ba06e89-8c29-483e-ac36-318de5aa7364
    Nonce:
      type: integer
      description: Number for one use only
      example: 1
    UnauthorizedError:
      type: object
      description: Error response envelope
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
          description: Error code
          example: 401
        message:
          type: string
          description: Error Message
          example: A human-readable diagnostic message detailing any authorization failure
    EthereumAddress:
      type: string
      description: Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).
      format: hex
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0x00000000219ab540356cBB839Cbe05303d7705Fa'
  parameters:
    IdempotencyKey:
      in: header
      name: Idempotency-Key
      description: the unique idempotency key for this request
      example: f1c971b4-7114-4c4b-8ad2-a6f9e33e2cd0
      schema:
        type: string
        format: uuid
      required: false
    PolygonNetwork:
      name: network
      in: path
      description: Polygon network
      required: true
      schema:
        $ref: '#/components/schemas/PolygonNetwork'
    WalletAddress:
      name: wallet_address
      in: query
      required: false
      description: User wallet address.
      schema:
        $ref: '#/components/schemas/EthereumAddress'
  responses:
    BootstrappingIntent:
      description: Bootstrapping intent created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BootstrappingIntent'
    RewardsRestakeIntent:
      description: Rewards restake intent created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RewardsRestakeIntent'
    RewardsWithdrawIntentPolygon:
      description: Rewards withdrawal intent created
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RewardsWithdrawIntentPolygon'
    InvalidRequest:
      description: Invalid request.
      content:
        application/json:
          schema:
            type: object
            description: Error response envelope
            required:
            - code
            - message
            properties:
              code:
                type: integer
                format: int32
                description: Error code
                example: 400
              message:
                type: string
                description: Error Message
                example: Detailed human-readable diagnostic message regarding any invalid request parameters
    InternalServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Cancelled:
      description: Cancellation Successful
      content:
        application/json:
          schema:
            type: object
            description: Success Response
            required:
            - code
            - message
            properties:
              code:
                type: integer
                format: int32
                description: Status Code
                example: 201
              message:
                type: string
                description: Confirmation Message
                example: Canceled
    Unauthorized:
      description: Header 'X-API-Key' missing.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    NoValidatorsError:
      description: Insufficient validators available to process Stake Intent request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      description: 'When signing up for a staking account, you are provided with an API key.


        To authenticate a Staking API request, pass your API key in the `X-API-Key` header.'
      type: apiKey
      in: header
      name: X-API-KEY
x-provenance:
  method: searched
  source: https://docs.blockdaemon.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://docs.blockdaemon.com/reference/activeexitingqueueprogress.md
  - https://docs.blockdaemon.com/reference/cancelneardeactivationintent.md
  - https://docs.blockdaemon.com/reference/cancelpolygondeactivationintent.md
  - https://docs.blockdaemon.com/reference/cancelsolanadeactivationintent.md
  - https://docs.blockdaemon.com/reference/cancelsolanawithdrawalintent.md
  - https://docs.blockdaemon.com/reference/exitethereumvalidator.md
  - https://docs.blockdaemon.com/reference/exitethereumvalidators.md
  - https://docs.blockdaemon.com/reference/generateethereumlaunchpaddeposit.md
  - https://docs.blockdaemon.com/reference/generatesignedvoluntaryexit.md
  - https://docs.blockdaemon.com/reference/getbinancedeactivatableamount.md
  - https://docs.blockdaemon.com/reference/getbinancedeactivationintents.md
  - https://docs.blockdaemon.com/reference/getbinancerestakeintents.md
  - https://docs.blockdaemon.com/reference/getcardanodeactivationintents.md
  - https://docs.blockdaemon.com/reference/getcardanorewardswithdrawalintents.md
  - https://docs.blockdaemon.com/reference/getcosmosdeactivatableamount.md
  - https://docs.blockdaemon.com/reference/getcosmosdeactivationintents.md
  - https://docs.blockdaemon.com/reference/getcosmosrestakeintents.md
  - https://docs.blockdaemon.com/reference/getcosmoswithdrawablerewardsamount.md
  - https://docs.blockdaemon.com/reference/getethwithdrawableamount.md
  - https://docs.blockdaemon.com/reference/getneardeactivatableamount.md
  - https://docs.blockdaemon.com/reference/getneardeactivationintents.md
  - https://docs.blockdaemon.com/reference/getnearwithdrawableamount.md
  - https://docs.blockdaemon.com/reference/getnearwithdrawalintents.md
  - https://docs.blockdaemon.com/reference/getpolygondeactivationintents.md
  - https://docs.blockdaemon.com/reference/getsolanadeactivatableamount.md
  - https://docs.blockdaemon.com/reference/getsolanadeactivationintents.md
  - https://docs.blockdaemon.com/reference/getsolanawithdrawableamount.md
  - https://docs.blockdaemon.com/reference/getsolanawithdrawalintents.md
  - https://docs.blockdaemon.com/reference/getstakeaccountssolana.md
  - https://docs.blockdaemon.com/reference/listcustomerplans.md
  - https://docs.blockdaemon.com/reference/listethereumexits.md
  - https://docs.blockdaemon.com/reference/liststakeintents.md
  - https://docs.blockdaemon.com/reference/pendingqueuedprogress.md
  - https://docs.blockdaemon.com/reference/postavaxstakeintent.md
  - https://docs.blockdaemon.com/reference/postbinancedeactivationintent.md
  - https://docs.blockdaemon.com/reference/postbinancerestakeintent.md
  - https://docs.blockdaemon.com/reference/postbinancestakeintent.md
  - https://docs.blockdaemon.com/reference/postcardanodeactivationintent.md
  - https://docs.blockdaemon.com/reference/postcardanorewardswithdrawalintent.md
  - https://docs.blockdaemon.com/reference/postcardanostakeintent.md
  - https://docs.blockdaemon.com/reference/postcosmosdeactivationintent.md
  - https://docs.blockdaemon.com/reference/postcosmosrestakeintent.md
  - https://docs.blockdaemon.com/reference/postcosmosrewardswithdrawalintent.md
  - https://docs.blockdaemon.com/reference/postcosmosstakeintent.md
  - https://docs.blockdaemon.com/reference/postethereumcompoundingintent.md
  - https://docs.blockdaemon.com/reference/postethereumstakeintent.md
  - https://docs.blockdaemon.com/reference/postethereumtopupintent.md
  - https://docs.blockdaemon.com/reference/postethereumwithdrawalintentexit.md
  - https://docs.blockdaemon.com/reference/postethereumwithdrawalintentpartial.md
  - https://docs.blockdaemon.com/reference/postneardeactivationintent.md
  - https://docs.blockdaemon.com/reference/postnearstakeintent.md
  - https://docs.blockdaemon.com/reference/postnearwithdrawalintent.md
  - https://docs.blockdaemon.com/reference/postpolygonbootstrappingintent.md
  - https://docs.blockdaemon.com/reference/postpolygondeactivationintent.md
  - https://docs.blockdaemon.com/reference/postpolygonrewardsrestakeintent.md
  - https://docs.blockdaemon.com/reference/postpolygonrewardswithdrawalintent.md
  - https://docs.blockdaemon.com/reference/postpolygonstakeintent.md
  - https://docs.blockdaemon.com/reference/postpolygonwithdrawalintent.md


# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/blockdaemon/refs/heads/main/openapi/blockdaemon-polygon-api-openapi.yml