API reference
Get protocol statistics
GET
/v2/stats/dailyRead protocol volume statistics.
Authentication: None. This route is public.
#Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
includeMetadata |
query | "true" · "false" |
No | Opt in to freshness and coverage metadata; omitted by default for older strict clients. |
days |
query | integer (1–365) | No (default 14) |
How many trailing days of protocol statistics to include, ending today. |
#Response
200 returns an object with:
metadata· objectasOf· string (date-time) · requireddayBasis·"created_at_utc"· requiredcurrentProducts· array of"swap"·"bridge"·"coinflip"· requiredvolumeIncludesLegacy· boolean · requiredorderCountsIncludeLegacy·false· requiredlegacyAsOf· string (date-time) or null · requiredunvaluedLegacyCompletedOrders· integer or null · required
stats24h· object · requiredorders· number · requiredcompleted· number · requiredfailed· number · requiredswaps· number · requiredbridge· number · requiredvolumeUsd· number · required
totals· object · requiredorders· number · requiredcompleted· number · requiredfailed· number · requiredswaps· number · requiredbridge· number · requiredvolumeUsd· number · required
daily· array of object · requiredorders· number · requiredcompleted· number · requiredfailed· number · requiredswaps· number · requiredbridge· number · requiredvolumeUsd· number · requireddate· string · required
Errors use the standard error envelope: branch on code, never on the message.
#Example
curl
curl 'https://api-beta.wagyu.xyz/v2/stats/daily?days=2&includeMetadata=true'JavaScript
const res = await fetch('https://api-beta.wagyu.xyz/v2/stats/daily?days=2&includeMetadata=true'
);
const data = await res.json();Python
import requests
res = requests.get('https://api-beta.wagyu.xyz/v2/stats/daily?days=2&includeMetadata=true', timeout=30)
data = res.json()Response · 200 · captured 4 Nov 2026, 08:24 UTC
{
"metadata": {
"asOf": "2026-11-04T08:24:47.251Z",
"dayBasis": "created_at_utc",
"currentProducts": [
"swap",
"bridge",
"coinflip"
],
"volumeIncludesLegacy": true,
"orderCountsIncludeLegacy": false,
"legacyAsOf": "2026-10-19T15:40:51.844Z",
"unvaluedLegacyCompletedOrders": 2044
},
"stats24h": {
"orders": 747,
"completed": 580,
"failed": 4,
"swaps": 565,
"bridge": 157,
"volumeUsd": 34700689.326225616
},
"totals": {
"orders": 44207,
"completed": 35874,
"failed": 221,
"swaps": 38423,
"bridge": 4496,
"volumeUsd": 1329602700.2141101
},
"daily": [
{
"orders": 216,
"completed": 165,
"failed": 2,
"swaps": 171,
"bridge": 44,
"volumeUsd": 8524549.7325113,
"date": "2026-11-04"
},
{
"orders": 749,
"completed": 574,
"failed": 2,
"swaps": 565,
"bridge": 148,
"volumeUsd": 30252326.080876924,
"date": "2026-11-03"
},
{
"orders": 553,
"completed": 359,
"failed": 5,
"swaps": 459,
"bridge": 61,
"volumeUsd": 9631538.066724319,
"date": "2026-11-02"
}
]
}