curl --request GET \
--url https://api.platform.dakota.xyz/wallets/{wallet_id}/balances \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.platform.dakota.xyz/wallets/{wallet_id}/balances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/wallets/{wallet_id}/balances"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/wallets/{wallet_id}/balances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"wallet_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
"address": "0x165cd37b4c644c2921454429e7f9358d18a45e14",
"balances": [
{
"asset": {
"id": "USDC",
"name": "USD Coin",
"network_id": "ethereum-mainnet",
"contract_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"token_standard": "erc20",
"decimals": 6
},
"amount_usd": "123.45"
}
],
"total_amount_usd": "1234.56"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#invalid-request",
"title": "Bad request - invalid wallet ID",
"status": 400,
"detail": "Bad request - invalid wallet ID",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#authentication-error",
"title": "Unauthorized",
"status": 401,
"detail": "Unauthorized",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Wallet not found",
"status": 404,
"detail": "Wallet not found",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#internal-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}Get wallet balances across all networks
Returns current wallet balances grouped by asset and network for the specified wallet.
curl --request GET \
--url https://api.platform.dakota.xyz/wallets/{wallet_id}/balances \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.platform.dakota.xyz/wallets/{wallet_id}/balances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/wallets/{wallet_id}/balances"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/wallets/{wallet_id}/balances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"wallet_id": "1NFHrqBHb3cTfLVkFSGmHZqdDPi",
"address": "0x165cd37b4c644c2921454429e7f9358d18a45e14",
"balances": [
{
"asset": {
"id": "USDC",
"name": "USD Coin",
"network_id": "ethereum-mainnet",
"contract_address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"token_standard": "erc20",
"decimals": 6
},
"amount_usd": "123.45"
}
],
"total_amount_usd": "1234.56"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#invalid-request",
"title": "Bad request - invalid wallet ID",
"status": 400,
"detail": "Bad request - invalid wallet ID",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#authentication-error",
"title": "Unauthorized",
"status": 401,
"detail": "Unauthorized",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Wallet not found",
"status": 404,
"detail": "Wallet not found",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#internal-error",
"title": "Internal server error",
"status": 500,
"detail": "Internal server error",
"instance": "https://api.platform.dakota.xyz/wallets/example-id/balances",
"request_id": "req_01hzy6y7v8w9x0y1z2a3b4c5d6"
}Authorizations
Path Parameters
Wallet ID KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.
27^[0-9A-Za-z]{27}$"1NFHrqBHb3cTfLVkFSGmHZqdDPi"
Response
Wallet balances retrieved successfully
Balances for a wallet address across all networks
KSUID is a 27-character globally unique ID that combines a timestamp with a random component. Used for all entity identifiers in the Dakota platform.
27^[0-9A-Za-z]{27}$"1NFHrqBHb3cTfLVkFSGmHZqdDPi"
The wallet address
"0x165cd37b4c644c2921454429e7f9358d18a45e14"
List of asset balances
Show child attributes
Show child attributes
Total USD value of all balances, as a decimal string with 2 decimal places (cents). Rounded DOWN (truncated toward zero), never rounded up, so the value never exceeds the holder's spendable balance.
"1234.56"
Sandbox only. Cards is available in sandbox only while we finish
development, so production responses never include card.
The spendable position of the wallet's cards, read live from the
card provider. Present while the wallet's card enablement is
active, detach_requested or detached, since a wallet being
detached, or already detached, can still owe an outstanding
amount. Absent (never null) for a wallet with no enablement or
one still attaching. Also absent when the card position cannot be
read within a short time budget: the rest of the response does not
depend on it, so a slow or failed card read never fails or delays
the balances call. Every other field is the same whether or not
card is present.
Show child attributes
Show child attributes
Was this page helpful?

