GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Resources
  • Changelog

© 2026 Gemini Space Station, Inc.

Gemini Crypto Exchange LogoGemini Crypto Exchange Logo
Market Data
    List SymbolsgetGet Symbol DetailsgetGet Assets for NetworkgetGet NetworkgetGet TickergetList Fee PromosgetGet Current Order BookgetList TradesgetList PricesgetGet Funding AmountgetGet Funding Amount Report FilegetGet Ticker V2getList CandlesgetList Derivative CandlesgetFX Rateget
Orders
    Create New OrderpostCancel OrderpostCancel All Active OrderspostCancel All Session OrderspostGet Order StatuspostList Active OrderspostList Past OrderspostList Past TradespostGet Trading VolumepostGet Notional Trading VolumepostWrap Orderpost
Fund Management
    Get Available BalancespostGet Notional BalancespostList Deposit AddressespostCreate New Deposit AddresspostList Past TransferspostList Custody Fee TransferspostGet Gas Fee EstimationpostWithdraw Crypto FundspostAdd BankpostAdd Bank CADpostList Payment MethodspostList Approved AddressespostCreate New Approved AddresspostRemove Approved AddresspostTransfer Between AccountspostGet Transaction Historypost
Margin Trading
    Get Margin Account SummarypostGet Margin Interest RatespostPreview Margin Order Impactpost
Session
    Heartbeatpost
Clearing
    Create New Clearing OrderpostGet Clearing OrderpostCancel Clearing OrderpostConfirm Clearing OrderpostList Clearing OrderspostList Clearing BrokerspostCreate New Broker OrderpostList Clearing Tradespost
Instant
    Get Instant QuotepostExecute Instant Orderpost
Account Administration
    Get Account DetailpostCreate New AccountpostRename AccountpostList Accounts in GrouppostRoles Endpointpost
OAuth
    Revoke OAuth Tokenpost
Staking
    List Staking BalancespostStake Crypto FundspostList Staking Event HistorypostList Staking RatesgetList Staking RewardspostUnstake Crypto Fundspost
Derivatives
    Get Account MarginpostList Funding PaymentspostGet Funding Payment Report FilegetGet Funding Payment Report JSONpostGet Open PositionspostGet Risk Statsget
Schemas
REST API
REST API

Market Data (1.0.0)

Endpoint

List Symbols

GET
https://api.gemini.com
/v1/symbols

This endpoint retrieves all available symbols for trading.

List Symbols › Responses

The full list of supported symbols.

string[]
GET/v1/symbols
curl --request GET \
  --url https://api.gemini.com/v1/symbols
