Gemini is currently in the process of introducing new API architecture that will impact how decimal balances are returned from this endpoint for fiat and crypto assets.
As a result of this change, requests routed via the new architecture will return fiat balances and crypto balances truncated to 15 and 19 decimal places, respectively. It is recommended that users floor the values returned from this endpoint to the correct precision until the migration has been completed.
The API key you use to access this endpoint must have the Trader, Fund Manager, or Auditor role assigned. See Roles for more information.
The OAuth scope must have balances:read 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
Request Body
requeststring·required
The API endpoint pathExample: /v1/balances
noncestring | integer·required
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
accountstring·required
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. Specifies the account on which you intend to place the order. Only available for exchange accounts.Example: primary
showPendingBalancesboolean
Whether to include pending balances such as in-flight crypto deposits or withdrawals in the balances response.
> **Note:** Setting this field to `true` will result in slower response times due to additional database lookups required to retrieve pending balance information.Example: false
The confirmed balance for the currency (also referred to as `confirmedBalance`). For crypto withdrawals, this value is **not** reduced until the withdrawal has been confirmed on the blockchain. This delay protects against blockchain reorganizations. Use the `available` field instead if you need balances that immediately reflect holds.Example: 10.5
availablenumber
The amount available for trading. This value is reduced **immediately** when an order hold or withdrawal hold is placed, making it the recommended field for tracking real-time spendable balances.Example: 9
availableForWithdrawalnumber
The amount available for withdrawalExample: 9
pendingWithdrawalnumber
The amount pending withdrawalExample: 1
pendingDepositnumber
The amount pending depositExample: 0.5
_timestampstring (date-time)
Server-side monotonically increasing clock value as an ISO 8601 timestamp. Clients can use this value to detect and filter out stale responses that may occur due to load balancing or potential stale servers.Example: 2024-03-16T00:00:00.000000Z