GeminiGemini
Demo environmentGet API key
  • Overview
  • Crypto Trading
  • Prediction Markets
  • Perpetuals
  • Stocks
  • API Reference
  • SDKs & Tools
Changelog
Gemini logoGemini logo

© 2026 Gemini Space Station, Inc.

Overview
Spot
    OverviewGet started
    Orders API
    Market Data API
    Fund Management API
    Instant Orders API
    WebSocket API
    FIX API
Margin
    Overview
    Margin REST API
      Get Margin Account SummaryGet Margin Interest RatesPreview Margin Order Impact
Staking
    Overview
    Staking REST API
      List Staking BalancesStake Crypto FundsUnstake Crypto FundsList Staking Event HistoryList Staking RatesList Staking Rewards
Clearing
    Clearing REST API
      Clearing Orders
      Broker & Trade Operations

Unstake Crypto Funds

TradingStakingUnstake Crypto Funds

Unstake Crypto Funds

POSThttps://api.gemini.com/v1/staking/unstake

Initiates a staking withdrawal for the specified currency and provider.

POSTv1/staking/unstake
curl --request POST \
  --url https://api.gemini.com/v1/staking/unstake \
  --header 'Content-Type: application/json' \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>' \
  --data '
{
  "request": "v1/staking/unstake",
  "nonce": "<nonce>",
  "providerId": "62b21e17-2534-4b9f-afcf-b7edb609dd8d",
  "currency": "MATIC",
  "amount": "20"
}
'

Roles

The API key you use to access this endpoint must have the Trader or Fund Manager role assigned. See Roles for more information.

Headers

X-GEMINI-APIKEYstring·required
Your API key
X-GEMINI-SIGNATUREstring·required
HEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring·required
Base64-encoded JSON payload
Content-Typestring
Default: text/plain
Content-Lengthstring
Default: 0
Cache-Controlstring
Default: no-cache

Request Body

requeststring·required
The literal string "v1/staking/unstake"
nonceTimestampType | integer·required
timestampExample: 1495127793000
accountstring
Required for Master API keys as described in [Private API Invocation](/authentication/api-key#private-api-invocation). The name of the account within the subaccount group.
providerIdstring·required
Provider Id, in uuid4 format. providerId is accessible from the [Staking rates](#list-staking-rates) response
currencystring·required
Currency code, see [symbols](/market-data/symbols-and-minimums)
amountstring (decimal)·required
The amount of currency to withdraw
Example request body
{
  "request": "v1/staking/unstake",
  "nonce": "<nonce>",
  "providerId": "62b21e17-2534-4b9f-afcf-b7edb609dd8d",
  "currency": "MATIC",
  "amount": 20
}

Responses

The staking withdrawal transaction

transactionIdstring
A unique identifier for the staking transactionExample: MPZ7LDD8
amountnumber (decimal)
The amount depositedExample: 20
amountPaidSoFarnumber (decimal)
The amount redeemed successfullyExample: 20
amountRemainingnumber (decimal)
The amount pending to be redeemedExample: 0
currencystring
Currency codeExample: MATIC
requestInitiatedstring
In ISO datetime with timezone formatExample: 2022-11-02T19:49:20.153Z
Example Responses
{
  "transactionId": "MPZ7LDD8",
  "amount": 20,
  "amountPaidSoFar": 20,
  "amountRemaining": 0,
  "currency": "MATIC",
  "requestInitiated": "2022-11-02T19:49:20.153Z"
}
PreviousStake Crypto FundsNextList Staking Event History