shell
Example Responses
[
  "aavegusd",
  "aaveusd",
  "aligusd",
  "aliusd",
  "ampgusd",
  "ampusd",
  "ankrgusd",
  "ankrusd",
  "apegusd",
  "apeusd",
  "api3gusd",
  "api3usd",
  "arbgusd",
  "arbusd",
  "atomgusd",
  "atomusd",
  "avaxgusd",
  "avaxgusdperp",
  "avaxusd",
  "axsgusd",
  "axsusd",
  "batgusd",
  "batusd",
  "bchgusd",
  "bchgusdperp",
  "bchusd",
  "bnbgusdperp",
  "bomegusd",
  "bomegusdperp",
  "bomeusd",
  "bonkgusd",
  "bonkgusdperp",
  "bonkusd",
  "btceur",
  "btcgbp",
  "btcgusd",
  "btcgusdperp",
  "btcsgd",
  "btcusd",
  "btcusdt",
  "chillguygusd",
  "chillguyusd",
  "chzgusd",
  "chzusd",
  "compgusd",
  "compusd",
  "crvgusd",
  "crvusd",
  "ctxgusd",
  "ctxusd",
  "cubegusd",
  "cubeusd",
  "daigusd",
  "daiusd",
  "dogebtc",
  "dogeeth",
  "dogegusd",
  "dogegusdperp",
  "dogeusd",
  "dotgusd",
  "dotgusdperp",
  "dotusd",
  "efilfil",
  "elongusd",
  "elonusd",
  "ensgusd",
  "ensusd",
  "ethbtc",
  "etheur",
  "ethgbp",
  "ethgusd",
  "ethgusdperp",
  "ethsgd",
  "ethusd",
  "ethusdt",
  "fetgusd",
  "fetusd",
  "filgusd",
  "filusd",
  "flokigusd",
  "flokigusdperp",
  "flokiusd",
  "ftmgusd",
  "ftmusd",
  "galagusd",
  "galausd",
  "gmtgusd",
  "gmtusd",
  "goatgusd",
  "goatgusdperp",
  "goatusd",
  "grtgusd",
  "grtusd",
  "gusdgbp",
  "gusdsgd",
  "gusdusd",
  "hntgusd",
  "hntusd",
  "hypegusdperp",
  "imxgusd",
  "imxusd",
  "injgusd",
  "injgusdperp",
  "injusd",
  "iotxgusd",
  "iotxusd",
  "ksl2gusdperp",
  "kt5gusdperp",
  "ldogusd",
  "ldousd",
  "linkbtc",
  "linketh",
  "linkgusd",
  "linkgusdperp",
  "linkusd",
  "lptgusd",
  "lptusd",
  "lrcgusd",
  "lrcusd",
  "ltcbtc",
  "ltceth",
  "ltcgusd",
  "ltcgusdperp",
  "ltcusd",
  "managusd",
  "manausd",
  "maskgusd",
  "maskusd",
  "maticgusd",
  "maticusd",
  "mewgusd",
  "mewgusdperp",
  "mewusd",
  "mkrgusd",
  "mkrusd",
  "moodenggusd",
  "moodenggusdperp",
  "moodengusd",
  "opgusd",
  "opgusdperp",
  "opusd",
  "oxtgusd",
  "oxtusd",
  "paxggusd",
  "paxgusd",
  "pepegusd",
  "pepegusdperp",
  "pepeusd",
  "pnutgusd",
  "pnutgusdperp",
  "pnutusd",
  "polgusdperp",
  "popcatgusd",
  "popcatgusdperp",
  "popcatusd",
  "pythgusd",
  "pythgusdperp",
  "pythusd",
  "qntgusd",
  "qntusd",
  "raregusd",
  "rareusd",
  "rengusd",
  "renusd",
  "rlusdusd",
  "rndrgusd",
  "rndrusd",
  "samogusd",
  "samousd",
  "sandgusd",
  "sandusd",
  "shibgusd",
  "shibgusdperp",
  "shibusd",
  "sklgusd",
  "sklusd",
  "solbtc",
  "soleth",
  "solgusd",
  "solgusdperp",
  "solusd",
  "storjgusd",
  "storjusd",
  "sushigusd",
  "sushiusd",
  "trumpgusdperp",
  "umagusd",
  "umausd",
  "unigusd",
  "unigusdperp",
  "uniusd",
  "usdcusd",
  "usdtgusd",
  "usdtusd",
  "wifgusd",
  "wifgusdperp",
  "wifusd",
  "xrpgusd",
  "xrpgusdperp",
  "xrpusd",
  "xtzgusd",
  "xtzusd",
  "yfigusd",
  "yfiusd",
  "zecgusd",
  "zecusd",
  "zrxgusd",
  "zrxusd"
]
json
application/json

Get Symbol Details

GET
https://api.gemini.com
/v1/symbols/details/{symbol}

This endpoint retrieves extra detail on supported symbols, such as minimum order size, tick size, quote increment and more.

Get Symbol Details › path Parameters

symbol
string · required

Trading pair symbol

BTCUSD, etc. See symbols and minimums.

Get Symbol Details › Responses

Instrument responses examples

symbol
string

The requested symbol. See symbols and minimums

Example: BTCUSD
base_currency
string

CCY1 or the top currency. (i.e BTC in BTCUSD)

Example: BTC
quote_currency
string

CCY2 or the quote currency. (i.e USD in BTCUSD)

Example: USD
tick_size
number · decimal

The number of decimal places in the base_currency. (i.e 1e-8)

Example: 1e-8
quote_increment
number · decimal

The number of decimal places in the quote_currency (i.e 0.01)

Example: 0.01
min_order_size
string

The minimum order size in base_currency units (i.e 0.00001)

Example: 0.00001
status
string

Status of the current order book. Can be open, closed, cancel_only, post_only, limit_only.

Example: open
wrap_enabled
boolean

