---
title: "Withdraw staked funds"
method: POST
path: "/staking/chains/{chainDescriptor}/withdraw"
tags: ["Staking"]
---

# Withdraw staked funds

`POST /staking/chains/{chainDescriptor}/withdraw`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/staking/chains/{chainDescriptor}/withdraw`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/staking/chains/:chainDescriptor/withdraw/post.ts> (a function with typed inputs; its response is checked against the schema)

Withdraws funds that have completed the unbonding period. Typically requires the position to be deactivated first (unstake → unbond → withdraw). Amount and timing vary by chain protocol.

Partial withdrawal is supported for ETH compounding validators (EIP-7251/Pectra) and Cosmos chains via the optional 'amount' field. For ETH compounding validators, the remaining balance must be at least 32 ETH after the withdrawal. For all other chains, omitting 'amount' withdraws the entire available balance.

## Path parameters

- `chainDescriptor` 'ATOM_COS' | 'AXL' | 'AXL_TEST' | 'CELESTIA' | 'DYDX_DYDX' | 'ETH' | 'ETH_TEST6' | 'ETH_TEST_HOODI' | 'INJ_INJ' | 'MANTRA' | 'MATIC' | 'OSMO' | 'POL' | 'POL_TEST' | 'SOL' | 'SOL_TEST' | 'STETH_ETH' | 'STETH_ETH_TEST6_DZFA' | 'STETH_ETH_TEST_HOODI', required: Protocol identifier for the staking operation.

## Headers

- `Idempotency-Key` string

## Request body

- WithdrawRequest
  - `id` string, required: id of position to withdraw
  - `fee` string: Represents the fee for a transaction, which can be specified as a percentage value. Only one of fee/feeLevel is required.
  - `feeLevel` 'LOW' | 'MEDIUM' | 'HIGH': Represents the fee level for a transaction, which can be set as slow, medium, or fast. Only one of fee/feeLevel is required.
  - `txNote` string: The note to associate with the transactions.
  - `amount` string: Amount of tokens to withdraw. Only supported for ETH compounding validators (EIP-7251/Pectra) and Cosmos chains to enable partial withdrawals. For ETH compounding validators, the remaining balance must be at least 32 ETH after withdrawal. For other chains, this field is ignored and the entire available amount will be withdrawn. If not provided, the entire available amount will be withdrawn.

## Response `201`

Withdraw request accepted and created.

## Other responses

- `400`: Bad request: missing/invalid fields, unsupported amount, or malformed payload.
- `403`: Forbidden: insufficient permissions, disabled feature, or restricted provider/validator.
- `404`: Not found: requested resource does not exist (e.g., position, validator, provider, or wallet).
- `429`: Rate limit exceeded: slow down and retry later.
- `500`: Internal error while processing the request.
- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
