---
title: "Initiate unstake"
method: POST
path: "/staking/chains/{chainDescriptor}/unstake"
tags: ["Staking"]
---

# Initiate unstake

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

## Request

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

Submits a chain-specific unstake request.

## 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

- UnstakeRequest
  - `id` string, required: id of position to unstake
  - `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 unstake. Only supported for liquid staking (Lido) to enable partial unstaking. For other chains, this field is ignored and the entire position will be unstaked. If not provided, the entire position will be unstaked.

## Response `201`

Unstake 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)
