Docs / API: Wallets
Wallet overview
Returns native and curated-token balances. An EVM address is read on all six EVM chains. A Solana address also returns recent signatures.
GET/api/v1/wallets/{address}
| Property | Value |
|---|---|
| Authentication | Optional. A key raises your limit. |
| Rate-limit cost | 3 units |
| Status | Live |
#Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
address | path | string | Yes | EVM or Solana address. |
#Request
curl -s "https://farbeamlabs.com/api/v1/wallets/0x28C6c06298d514Db089934071355E5743bf21d60"const res = await fetch("https://farbeamlabs.com/api/v1/wallets/0x28C6c06298d514Db089934071355E5743bf21d60");
const { data, meta, error } = await res.json();
if (error) throw new Error(`${error.code}: ${error.message}`);
console.log(data);import os, requests
res = requests.get(
"https://farbeamlabs.com/api/v1/wallets/0x28C6c06298d514Db089934071355E5743bf21d60",
timeout=30,
)
body = res.json()
if "error" in body:
raise RuntimeError(body["error"]["code"])
print(body["data"])You can send this request now in the API playground.
#Response
This response is real. It was captured from the running API when this page was built. Arrays are cut to two items.
JSON
{
"data": {
"address": "0x28C6c06298d514Db089934071355E5743bf21d60",
"family": "evm",
"label": {
"name": "Binance 14",
"type": "exchange",
"address": "0x28C6c06298d514Db089934071355E5743bf21d60",
"chains": [
"ethereum"
],
"source_url": "https://etherscan.io/address/0x28C6c06298d514Db089934071355E5743bf21d60"
},
"chains": [
{
"chain": "ethereum",
"ok": true,
"native": {
"symbol": "ETH",
"amount": 0.8033193330768161,
"usd": 1936.3
},
"tx_sent": 18915339,
"is_contract": false,
"tokens": [
{
"symbol": "USDC",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"amount": 52363.119552,
"usd": 52346.47
},
{
"symbol": "USDT",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"amount": 1352017.937959,
"usd": 1351159.41
}
],
"tracked_usd": 1409876.33
},
{
"chain": "base",
"ok": true,
"native": {
"symbol": "ETH",
"amount": 0.009976650767481596,
"usd": 24.05
},
"tx_sent": 25,
"is_contract": false,
"tokens": [
{
"symbol": "USDC",
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": 604.382274,
"usd": 604.19
},
{
"symbol": "WETH",
"address": "0x4200000000000000000000000000000000000006",
"amount": 1.8e-17,
"usd": 0
}
],
"tracked_usd": 628.24
}
],
"indexed_transfers": [],
"partial": false,
"coverage_note": "Balances cover the native asset and the curated token list of each chain. They are not a full portfolio.",
"stale": false,
"as_of": "2026-11-04T20:10:50.509Z"
},
"meta": {
"request_id": "req_ed7ac72a88cb",
"as_of": "2026-11-04T20:10:50.509Z"
}
}#Fields
| Field | Type | Description |
|---|---|---|
data.family | string | evm or solana. |
data.label | object | Entry from the label set, or null. |
data.chains[].ok | boolean | False when the source for this chain did not answer. |
data.chains[].native | object | Symbol, amount and USD value. |
data.chains[].tx_sent | integer | EVM only. The account nonce. |
data.chains[].is_contract | boolean | EVM only. True when the address holds code. |
data.chains[].tracked_usd | number | Value of the assets read for this chain. |
data.indexed_transfers | array | Stored large transfers that touch this address. |
data.partial | boolean | True when at least one chain failed. |
#Notes
- EVM balances cover only the native asset and the curated tokens. They are not a full portfolio.
- If some chains fail,
partialis true and those chains haveok: false.
#Errors
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_address | The address format does not match the chain. |
| 502 | upstream_unavailable | A public data source did not answer. |
All errors share one format. See errors.