Get Balances
Returns gross balances plus amounts held by deposits that are not final yet, with 200 OK.
balances has one key per supported currency (balance_<name>). Which key holds each token is returned as balance_key by GET /v1/summary/tokens: there is one balance per token, shared by every network, so USDT received on any network adds up in the same key. each a decimal string with 8 places; an account that never moved funds gets the same keys at "0.00000000". The key set grows when a currency is added, so iterate the keys instead of hard-coding them. available and locked are always objects and only include currencies that currently have a hold; when nothing is held both are {} and the spendable amount is balances. available is balances minus locked, never below zero. A payout is checked against available when a hold exists.
https://bridge.bifrostcrypto.com/v1/balancesbalances:read(a new key with no list is read-only)"In the sacred vaults of Asgard, Heimdall guards the digital treasures of each realm. Query the balances to reveal the riches accumulated in your journey through the nine worlds."Heimdallr Níu-mæðra sonr
Headers
| Key | Value | Description |
|---|---|---|
X-Bifrost-Invoke | {{api_key}} | Private API key |
cURL Example
curl -X GET "https://bridge.bifrostcrypto.com/v1/balances" \
-H "X-Bifrost-Invoke: YOUR_API_KEY"Response Example
{
"message": "balances_retrieved_success",
"balances": {
"balance_bitcoin": "0.00000000",
"balance_avalanche": "5.00000000",
"balance_ethereum": "0.50000000",
"balance_tether": "1000.00000000",
"balance_usdcoin": "500.00000000",
"balance_brz": "0.00000000",
"balance_binancecoin": "2.00000000",
"balance_cardano": "0.00000000",
"balance_solana": "10.00000000",
"balance_polygon": "100.00000000",
"balance_tron": "50.00000000",
"balance_brl1": "0.00000000",
"balance_ethenausde": "0.00000000",
"balance_dai": "0.00000000",
"balance_paypalusd": "0.00000000",
"balance_usdd": "0.00000000",
"balance_eurc": "0.00000000",
"balance_trueusd": "0.00000000",
"balance_usd1": "0.00000000",
"balance_tethergold": "0.00000000",
"balance_paxgold": "0.00000000",
"balance_pleasurecoin": "0.00000000",
"balance_dolz": "0.00000000",
"balance_floki": "0.00000000",
"balance_shibainu": "0.00000000",
"balance_pepe": "0.00000000",
"balance_dogecoin": "0.00000000",
"balance_ton": "0.00000000",
"balance_monero": "0.00000000",
"balance_litecoin": "0.00000000",
"balance_cronos": "0.00000000",
"balance_okb": "0.00000000",
"balance_usdg": "0.00000000"
},
"available": {
"balance_tether": "900.00000000"
},
"locked": {
"balance_tether": "100.00000000"
}
}Errors
Every error has the shape error.code, error.message and, when useful, error.details. Authentication, scope and rate-limit errors (401, 403, 429) apply to every endpoint and are described under Authentication.
| Status | Code | When | What to do |
|---|---|---|---|
| 400 | invalid_ip | The client IP address could not be determined. | Contact support. |