# Get protocol statistics

> Read protocol volume statistics

`GET /v2/stats/daily`

Read 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` · object
  - `asOf` · string (date-time) · **required**
  - `dayBasis` · `"created_at_utc"` · **required**
  - `currentProducts` · array of `"swap"` · `"bridge"` · `"coinflip"` · **required**
  - `volumeIncludesLegacy` · boolean · **required**
  - `orderCountsIncludeLegacy` · `false` · **required**
  - `legacyAsOf` · string (date-time) or null · **required**
  - `unvaluedLegacyCompletedOrders` · integer or null · **required**
- `stats24h` · object · **required**
  - `orders` · number · **required**
  - `completed` · number · **required**
  - `failed` · number · **required**
  - `swaps` · number · **required**
  - `bridge` · number · **required**
  - `volumeUsd` · number · **required**
- `totals` · object · **required**
  - `orders` · number · **required**
  - `completed` · number · **required**
  - `failed` · number · **required**
  - `swaps` · number · **required**
  - `bridge` · number · **required**
  - `volumeUsd` · number · **required**
- `daily` · array of object · **required**
  - `orders` · number · **required**
  - `completed` · number · **required**
  - `failed` · number · **required**
  - `swaps` · number · **required**
  - `bridge` · number · **required**
  - `volumeUsd` · number · **required**
  - `date` · string · **required**

Errors use the [standard error envelope](https://docs.wagyu.xyz/actions-and-retries.md#the-error-envelope): branch on `code`, never on the message.

## Example

<!-- curl -->
```bash
curl 'https://api-beta.wagyu.xyz/v2/stats/daily?days=2&includeMetadata=true'
```

<!-- JavaScript -->
```javascript
const res = await fetch('https://api-beta.wagyu.xyz/v2/stats/daily?days=2&includeMetadata=true'
);
const data = await res.json();
```

<!-- Python -->
```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 -->
```json
{
  "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"
    }
  ]
}
```

---
Source: https://docs.wagyu.xyz/api-reference/get-protocol-stats · Built from the live Wagyu API on 2026-11-04.