When True, symbol can be wrapped using this endpoint:
POST https://api.gemini.com/v1/wrap/:symbol

Example: false
product_type
string

Instrument type spot / swap -- where swap signifies perpetual swap.

Example: spot
contract_type
string

vanilla / linear / inverse where vanilla is for spot while linear is for perpetual swap and inverse is a special case perpetual swap where the perpetual contract will be settled in base currency.

Example: vanilla
contract_price_currency
string

CCY2 or the quote currency for spot instrument (i.e. USD in BTCUSD) Or collateral currency of the contract in case of perpetual swap instrument.

Example: USD
GET/v1/symbols/details/{symbol}
curl --request GET \
  --url https://api.gemini.com/v1/symbols/details/:symbol
shell
Example Responses
{
  "symbol": "BTCUSD",
  "base_currency": "BTC",
  "quote_currency": "USD",
  "tick_size": 1e-8,
  "quote_increment": 0.01,
  "min_order_size": "0.00001",
  "status": "open",
  "wrap_enabled": false,
  "product_type": "spot",
  "contract_type": "vanilla",
  "contract_price_currency": "USD"
}
json
Spot instrument response
application/json

Get Assets for Network

GET
https://api.gemini.com
/v2/networks/{network}/assets

This endpoint retrieves the enabled assets (tokens) available on a specified blockchain network.

Use this endpoint to discover all tokens that support deposits and withdrawals on a particular blockchain network.

The assets field in the response is always an array, sorted alphabetically, containing one or more enabled asset codes.

Get Assets for Network › path Parameters

network
string · required

Blockchain network identifier (lowercase). Supported networks include: ethereum, solana, bitcoin, optimism, arbitrum, base, monad, avalanche, litecoin, bitcoincash, dogecoin, zcash, filecoin, tezos, polkadot, cosmos, xrpl, linea, and more.

Get Assets for Network › Responses

The response will be a JSON object containing the network name and its supported assets.

network
string

The blockchain network identifier.

Example: ethereum
assets
string[]

Alphabetically sorted array of enabled asset/token codes available on this network. Assets include both exchange-tradable and custody-supported tokens.

Example: ["AAVE","BAT","DAI","ETH","LINK","MATIC","UNI","USDC","USDT","WBTC"]
GET/v2/networks/{network}/assets
curl --request GET \
  --url https://api.gemini.com/v2/networks/:network/assets
shell
Example Responses
{
  "network": "ethereum",
  "assets": [
    "AAVE",
    "BAT",
    "DAI",
    "ETH",
    "LINK",
    "MATIC",
    "UNI",
    "USDC",
    "USDT",
    "WBTC"
  ]
}
json
application/json

Get Network

GET
https://api.gemini.com
/v2/network/{token}
The v1 network endpoint is being retired. This v2 endpoint is the recommended replacement, offering account-level filtering for deposit and withdraw access. Please migrate to this endpoint at your earliest convenience.

This endpoint retrieves the associated network(s) for a requested token, filtered by your account's access permissions.

This authenticated endpoint returns only the networks where your account has both deposit and withdraw access enabled. This supports the multinetwork deposit and withdrawal flow.

Many tokens are available on multiple blockchain networks. For example, USDC is available on Optimism, Solana, Base, Arbitrum, Avalanche, and Ethereum. Use this endpoint to discover which networks your account can deposit to and withdraw from for a given token.

The network field in the response is always an array, which may contain one or more supported networks.

Roles

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

Get Network › path Parameters

token
string · required

Token identifier. BTC, ETH, USDC, SOL etc. See symbols and minimums

Get Network › Headers

X-GEMINI-APIKEY
string · required

Your API key

X-GEMINI-SIGNATURE
string · required

HEX-encoded HMAC-SHA384 of payload signed with API secret

X-GEMINI-PAYLOAD
string · required

Base64-encoded JSON payload

Content-Type
string
Default: text/plain
Content-Length
string
Default: 0
Cache-Control
string
Default: no-cache

Get Network › Responses

The response will be a JSON object containing the token and its available networks for the authenticated account.

token
string

The requested token identifier.

network
string[]

Array of supported blockchain networks for the token. Many tokens (especially stablecoins like USDC, USDT) are available on multiple networks.

