---
updatedAt: 2026-05-20T06:32:40.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Post Stake Intent

Returns an unsigned transaction that can be used to delegate your tokens to the validator specified in the request.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Staking 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.\n\nWith 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"
    }
  },
  "x-readme": {
    "explorer-enabled": false
  },
  "servers": [
    {
      "url": "https://svc.blockdaemon.com/boss"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "description": "When signing up for a staking account, you are provided with an API key.\n\nTo authenticate a Staking API request, pass your API key in the `X-API-Key` header.",
        "type": "apiKey",
        "in": "header",
        "name": "X-API-KEY"
      }
    },
    "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
      },
      "SolanaNetwork": {
        "name": "network",
        "in": "path",
        "description": "Solana network",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/SolanaNetwork"
        }
      }
    },
    "responses": {
      "InternalServerError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "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"
                }
              }
            }
          }
        }
      },
      "NoValidatorsError": {
        "description": "Insufficient validators available to process Stake Intent request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Header 'X-API-Key' missing.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedError"
            }
          }
        }
      }
    },
    "schemas": {
      "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"
          }
        }
      },
      "CustomerId": {
        "type": "string",
        "description": "Unique identifier for a customer",
        "example": "SatoshiNakamoto-xUYJbPw9hw",
        "minimum": 1
      },
      "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"
          }
        }
      },
      "Lamport": {
        "type": "string",
        "description": "Denomination of the cryptocurrency Solana.",
        "pattern": "^[1-9]\\d+$",
        "example": "100"
      },
      "NewStakeIntentSolana": {
        "type": "object",
        "description": "Individual solana stake",
        "required": [
          "amount",
          "delegator_address"
        ],
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Lamport",
            "description": "The amount of funds you want to stake (in Lamports)"
          },
          "validator_address": {
            "$ref": "#/components/schemas/SolanaPublicKey",
            "description": "The public address of the validator node that you intend to delegate your tokens to"
          },
          "delegator_address": {
            "$ref": "#/components/schemas/SolanaPublicKey",
            "description": "The address sending the funds to be staked"
          },
          "staking_authority": {
            "$ref": "#/components/schemas/SolanaPublicKey",
            "description": "The stake authority can be considered the manager of the stake account. It is used to sign transactions for the following operations but doesn’t have control over the funds:\n* Delegating stake\n* Deactivating the stake delegation\n* Splitting the stake account (creating a new stake account with a portion of the funds)\n* Merging two stake accounts into one\n* Setting a new stake authority\n* **Note:** When not specified, this will default to the delegator_address"
          },
          "withdrawal_authority": {
            "$ref": "#/components/schemas/SolanaPublicKey",
            "description": "The withdraw authority is used to sign transactions for the following operations:\n* Withdrawing an un-delegated stake into a wallet address\n* Setting a new withdrawal authority\n* Setting a new stake authority (thus, the withdrawal authority is the ultimate owner of the account)\n* **Note:** When not specified, this will default to the delegator_address"
          },
          "plan_id": {
            "$ref": "#/components/schemas/PlanId"
          }
        }
      },
      "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"
      },
      "PublicKey": {
        "type": "string",
        "description": "A BLS public Key.",
        "format": "base64",
        "example": "0xa1d1ad0714035353258038e964ae9675dc0252ee22cea896825c01458e1807bfad2f9969338798548d9858a571f7425c"
      },
      "SolanaNetwork": {
        "type": "string",
        "description": "Solana network",
        "enum": [
          "mainnet",
          "testnet"
        ]
      },
      "SolanaPublicKey": {
        "type": "string",
        "description": "Public Key of an asymmetric key-pair.",
        "format": "base58",
        "pattern": "^[1-9A-HJ-NP-Za-km-z]{44}$",
        "example": "5xot9PVkphiX2adznghwrAuxGs2zeWisNSxMW6hU6Hkj"
      },
      "StakeId": {
        "description": "Unique stake identifier.",
        "type": "string",
        "format": "base58",
        "example": "stake_Wgx98Rbi8nQuL9ddn3mTk1"
      },
      "StakeIntentId": {
        "type": "string",
        "format": "base58",
        "description": "Unique idenifier for a group of stakes.",
        "example": "stake_intent_Wgx98Rbi8nQuL9ddn3mTk1"
      },
      "StakeIntentSolana": {
        "type": "object",
        "description": "Solana Stake Intent response",
        "required": [
          "stake_id",
          "amount",
          "validator_public_key",
          "withdrawal_authority",
          "staking_authority",
          "stake_account_public_key",
          "unsigned_transaction",
          "expiration_time"
        ],
        "properties": {
          "stake_id": {
            "$ref": "#/components/schemas/StakeId"
          },
          "amount": {
            "$ref": "#/components/schemas/Lamport"
          },
          "validator_public_key": {
            "$ref": "#/components/schemas/PublicKey"
          },
          "staking_authority": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          },
          "withdrawal_authority": {
            "$ref": "#/components/schemas/PublicKey"
          },
          "stake_account_public_key": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          },
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransaction"
          },
          "expiration_time": {
            "$ref": "#/components/schemas/ExpirationTime"
          }
        }
      },
      "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"
          }
        }
      },
      "UnsignedTransaction": {
        "type": "string",
        "format": "base64",
        "description": "Generated unsigned transaction smart contract call data.",
        "example": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n"
      },
      "SolanaProtocol": {
        "type": "string",
        "description": "Solana protocol",
        "enum": [
          "solana"
        ]
      },
      "SolanaStakeIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonStakeIntentResponse"
          },
          {
            "type": "object",
            "required": [
              "protocol",
              "network"
            ],
            "properties": {
              "protocol": {
                "$ref": "#/components/schemas/SolanaProtocol"
              },
              "network": {
                "$ref": "#/components/schemas/SolanaNetwork"
              },
              "solana": {
                "$ref": "#/components/schemas/StakeIntentSolana"
              }
            }
          }
        ]
      },
      "ExpirationTime": {
        "type": "integer",
        "description": "Transaction expiration time",
        "format": "int64",
        "example": 1689939023
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/solana/{network}/stake-intents": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SolanaNetwork"
        },
        {
          "$ref": "#/components/parameters/IdempotencyKey"
        }
      ],
      "post": {
        "summary": "Post Stake Intent",
        "operationId": "postSolanaStakeIntent",
        "tags": [
          "Solana"
        ],
        "description": "Returns an unsigned transaction that can be used to delegate your tokens to the validator specified in the request.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStakeIntentSolana"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SolanaStakeIntentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/NoValidatorsError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Solana",
      "description": "Solana endpoints"
    }
  ]
}
```