Docs / API: Transfers
Transfer statistics
Returns count and USD totals of stored transfers by chain and by token.
GET/api/v1/transfers/stats
| Property | Value |
|---|---|
| Authentication | Optional. A key raises your limit. |
| Rate-limit cost | 1 unit |
| Status | Live |
#Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
hours | query | integer | No | Window, from 1 to 168. Default 24. |
#Request
curl -s "https://farbeamlabs.com/api/v1/transfers/stats?hours=24"const res = await fetch("https://farbeamlabs.com/api/v1/transfers/stats?hours=24");
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/transfers/stats?hours=24",
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": {
"hours": 24,
"by_chain": [
{
"chain": "ethereum",
"count": 1798,
"usd": 3204135932
},
{
"chain": "base",
"count": 5166,
"usd": 1667364125
}
],
"by_token": [
{
"token": "USDC",
"count": 3046,
"usd": 2616323055
},
{
"token": "WETH",
"count": 2119,
"usd": 1257705165
}
]
},
"meta": {
"request_id": "req_cefb03e59533",
"as_of": "2026-11-04T20:10:50.218Z"
}
}#Errors
| HTTP | Code | Meaning |
|---|---|---|
| 400 | invalid_parameter | A parameter is out of range. |
All errors share one format. See errors.