Supported networks include: bitcoin, ethereum, solana, optimism, arbitrum, base, monad, avalanche, litecoin, bitcoincash, dogecoin, zcash, filecoin, tezos, polkadot, cosmos, xrpl, linea, and more.

Example: ["optimism","solana","base","arbitrum","monad","avalanche","ethereum"]
GET/v2/network/{token}
curl --request GET \
  --url https://api.gemini.com/v2/network/:token \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>'
shell
Example Responses
{
  "token": "BTC",
  "network": [
    "bitcoin"
  ]
}
json
application/json

Get Ticker

GET
https://api.gemini.com
/v1/pubticker/{symbol}

This endpoint retrieves information about recent trading activity for the symbol.

We recommend using Version 2 to retrieve recent ticker activty.

Get Ticker › path Parameters

symbol
string · required

Trading pair symbol

BTCUSD, etc. See symbols and minimums.

Get Ticker › Responses

The current ticker for the symbol

bid
number · decimal

The highest bid currently available

Example: 977.59
ask
number · decimal

The lowest ask currently available

Example: 977.35
last
number · decimal

The price of the last executed trade

Example: 977.65
object

Information about the 24 hour volume on the exchange. See properties below

GET/v1/pubticker/{symbol}
curl --request GET \
  --url https://api.gemini.com/v1/pubticker/:symbol
shell
Example Responses
{
  "bid": "977.59",
  "ask": "977.35",
  "last": "977.65",
  "volume": {
    "BTC": "2210.505328803",
    "USD": "2135477.463379586263",
    "timestamp": 1483018200000
  }
}
json
application/json

List Fee Promos

GET
https://api.gemini.com
/v1/feepromos

This endpoint retrieves symbols that currently have fee promos.

List Fee Promos › Responses

The response will be a JSON object

symbols
string[]

Symbols that currently have fee promos

GET/v1/feepromos
curl --request GET \
  --url https://api.gemini.com/v1/feepromos
shell
Example Responses
{
  "symbols": [
    "PNUTGUSDPERP",
    "WIFGUSDPERP",
    "PYTHGUSDPERP",
    "MEWGUSDPERP",
    "BONKGUSDPERP",
    "BCHGUSDPERP",
    "BTCGUSDPERP",
    "BUSDUSD",
    "POLGUSDPERP",
    "FRAXUSD",
    "OPGUSDPERP",
    "DOTGUSDPERP",
    "TRUMPGUSDPERP",
    "GUSDGBP",
    "USDTUSD",
    "POPCATGUSDPERP",
    "FLOKIGUSDPERP",
    "MOODENGGUSDPERP",
    "LINKGUSDPERP",
    "ETHGUSDPERP",
    "UNIGUSDPERP",
    "MATICGUSDPERP",
    "USDTGUSD",
    "BNBGUSDPERP",
    "MIMUSD",
    "KSL2GUSDPERP",
    "LUSDUSD",
    "SHIBGUSDPERP",
    "AVAXGUSDPERP",
    "BOMEGUSDPERP",
    "USDCUSD",
    "HYPEGUSDPERP",
    "MOGGUSDPERP",
    "KT5GUSDPERP",
    "SOLGUSDPERP",
    "PEPEGUSDPERP",
    "DOGEGUSDPERP",
    "GUSDSGD",
    "INJGUSDPERP",
    "LTCGUSDPERP",
    "XRPGUSDPERP",
    "USTUSD",
    "GOATGUSDPERP",
    "DAIUSD"
  ]
}
json
application/json

Get Current Order Book

GET
https://api.gemini.com
/v1/book/{symbol}

This will return the current order book as two arrays (bids / asks).

The quantities and prices returned are returned as strings rather than numbers. The numbers returned are exact, not rounded, and it can be dangerous to treat them as floating point numbers.

Get Current Order Book › path Parameters

symbol
string · required

Trading pair symbol

BTCUSD, etc. See symbols and minimums.

Get Current Order Book › query Parameters

limit_bids
number · min: 1

Limit the number of bid (offers to buy) price levels returned. Default is 50. May be 0 to return the full order book on this side.

limit_asks
number · min: 1

Limit the number of ask (offers to sell) price levels returned. Default is 50. May be 0 to return the full order book on this side.

Get Current Order Book › Responses

