---
title: "Withdraw SOL (one-shot — build, sign, submit)"
method: POST
path: "/api/v1/withdraw"
tags: ["Staking"]
---

# Withdraw SOL (one-shot — build, sign, submit)

`POST /api/v1/withdraw`

## Request

- Base URL: `https://solentic.theblueprint.xyz`
- URL: `https://solentic.theblueprint.xyz/api/v1/withdraw`
- Auth: none required

Agent-first: withdraw SOL from a deactivated stake account in a single call. Funds are returned to wallet. Use check_withdraw_ready first to confirm readiness. Omit amountSol to withdraw full balance.

## Request body

- object
  - `walletAddress` string, required: Solana wallet address (withdraw authority)
  - `secretKey` string, required: Base58-encoded secret key — used in-memory for signing only
  - `stakeAccountAddress` string, required: Deactivated stake account to withdraw from
  - `amountSol` number, nullable: Amount to withdraw in SOL (omit for full balance)

## Response `200`

Withdraw confirmed

- object
  - `signature` string
  - `explorerUrl` string
  - `message` string
  - `security` object
  - `_meta` Meta (unresolved $ref)

## Other responses

- `400`: Not withdrawable, invalid input, or key mismatch
- `502`: Solana RPC or transaction failure

---

[API](https://skmtc.dev/theblueprint/apis/blueprint-staking-api.md) · [All operations](https://skmtc.dev/theblueprint/apis/blueprint-staking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/theblueprint/apis/blueprint-staking-api/revisions/326d6015b851?raw)
