Get staking operation statistics

Staking activity over time, ready to plot. Each point covers one period and one kind of event, and tells you which kind it was (`key`), how many there were (`count`) and how much DUAL they moved (`amount`, in wei). `total` counts every event in the range you asked for. Choose a period with `interval`, and a range with either `time_range` or the `when_created` dates — not both, as `time_range` wins. For a running "total staked" line use `/public/network/staking/operations/total`. For how things stand right now use `/public/network/staking`. Open to everyone. No sign-in needed.

GET
/public/network/staking/operations/stats

Query Parameters

interval?string

Bucket size for a time series. It fixes how many points the series has over the requested window, so a long window with a small interval is an expensive request.

Default"week"
Value in"hour" | "day" | "week" | "month" | "year"
time_range?string

Named time window relative to now. Endpoints that also expose from and to can use those parameters for an exact window instead.

Default"all"
Value in"all" | "today" | "week" | "month" | "year"
limit?integer

How many items to return in one page. The default and the maximum are both 25; a larger value is rejected with 400.

Default25
Formatint64
Range1 <= value <= 25
when_created[$gt]?string

Count only operations indexed strictly after this instant.

Formatdate-time
when_created[$lt]?string

Count only operations indexed strictly before this instant.

Formatdate-time
when_created[$gte]?string

Count only operations indexed at or after this instant.

Formatdate-time
when_created[$lte]?string

Count only operations indexed at or before this instant.

Formatdate-time

Response Body

application/json

application/json

application/json

curl -X GET "https://api.dual.network/public/network/staking/operations/stats"
{
  "total": 184,
  "data": [
    {
      "when": "2026-02-23T00:00:00Z",
      "key": "stake",
      "count": 44,
      "amount": "18500000000000000000000"
    },
    {
      "when": "2026-02-23T00:00:00Z",
      "key": "unstake",
      "count": 22,
      "amount": "5000000000000000000000"
    },
    {
      "when": "2026-03-02T00:00:00Z",
      "key": "stake",
      "count": 51,
      "amount": "13500000000000000000000"
    }
  ]
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}
{
  "code": 13,
  "message": "internal error"
}