The response will be two arrays. The bids and the asks are grouped by price, so each entry may represent multiple orders at that price. Each element of the array will be a JSON object.

object[]

The bid price levels currently on the book. These are offers to buy at a given price.

object[]

The ask price levels currently on the book. These are offers to sell at a given price.

GET/v1/book/{symbol}
curl --request GET \
  --url https://api.gemini.com/v1/book/:symbol
shell
Example Responses
{
  "bids": [
    {
      "price": "3607.85",
      "amount": "6.643373",
      "timestamp": "1547147541"
    }
  ],
  "asks": [
    {
      "price": "3607.86",
      "amount": "14.68205084",
      "timestamp": "1547147541"
    }
  ]
}
json
application/json

List Trades

GET
https://api.gemini.com
/v1/trades/{symbol}
This public API endpoint is limited to retrieving seven calendar days of data.
Please contact us through this form for information about Gemini market data.

This will return the trades that have executed since the specified timestamp. Timestamps are either seconds or milliseconds since the epoch (1970-01-01). See the Data Types section about timestamp for information on this.

Each request will show at most 500 records.

If no since or timestamp is specified, then it will show the most recent trades; otherwise, it will show the most recent trades that occurred after that timestamp.

List Trades › path Parameters

symbol
string · required

Trading pair symbol

BTCUSD, etc. See symbols and minimums.

List Trades › query Parameters

timestamp

Only return trades after this timestamp. See Timestamps for more information. If not present, will show the most recent trades. For backwards compatibility, you may also use the alias since. With timestamp, there is a 90-day hard limit.

Timestamp in milliseconds

since_tid
number

Only retuns trades that executed after this tid. since_tid trumps timestamp parameter which has no effect if provided too. You may set since_tid to zero to get the earliest available trade history data.

limit_trades
number · min: 0

The maximum number of trades to return. The default is 50.

Default: 50
include_breaks
boolean

Whether to display broken trades. False by default. Can be 1 or true to activate

Default: false

List Trades › Responses

The response will be an array of JSON objects, sorted by timestamp, with the newest trade shown first.

object[]

timestamp

timestamp

tid
integer

The trade ID number

Example: 5335307668
price
string · decimal

The price the trade was executed at

Example: 3610.85
amount
string · decimal

The amount that was traded

Example: 0.27413495
exchange
string

Will always be "gemini"

Example: gemini
type
string · enum
  • buy means that an ask was removed from the book by an incoming buy order.
  • sell means that a bid was removed from the book by an incoming sell order.
Enum values:
buy
sell
Example: buy
broken
boolean

Whether the trade was broken or not. Broken trades will not be displayed by default; use the include_breaks to display them.

Example: false
GET/v1/trades/{symbol}
curl --request GET \
  --url https://api.gemini.com/v1/trades/:symbol
shell
Example Responses
{
  "timestamp": 1547146811,
  "timestampms": 1547146811357,
  "tid": 5335307668,
  "price": "3610.85",
  "amount": "0.27413495",
  "exchange": "gemini",
  "type": "buy",
  "broken": true
}
json
application/json

List Prices

GET
https://api.gemini.com
/v1/pricefeed

List Prices › Responses

Response is a list of objects, one for each pair.

object[]
pair
string

Trading pair symbol. See symbols and minimums

price
string

Current price of the pair on the Gemini order book

percentChange24h
string

24 hour change in price of the pair on the Gemini order book

GET/v1/pricefeed
curl --request GET \
  --url https://api.gemini.com/v1/pricefeed
shell
Example Responses
[
  {
    "pair": "BTCUSD",
    "price": "9500.00",
    "percentChange24h": "5.23"
  },
  {
    "pair": "ETHUSD",
    "price": "257.54",
    "percentChange24h": "4.85"
  },
  {
    "pair": "BCHUSD",
    "price": "450.10",
    "percentChange24h": "-2.91"
  },
  {
    "pair": "LTCUSD",
    "price": "79.50",
    "percentChange24h": "7.63"
  }
]
json
application/json

Get Funding Amount

GET
https://api.gemini.com
/v1/fundingamount/{symbol}

Get Funding Amount › path Parameters

symbol
string · required

Trading pair symbol

BTCGUSDPERP, etc. See symbols and minimums.

