---
title: "Create an unstake request"
method: POST
path: "/transactions/unstake"
tags: ["Transactions"]
---

# Create an unstake request

`POST /transactions/unstake`

Permissions required: **Initiate Staking and Unstaking**



#### Identify the sending asset


To initiate an unstake transaction, you must identify which asset you'd like to unstake funds from. Provide a `source` and `assetType`.



#### Permissions


The provided API key must be associated with a [permission group](#section/Authentication-and-Security/Permission-Groups) that has Initiate Staking and Unstaking permission for the sending vault.


#### Additional Metadata


You may provide a `description` with each stake, that will be visible within your organization in the Anchorage Digital iOS Application.


#### Successful Unstakes


If the stake request is valid, the request will initiate a stake transaction from the sending wallet. It will still require a quorum of approvals on the Anchorage Digital iOS app and will undergo manual Anchorage Digital Risk Review. Like other transactions, these will be visible on the Anchorage Digital iOS Application, the Web Dashboard, and in the [list transactions](#operation/getTransactions) API endpoint.


#### Unsuccessful Unstakes


A unstake request may fail for any of the following reasons:

  - An ongoing unstake already exists
  - The specified asset does not exist
  - The specified amount exceeds the available funds to unstake for this asset (insufficient funds)
  - The provided API key does not have permissions to initiate staking from this vault

If the initiated stake is approved by the quorum, the transaction may fail for any of the following reasons:

  - There are insufficient funds to pay the blockchain network fee at the time of this transaction
  - There is a failure on the blockchain

## Headers

- `Api-Signature` string, required
- `Api-Timestamp` integer, required

## Request body

- CreateUnstakeRequest
  - `amount` string, nullable — An amount of a crypto-asset to unstake, without units. The unit is derived from the asset type.
  - `assetType` string, required — A string representing a type of crypto-asset, which usually corresponds to the crypto asset's ticker symbol. Use `/asset-types` to list all of the supported asset types for your organization.
  - `description` string, nullable — An optional string providing more context to this transaction. It will be visible on the Anchorage Digital iOS app and will not be published to the blockchain.
  - `idempotentId` string, required — A client-provided unique ID for idempotent requests
  - `isFullAmount` boolean — Specifies whether to unstake the full amount, which overrides any provided amount if set to true.
  - `source` SimpleSourceResourceDetails, required — An object representing a resource capable of sending funds. Construction example: ``` { "id":"1c920f4241b78a1d483a29f3c24b6c4c", "type":"WALLET" } ```
    - `id` string, required — The identifier of the resource
    - `type` 'WALLET', required — The type of the resource being referenced.
  - `stakingPositionId` string — Unique identifier of the staking position

## Response `201`

Successfully initiated a unstake transaction

- CreateUnstakeResponse
  - `data` CreateStakeDetails, required
    - `transactionId` string, required — The transaction Id which can be used to reference this operation in other queries

## Other responses

- `400` — Bad Request
- `401` — Unauthenticated
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/anchorage/apis/anchorage-digital-api-reference.md) · [All operations](https://skmtc.net/anchorage/apis/anchorage-digital-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anchorage/anchorage-digital-api-reference/versions/166864b1ec6d/schema)
