TimestampType
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = 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 |
Nonce
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = TimestampType | |
| type = integer |
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = string | |
| type = 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 |
SymbolDetails
symbolThe requested symbol. See symbols and minimums
base_currencyCCY1 or the top currency. (i.e BTC in BTCUSD)
quote_currencyCCY2 or the quote currency. (i.e USD in BTCUSD)
tick_sizeThe number of decimal places in the base_currency. (i.e 1e-8)
quote_incrementThe number of decimal places in the quote_currency (i.e 0.01)
min_order_sizeThe minimum order size in base_currency units (i.e 0.00001)
statusStatus of the current order book. Can be open, closed, cancel_only, post_only, limit_only.
wrap_enabledWhen True, symbol can be wrapped using this endpoint:
POST https://api.gemini.com/v1/wrap/:symbol
product_typeInstrument type spot / swap -- where swap signifies perpetual swap.
contract_typevanilla / 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.
contract_price_currencyCCY2 or the quote currency for spot instrument (i.e. USD in BTCUSD)
Or collateral currency of the contract in case of perpetual swap instrument.
Ticker
bidThe highest bid currently available
askThe lowest ask currently available
lastThe price of the last executed trade
Information about the 24 hour volume on the exchange. See properties below
OrderBook
The bid price levels currently on the book. These are offers to buy at a given price.
The ask price levels currently on the book. These are offers to sell at a given price.
OrderBookEntry
priceThe price
amountThe total quantity remaining at the price
DO NOT USE - this field is included for compatibility reasons only and is just populated with a dummy value.
Trade
The time that the trade was executed
The time that the trade was executed in milliseconds
tidThe trade ID number
priceThe price the trade was executed at
amountThe amount that was traded
exchangeWill always be "gemini"
typebuymeans that an ask was removed from the book by an incoming buy order.sellmeans that a bid was removed from the book by an incoming sell order.
brokenWhether the trade was broken or not. Broken trades will not be displayed by default; use the include_breaks to display them.
Heartbeat
requestThe literal string /v1/heartbeat
The nonce, as described in Private API Invocation
NewOrderRequest
requestThe literal string "/v1/order/new"
nonceThe nonce, as described in Private API Invocation
symbolThe symbol for the new order
amountQuoted decimal amount to purchase
priceQuoted decimal amount to spend per unit
sidetypeThe order type. "exchange limit" for all order types except for stop-limit orders. "exchange stop limit" for stop-limit orders.
client_order_idRecommended. A client-specified order id
optionsAn optional array containing at most one supported order execution option. See Order execution options for details.
stop_priceThe price to trigger a stop-limit order. Only available for stop-limit orders.
margin_orderSet to true to place this order on a margin account using borrowed funds. Defaults to false. Only available for margin-enabled accounts. See Margin Trading for details.
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to place the order. Only available for exchange accounts.
CancelOrderRequest
requestThe literal string "/v1/order/cancel"
timestamp
order_idThe order ID given by /order/new
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to cancel the order. Only available for exchange accounts.
CancelAllOrdersRequest
requestThe literal string "/v1/order/cancel/all"
timestamp
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to cancel the orders. Only available for exchange accounts.
CancelAllOrdersBySessionRequest
requestThe literal string "/v1/order/cancel/session"
timestamp
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to cancel the orders. Only available for exchange accounts.
OrderStatusRequest
requestThe API endpoint path
timestamp
order_idThe order id to get information on. The order_id represents a whole number and is transmitted as an unsigned 64-bit integer in JSON format. order_id cannot be used in combination with client_order_id.
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to place the order. Only available for exchange accounts.
client_order_idThe client_order_id used when placing the order. client_order_id cannot be used in combination with order_id
include_tradesEither True or False. If True the endpoint will return individual trade details of all fills from the order.
MyTradesRequest
requestThe API endpoint path
timestamp
accountRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group. Specifies the account on which you intend to place the order. Only available for exchange accounts.
symbolThe symbol to retrieve trades for
limit_tradesThe maximum number of trades to return. Default is 50, max is 500.
Only return trades on or after this timestamp. See Data Types: Timestamps for more information. If not present, will show the most recent orders.
LimitOrderResponse
order_ididsymbolexchangeavg_execution_pricesidetypetimestamp
timestamp
is_liveis_cancelledis_hiddenwas_forcedexecuted_amountremaining_amountclient_order_idoptionspriceoriginal_amountStopLimitOrderResponse
order_ididsymbolexchangeavg_execution_pricesidetypetimestamp
timestamp
is_liveis_cancelledis_hiddenwas_forcedexecuted_amountoptionsstop_pricepriceoriginal_amountCancelOrderResponse
order_ididsymbolexchangeavg_execution_pricesidetypetimestamp
timestamp
is_liveis_cancelledis_hiddenwas_forcedexecuted_amountremaining_amountreasonoptionspriceoriginal_amountOrder
order_idThe order id
client_order_idAn optional client-specified order id
symbolThe symbol of the order
exchangeWill always be "gemini"
priceThe price the order was issued at
avg_execution_priceThe average price at which this order as been executed so far. 0 if the order has not been executed at all.
sidetypeDescription of the order
optionsAn array containing at most one supported order execution option. See Order execution options for details.
The timestamp the order was submitted. Note that for compatibility reasons, this is returned as a string. We recommend using the timestampms field instead.
The timestamp the order was submitted in milliseconds.
is_livetrue if the order is active on the book (has remaining quantity and has not been canceled)
is_cancelledtrue if the order has been canceled. Note the spelling, "cancelled" instead of "canceled". This is for compatibility reasons.
reasonPopulated with the reason your order was canceled, if available.
was_forcedWill always be false.
executed_amountThe amount of the order that has been filled.
remaining_amountThe amount of the order that has not been filled.
original_amountThe originally submitted amount of the order.
is_hiddenWill always return false.
Contains an array of JSON objects with trade details.
MyTrade
priceamounttimestamp
timestamp
typeaggressorfee_currencyfee_amounttidorder_idclient_order_idexchangeis_auction_fillbreakTradeVolume
symbolbase_currencyquote_currencynotional_currencydata_datetotal_volume_basemaker_buy_sell_ratiobuy_maker_basebuy_maker_notionalbuy_maker_countsell_maker_basesell_maker_notionalsell_maker_countbuy_taker_basebuy_taker_notionalbuy_taker_countsell_taker_basesell_taker_notionalsell_taker_countBalance
typecurrencyThe currency symbol
amountThe amount available
availableThe amount available for trading
availableForWithdrawalThe amount available for withdrawal
pendingWithdrawalThe amount pending withdrawal
pendingDepositThe amount pending deposit
NotionalVolume
datelast_updated_msweb_maker_fee_bpsweb_taker_fee_bpsweb_auction_fee_bpsapi_maker_fee_bpsapi_taker_fee_bpsapi_auction_fee_bpsfix_maker_fee_bpsfix_taker_fee_bpsfix_auction_fee_bpsnotional_30d_volumeapi_notional_30d_volumeNotionalBalance
currencyCurrency code, see symbols and minimums
amountThe current balance
amountNotionalAmount, in notional
availableThe amount that is available to trade
availableNotionalAvailable, in notional
availableForWithdrawalThe amount that is available to withdraw
availableForWithdrawalNotionalAvailableForWithdrawal, in notional
Address
addressString representation of the cryptocurrency address
Creation date of the address
labelIf you provided a label when creating the address, it will be echoed back here
memoIt would be present if applicable, it will be present for cosmos address
networkThe blockchain network for the address
Transfer
typestatusThe timestamp in milliseconds
eidThe transfer ID
currencyThe currency transferred
amountThe amount transferred
txHashThe transaction hash if applicable
InstantQuote
quoteIdUnique ID for the quote. This is used in the execution of the order
maxAgeMsNumber of milliseconds until this quote price expires. Once expired, you will need to request a new quote
pairThe symbol passed in the quote request
priceThe quoted price of the asset. This will not change when attempting execution
priceCurrencyThe currency in which the order is priced. Matches CCY2 in the symbol
sideEither "buy" or "sell"
quantityThe quantity of the asset to be bought or sold
quantityCurrencyThe currency label for the quantity field. Matches CCY1 in the symbol
feeThe fee quantity to be taken for the order upon execution
feeCurrencyThe currency label for the order
depositFeeThe deposit fee quantity. Will be applied if a debit card is used for the order. Will return 0 if there is no depositFee
depositFeeCurrencyCurrency in which depositFee is taken
totalSpendTotal quantity to spend for the order. Will be the sum inclusive of all fees and amount to be traded.
totalSpendCurrencyCurrency of the totalSpend to be spent on the order
ClearingOrder
clearing_idThe clearing ID
symbolThe trading pair
priceThe order price
amountThe order amount
sidestatusThe order status
The timestamp
timestampmsThe timestamp in milliseconds
is_confirmedWhether the order is confirmed
Account
nameThe account name
account_idThe account ID
is_defaultWhether the account is the default account
createdThe creation date
Transaction
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object | |
| type = object |
accountThe account.
amountThe quantity that was executed.
clientOrderIdThe client order ID, if defined. Otherwise an empty string.
priceThe price that the execution happened at.
The time that the trade happened in milliseconds.
sideIndicating the side of the original order.
isAggressorIf true, this order was the taker in the trade.
feeAssetCodeThe symbol that the trade was for
feeAmountThe fee amount charged
orderIdThe order that this trade executed against.
exchangeWill always be "gemini".
isAuctionFillTrue if the trade was a auction trade and not an on-exchange trade.
isClearingFillTrue if the trade was a clearing trade and not an on-exchange trade.
tidThe trade ID.
symbolThe symbol that the trade was for.
RevokeOauthTokenResponse
messageA message that indicates the token has been revoked for the account
PriceFeedResponse
pairTrading pair symbol. See symbols and minimums
priceCurrent price of the pair on the Gemini order book
percentChange24h24 hour change in price of the pair on the Gemini order book
ApprovedAddress
networkThe network of the approved address. Network can be bitcoin, ethereum, bitcoincash, litecoin, zcash, filecoin, dogecoin, tezos, solana, polkadot, avalanche, cosmos, or xrpl
scopeWill return the scope of the address as either "account" or "group"
labelThe label assigned to the address
statusThe status of the address that will return as "active", "pending-time" or "pending-mua". The remaining time is exactly 7 days after the initial request. "pending-mua" is for multi-user accounts and will require another administator or fund manager on the account to approve the address.
createdAtUTC timestamp in millisecond of when the address was created.
addressThe address on the approved address list.
OpenPosition
symbolThe symbol of the order.
instrument_typeThe type of instrument. Either "spot" or "perp".
quantityThe position size. Value will be negative for shorts.
notional_valueThe value of position; calculated as (quantity * mark_price). Value will be negative for shorts.
realised_pnlThe current P&L that has been realised from the position.
unrealised_pnlCurrent Mark to Market value of the positions.
average_costThe average price of the current position.
mark_priceThe current Mark Price for the Asset or the position.
FundingAmountResponse
symbolThe requested symbol. See symbols and minimums
fundingDateTimeUTC date time in format yyyy-MM-ddThh:mm:ss.SSSZ format
fundingTimestampMilliSecsCurrent funding amount Epoc time.
nextFundingTimestampNext funding amount Epoc time.
amountThe dollar amount for a Long 1 position held in the symbol for funding period (1 hour)
estimatedFundingAmountThe estimated dollar amount for a Long 1 position held in the symbol for next funding period (1 hour)
StakingBalance
typeWill always be "Staking"
currencyCurrency code, see symbols and minimums
balanceThe current Staking balance
availableThe amount that is available to trade
availableForWithdrawalThe Staking amount that is available to redeem to exchange account
StakingDeposit
transactionIdA unique identifier for the staking transaction
providerIdProvider Id, in uuid4 format
currencyCurrency code, see symbols
amountThe amount deposited
accrualTotalThe total accrual
A JSON object including one or many rates. If more than one rate it would be an array of rates.
StakingTransaction
transactionIdA unique identifier for the staking transaction
transactionTypeCan be any one of the following - Deposit, Redeem, Interest, RedeemPayment, AdminRedeem, AdminCreditAdjustment, AdminDebitAdjustment
amountCurrencyCurrency code
amountThe amount that is defined by the transactionType above
priceCurrencyA supported three-letter fiat currency code, e.g. usd
priceAmountCurrent market price of the underlying token at the time of the reward
The time of the transaction in milliseconds
StakingHistory
providerIdProvider Id, in uuid4 format
StakingRate
providerIdProvider Id, in uuid4 format
rateStaking interest rate in bps (Expressed as a simple rate. Interest on Staking balances compounds daily. In mobile and web applications, APYs are derived from this rate and rounded to 1/10th of a percent.)
apyPctStaking interest APY (Expressed as a percentage derived from the rate and rounded to 1/10th of a percent.)
ratePctrate expressed as a percentage
depositUsdLimitMaximum new amount in USD notional of this crypto that can participate in Gemini Staking per account per month
StakingRewardPeriod
providerIdProvider Id, in uuid4 format
currencyCurrency code, see symbols
apyPctStaking reward rate expressed as an APY at time of accrual. Interest on Staking balances compounds daily based on the simple rate which is available from /v1/staking/rates/
ratePctRate expressed as a percentage
numberOfAccrualsNumber of accruals in the specific aggregate, typically one per day. If the rate is adjusted, new accruals are added.
accrualTotalThe total accrual
firstAccrualAtTime of first accrual. In iso datetime with timezone format
lastAccrualAtTime of last accrual. In iso datetime with timezone format
StakingRewards
providerIdProvider Id, in uuid4 format
currencyCurrency code, see symbols
accrualTotalThe total accrual
Array of JSON objects with period accrual information
StakingWithdrawal
transactionIdA unique identifier for the staking transaction
amountThe amount deposited
amountPaidSoFarThe amount redeemed successfully
amountRemainingThe amount pending to be redeemed
currencyCurrency code
requestInitiatedIn ISO datetime with timezone format
FeeEstimateRequest
requestThe string /v1/withdraw/{currencyCodeLowerCase}/feeEstimate where :currencyCodeLowerCase is replaced with the currency code of a supported crypto-currency, e.g. eth, aave, etc. See Symbols and minimums
The nonce, as described in Private API Invocation
addressStandard string format of cryptocurrency address
amountQuoted decimal amount to withdraw
accountThe name of the account within the subaccount group.
FeeEstimateResponse
currencyCurrency code, see symbols.
feeThe estimated gas fee
isOverrideValue that shows if an override on the customer's account for free withdrawals exists
monthlyLimitTotal nunber of allowable fee-free withdrawals
monthlyRemainingTotal number of allowable fee-free withdrawals left to use
RoleResponse
isAuditorTrue if the Auditor role is assigned to the API keys. False otherwise.
isFundManagerTrue if the Fund Manager role is assigned to the API keys. False otherwise.
isTraderTrue if the Trader role is assigned to the API keys. False otherwise.
counterparty_idOnly returned for master-level API keys. The Gemini clearing counterparty ID associated with the API key making the request.
isAccountAdminOnly returned for master-level API keys.True if the Administrator role is assigned to the API keys. False otherwise.
MarginResponse
margin_assets_valueThe $ equivalent value of all the assets available in the current trading account that can contribute to funding a derivatives position.
initial_marginThe $ amount that is being required by the accounts current positions and open orders.
available_marginThe difference between the margin_assets_value and initial_margin.
margin_maintenance_limitThe minimum amount of margin_assets_value required before the account is moved to liquidation status.
leverageThe ratio of Notional Value to Margin Assets Value.
notional_valueThe $ value of the current position.
estimated_liquidation_priceThe estimated price for the asset at which liquidation would occur.
initial_margin_positionsThe contribution to initial_margin from open positions.
reserved_marginThe contribution to initial_margin from open orders.
reserved_margin_buysThe contribution to initial_margin from open BUY orders.
reserved_margin_sellsThe contribution to initial_margin from open SELL orders.
buying_powerThe amount of that product the account could purchase based on current initial_margin and margin_assets_value.
selling_powerThe amount of that product the account could sell based on current initial_margin and margin_assets_value.
MoneyAmount
currencyThe currency code (e.g., "USD", "BTC", "ETH")
valueThe amount in the specified currency
LiquidationRisk
lossPercentageThe percentage loss from current value that would trigger liquidation, formatted as decimal (e.g., "0.1550" = 15.50%)
The estimated price at which liquidation would occur (optional, may not be present for all positions)
InterestRateInfo
rateThe interest rate as a decimal string
intervalThe time interval for the rate (currently only "hour" is supported)
MarginAccountSummary
The total value of all assets available in the margin account that can contribute to funding positions
The amount of collateral available for new positions or withdrawals
The total value of all open positions
The total amount currently borrowed across all currencies
leverageThe current leverage ratio (notionalValue / marginAssetValue)
The maximum value that can be purchased with available collateral
The maximum value that can be sold with available collateral
Collateral reserved for open buy orders
Collateral reserved for open sell orders
Liquidation risk information (only present if positions exist)
Current interest rate on borrowed amounts (only present if borrows exist)
MarginInterestRate
currencyThe currency code (e.g., "BTC", "ETH", "USD")
borrowRateThe hourly borrow rate as a decimal
borrowRateDailyThe daily borrow rate (hourly rate × 24)
borrowRateAnnualThe annualized borrow rate (daily rate × 365)
lastUpdatedUnix timestamp in milliseconds when the rate was last updated
MarginRiskStats
The total value of all assets available in the margin account
The amount of collateral available for new positions
The total value of all open positions
The total amount currently borrowed
leverageThe leverage ratio
Collateral reserved for open buy orders
Collateral reserved for open sell orders
The maximum value that can be purchased
The maximum value that can be sold
Liquidation risk information (only present if applicable)
MarginOrderPreview
Margin risk statistics before the order would be executed
Margin risk statistics after the order would be executed
Quantity
currencyThe currency code of the quantity.
valueThe value of the quantity.
FundingTransfer
eventTypeEvent type
Time of the funding payment
assetCodeAsset symbol
actionCredit or Debit
A nested JSON object describing the transaction amount
instrumentSymbolSymbol of the underlying instrument. Note that this is only attached to requests from 16th April 2024 onwards.
FundingPayment
eventTypeEvent type
FundingPaymentReportItem
eventTypeEvent type
Time of the funding payment
assetCodeAsset symbol
actionCredit or Debit
A nested JSON object describing the transaction amount
instrumentSymbolSymbol of the underlying instrument. Note that this is only attached to requests from 16th April 2024 onwards.
RiskStatsResponse
product_typeContract type for which the symbol data is fetched
mark_priceCurrent mark price at the time of request
index_priceCurrent index price at the time of request
open_intereststring representation of decimal value of open interest
open_interest_notionalstring representation of decimal value of open interest notional
FxRate
fxPairThe requested currency pair
rateThe exchange rate
The timestamp (in Epoch time format) that the requested fxrate has been retrieved for
providerThe market data provider
benchmarkThe market for which the retrieved price applies to
Candle
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = integer | |
| type = number |
Timestamp in milliseconds
TickerInfo
symbolThe trading pair symbol
openOpen price from 24 hours ago
highHigh price from 24 hours ago
lowLow price from 24 hours ago
closeClose price (most recent trade)
changesHourly prices descending for past 24 hours
bidCurrent best bid
askCurrent best offer

