---
updatedAt: 2026-05-20T06:32:43.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 Withdrawal Intent

This endpoint is used to request withdrawal transactions that will be executed against available deactivated accounts. If you request more funds than are currently unlocked, the API will return an error indicating the maximum possible withdrawal.

You will receive at least one unsigned transaction (potentially multiple) that needs to be signed in order to complete the withdrawal.

# 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": {
      "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"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Header 'X-API-Key' missing.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedError"
            }
          }
        }
      }
    },
    "schemas": {
      "CommonWithdrawalResponse": {
        "type": "object",
        "required": [
          "withdraw_intent_id",
          "customer_id"
        ],
        "properties": {
          "withdraw_intent_id": {
            "$ref": "#/components/schemas/WithdrawIntentId"
          },
          "customer_id": {
            "$ref": "#/components/schemas/CustomerId"
          }
        }
      },
      "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"
      },
      "NewWithdrawIntentSolana": {
        "type": "object",
        "description": "Request object to create a new withdrawal intent for Solana.",
        "required": [
          "amount",
          "withdrawal_address"
        ],
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Lamport",
            "description": "The amount of funds you want to withdraw (in Lamports). If the value is 0 or unspecified it will be set to current balance."
          },
          "withdrawal_address": {
            "$ref": "#/components/schemas/SolanaPublicKey",
            "description": "The receiving address – i.e. where the withdrawn funds should go."
          },
          "delegator_address": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          },
          "withdrawal_authority": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          }
        }
      },
      "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"
      },
      "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"
      },
      "WithdrawalIntentSolana": {
        "type": "object",
        "required": [
          "withdraws",
          "total_withdraw_amount"
        ],
        "properties": {
          "withdraws": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WithdrawSolana"
            }
          },
          "total_withdraw_amount": {
            "$ref": "#/components/schemas/Lamport"
          }
        }
      },
      "WithdrawSolana": {
        "type": "object",
        "description": "Result of the withdraw transaction request",
        "required": [
          "unsigned_transaction",
          "withdrawal_authority_public_key",
          "stake_account_address",
          "amount",
          "stake_id",
          "expiration_time"
        ],
        "properties": {
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransaction"
          },
          "withdrawal_authority_public_key": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          },
          "stake_account_address": {
            "$ref": "#/components/schemas/SolanaPublicKey"
          },
          "stake_id": {
            "$ref": "#/components/schemas/StakeId"
          },
          "amount": {
            "$ref": "#/components/schemas/Lamport"
          },
          "expiration_time": {
            "$ref": "#/components/schemas/ExpirationTime"
          }
        }
      },
      "WithdrawIntentId": {
        "type": "string",
        "format": "uuid",
        "description": "Unique idenifier for a withdrawal intent.",
        "example": "4ba06e89-8c29-483e-ac36-318de5aa7364"
      },
      "SolanaWithdrawalIntentResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CommonWithdrawalResponse"
          },
          {
            "type": "object",
            "description": "Result of a new withdrawal intent request.",
            "required": [
              "protocol",
              "network",
              "solana"
            ],
            "properties": {
              "protocol": {
                "$ref": "#/components/schemas/SolanaProtocol"
              },
              "network": {
                "$ref": "#/components/schemas/SolanaNetwork"
              },
              "solana": {
                "$ref": "#/components/schemas/WithdrawalIntentSolana"
              }
            }
          }
        ]
      },
      "SolanaProtocol": {
        "type": "string",
        "description": "Solana protocol",
        "enum": [
          "solana"
        ]
      },
      "ExpirationTime": {
        "type": "integer",
        "description": "Transaction expiration time",
        "format": "int64",
        "example": 1689939023
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/solana/{network}/withdrawal-intents": {
      "parameters": [
        {
          "$ref": "#/components/parameters/SolanaNetwork"
        }
      ],
      "post": {
        "summary": "Post Withdrawal Intent",
        "operationId": "postSolanaWithdrawalIntent",
        "tags": [
          "Solana"
        ],
        "description": "This endpoint is used to request withdrawal transactions that will be executed against available deactivated accounts. If you request more funds than are currently unlocked, the API will return an error indicating the maximum possible withdrawal.\n\nYou will receive at least one unsigned transaction (potentially multiple) that needs to be signed in order to complete the withdrawal.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWithdrawIntentSolana"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SolanaWithdrawalIntentResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Solana",
      "description": "Solana endpoints"
    }
  ]
}
```