Get Funding Amount › Responses

The response will be an object

symbol
string

The requested symbol. See symbols and minimums

fundingDateTime
string

UTC date time in format yyyy-MM-ddThh:mm:ss.SSSZ format

fundingTimestampMilliSecs
number · long

Current funding amount Epoc time.

nextFundingTimestamp
number · long

Next funding amount Epoc time.

amount
number · decimal

The dollar amount for a Long 1 position held in the symbol for funding period (1 hour)

estimatedFundingAmount
number · decimal

The estimated dollar amount for a Long 1 position held in the symbol for next funding period (1 hour)

GET/v1/fundingamount/{symbol}
curl --request GET \
  --url https://api.gemini.com/v1/fundingamount/:symbol
shell
Example Responses
{
  "symbol": "BTCGUSDPERP",
  "fundingDateTime": "2025-04-22T18:00:00.000Z",
  "fundingTimestampMilliSecs": 1745344800000,
  "nextFundingTimestamp": 1745348400000,
  "fundingAmount": -1.50991,
  "estimatedFundingAmount": -2.10595
}
json
application/json

Get Funding Amount Report File

GET
https://api.gemini.com
/v1/fundingamountreport/records.xlsx

Examples

  • symbol=BTCGUSDPERP&fromDate=2024-04-10&toDate=2024-04-25&numRows=1000
    Compare and obtain the minimum records between (2024-04-10 to 2024-04-25) and 1000. If (2024-04-10 to 2024-04-25) contains 360 records. Then fetch the minimum between 360 and 1000 records only.

  • symbol=BTCGUSDPERP&numRows=2024-04-10&toDate=2024-04-25
    If (2024-04-10 to 2024-04-25) contains 360 records. Then fetch 360 records only.

  • symbol=BTCGUSDPERP&numRows=1000
    Fetch maximum 1000 records starting from Now to a historical date

  • symbol=BTCGUSDPERP
    Fetch maximum 8760 records starting from Now to a historical date

Get Funding Amount Report File › query Parameters

symbol
string · required

Trading pair symbol

BTCGUSDPERP, etc. See symbols and minimums.

fromDate
string · date

Mandatory if toDate is specified, else optional. If empty, will only fetch records by numRows value.

toDate
string · date

Mandatory if fromDate is specified, else optional. If empty, will only fetch records by numRows value.

numRows
integer

If empty, default value '8760'

Get Funding Amount Report File › Responses

The response will be an excel / csv file. filename=FundingAmount_{SYMBOL}.{xlsx,csv}

string
GET/v1/fundingamountreport/records.xlsx
curl --request GET \
  --url 'https://api.gemini.com/v1/fundingamountreport/records.xlsx?symbol=%3Cstring%3E'
shell
Example Responses
No example specified for this content type

Get Ticker V2

GET
https://api.gemini.com
/v2/ticker/{symbol}

This endpoint retrieves information about recent trading activity for the provided symbol.

Get Ticker V2 › path Parameters

symbol
string · required

Trading pair symbol

Get Ticker V2 › Responses

Successful response

symbol
string

The trading pair symbol

Example: BTCUSD
open
string · decimal

Open price from 24 hours ago

Example: 9121.76
high
string · decimal

High price from 24 hours ago

Example: 9440.66
low
string · decimal

Low price from 24 hours ago

Example: 9106.51
close
string · decimal

Close price (most recent trade)

Example: 9347.66
changes
string[]

Hourly prices descending for past 24 hours

Example: ["9365.1","9386.16","9373.41","9322.56","9268.89","9265.38"]
bid
string · decimal

Current best bid

Example: 9345.70
ask
string · decimal

Current best offer

Example: 9347.67
GET/v2/ticker/{symbol}
curl --request GET \
  --url https://api.gemini.com/v2/ticker/:symbol
shell
Example Responses
{
  "symbol": "BTCUSD",
  "open": "9121.76",
  "high": "9440.66",
  "low": "9106.51",
  "close": "9347.66",
  "changes": [
    "9365.1",
    "9386.16",
    "9373.41",
    "9322.56",
    "9268.89",
    "9265.38",
    "9245",
    "9231.43",
    "9235.88",
    "9265.8",
    "9295.18",
    "9295.47",
    "9310.82",
    "9335.38",
    "9344.03",
    "9261.09",
    "9265.18",
    "9282.65",
    "9260.01",
    "9225",
    "9159.5",
    "9150.81",
    "9118.6",
    "9148.01"
  ],
  "bid": "9345.70",
  "ask": "9347.67"
}
json
application/json

