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
      Crypto Fund Management
        List Deposit AddressesCreate New Deposit AddressWithdraw Crypto FundsGet Gas Fee EstimationList Approved AddressesCreate New Approved AddressRemove Approved Address
      Cash & Fiat Management
      Balances & Account Transfers
    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

Create New Deposit Address

TradingFund ManagementCreate New Deposit Address

Create New Deposit Address

POSThttps://api.gemini.com/v1/deposit/{network}/newAddress

Generates a new deposit address for the specified blockchain network.

Note

Under the terms of the Gemini API Agreement, polling this endpoint may be subject to rate limiting. This endpoint is currently restricted further than standard rate limiting to a rate of 1 request per 2 seconds per subaccount. This rate is subject to change.

POSTv1/deposit/bitcoin/newAddress
curl --request POST \
  --url https://api.gemini.com/v1/deposit/bitcoin/newAddress \
  --header 'Content-Type: application/json' \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>' \
  --data '
{
  "request": "/v1/deposit/bitcoin/newAddress",
  "nonce": "<nonce>",
  "label": "optional test label"
}
'

Roles

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

The OAuth scope must have addresses:create assigned to access this endpoint. See OAuth Scopes 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

Path Parameters

networkstring·required
Can be bitcoin, ethereum, bitcoincash, litecoin, zcash, filecoin, dogecoin, tezos, solana, polkadot, avalanche, cosmos, or xrpl

Request Body

requeststring·required
The literal string "/v1/deposit/network/newAddress"
nonceTimestampType | integer·required
timestampExample: 1495127793000
labelstring
A label for the address
legacyboolean
Whether to generate a legacy P2SH-P2PKH litecoin address. False by default.
accountstring
Required for Master API keys. The name of the account within the subaccount group.
Example request body
{
  "request": "/v1/deposit/bitcoin/newAddress",
  "nonce": "<nonce>",
  "label": "optional test label"
}

Responses

Successful operation

addressstring
String representation of the cryptocurrency address
timestampstring | integer
Gemini strongly recommends using milliseconds instead of seconds for timestamps.
Timestamp format
Example
Supported request type
string (seconds)
1495127793
POST only
string (milliseconds)
1495127793000
POST only
whole number (seconds)
1495127793
GET, POST
whole number (milliseconds)
1495127793000
GET, POST
Example: 1495127793000
labelstring
If you provided a label when creating the address, it will be echoed back here
memostring
It would be present if applicable, it will be present for cosmos address
networkstring
The blockchain network for the address
Example Responses
{
  "network": "bitcoin",
  "address": "n2saq73aDTu42bRgEHd8gd4to1gCzHxrdj",
  "label": "optional test label"
}
PreviousList Deposit AddressesNextList Past Transfers