List Candles

GET
https://api.gemini.com
/v2/candles/{symbol}/{time_frame}

This endpoint retrieves time-intervaled data for the provided symbol.

List Candles › path Parameters

symbol
string · required

Trading pair symbol

time_frame
string · enum · required

Time range for each candle:

  • 1m - 1 minute
  • 5m - 5 minutes
  • 15m - 15 minutes
  • 30m - 30 minutes
  • 1h - 1 hour
  • 6h - 6 hours
  • 1day - 1 day
Enum values:
1m
5m
15m
30m
1h
6h
1d

List Candles › Responses

The response will be an array of arrays

array
GET/v2/candles/{symbol}/{time_frame}
curl --request GET \
  --url https://api.gemini.com/v2/candles/:symbol/:time_frame
shell
Example Responses
[
  [
    1559755800000,
    7781.6,
    7820.23,
    7776.56,
    7819.39,
    34.7624802159
  ],
  [
    1559755800000,
    7781.6,
    7829.46,
    7776.56,
    7817.28,
    43.4228281059
  ]
]
json
application/json

List Derivative Candles

GET
https://api.gemini.com
/v2/derivatives/candles/{symbol}/{time_frame}

This endpoint retrieves time-intervaled data for the provided perpetual symbol.

List Derivative Candles › path Parameters

symbol
string · required

Trading pair symbol. Available only for perpetual pairs like BTCGUSDPERP

time_frame
string · enum · required

Time range for each candle. 1m: 1 minute (only)

Enum values:
1m

List Derivative Candles › Responses

The response will be an array of arrays

array
GET/v2/derivatives/candles/{symbol}/{time_frame}
curl --request GET \
  --url https://api.gemini.com/v2/derivatives/candles/:symbol/:time_frame
shell
Example Responses
[
  [
    1714126740000,
    68038,
    68038,
    68038,
    68038,
    0
  ],
  [
    1714126680000,
    68038,
    68038,
    68038,
    68038,
    0
  ]
]
json
application/json

FX Rate

GET
https://api.gemini.com
/v2/fxrate/{symbol}/{timestamp}

We have a growing international institutional customer base. When pulling market data for charting, it can be useful to have access to our FX rate for the relevant currency at that time.

Please note, Gemini does not offer foreign exchange services. This endpoint is for historical reference only and does not provide any guarantee of future exchange rates.

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

Supported Pairs

[AUDUSD, CADUSD, COPUSD, EURUSD, CHFUSD, HKDUSD, NZDUSD, GBPUSD, BRLUSD, INRUSD, SGDUSD, KRWUSD, JPYUSD, CNYUSD]

FX Rate › path Parameters

symbol
string · required

Trading pair symbol

BTCUSD, etc. See symbols and minimums.

timestamp
required

The timestamp to pull the FX rate for.

Gemini strongly recommends using milliseconds instead of seconds for timestamps.

timestamp

FX Rate › Headers

X-GEMINI-APIKEY
string · required

Your API key

X-GEMINI-SIGNATURE
string · required

HEX-encoded HMAC-SHA384 of payload signed with API secret

X-GEMINI-PAYLOAD
string · required

Base64-encoded JSON payload

Content-Type
string
Default: text/plain
Content-Length
string
Default: 0
Cache-Control
string
Default: no-cache

FX Rate › Responses

Successful operation

fxPair
string

The requested currency pair

Example: AUDUSD
rate
number · double

The exchange rate

Example: 0.69

timestamp

provider
string

The market data provider

Example: bcb
benchmark
string

The market for which the retrieved price applies to

Example: Spot
GET/v2/fxrate/{symbol}/{timestamp}
curl --request GET \
  --url https://api.gemini.com/v2/fxrate/:symbol/:timestamp \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>'
shell
Example Responses
{
  "fxPair": "AUDUSD",
  "rate": "0.69",
  "asOf": 1594651859000,
  "provider": "bcb",
  "benchmark": "Spot"
}
json
application/json

Orders