Skip to content
TraceFast Docs

Validator queues over time

See the queues over time in TraceFast →

Ethereum's validator queues as a summary: the current state plus one closing point per UTC day for the most recent limit days, newest first — the series behind a queue chart. What the queues are is explained in the Ethereum proof-of-stake docs.

GET https://tracefast.xyz/api/v1/chains/1/consensus/queues
ParameterInTypeNotes
limitqueryinteger, optionalthe most recent daily points to return, 1..90, default 30

Access — an API key on the Intelligence plan or higher (plans), or no key at all: pay per call with x402 at the same path on https://mpp.tracefast.xyz/api/v1, at the price its 402 states. As a tool for AI agents: get_validator_queue_history on the MCP server. Stable — see stability.

chains/1 is a literal: the method serves Ethereum mainnet data. Other chain ids answer 404 chain_not_supported, and an unknown query parameter is refused rather than ignored.

What it covers, and what it does not

  • Daily points only — one closing sample per UTC day, stated in granularity. The epoch-grain series and anything older than 90 days are not published here.
  • Queues and status counts, apart. Each point carries queues — the queues by the Electra rules, read from the chain's own pending lists — and status, the validator counts by status. Since Electra the status counts are not the queues; see validator queues now.
  • The queues are sampled from 2026-10-19. Earlier points carry queues: null — not sampled, not empty — and only their status.
  • Wait estimates in epochs only on a point: waitEstimates there has entryEpochs, exitEpochs and consolidationEpochs; the estimates in days are stated on current only. They are estimates of the queue as a whole, not a promise to any one validator.
  • Two kinds of point. observed points are sampled from the live chain, one per day at the day's last sampled epoch. reconstructed points predate sampling (observedFrom): a lower-bound estimate derived from validator activations and exits, with rates, active set and capital null. The reconstruction ends at the Electra fork (2025-05-07), whose queues it cannot derive, so inside today's 90-day window every point is observed, and the span between the fork and the start of sampling is listed in gaps — not filled in. A request for 90 points can therefore return fewer.
  • Validator-set mechanics only — no yield, APR or staking-pool data. Capital is in gwei, as decimal strings (1 ETH = 10^9 gwei).

Response

200 application/json, here with ?limit=2:

{
  "data": {
    "chainId": 1,
    "current": {
      "asOfEpoch": 483380,
      "asOfTime": "2026-10-19T20:33:26Z",
      "queues": {
        "deposits": {
          "count": 16008,
          "gwei": "1182642016359495",
          "newValidators": { "count": 14861, "gwei": "941192166772238" },
          "topUps": { "count": 1147, "gwei": "241449849587257" }
        },
        "exitQueue": { "count": 3750, "gwei": "193204595956291" },
        "consolidations": { "count": 9017, "gwei": "694330896378892" },
        "partialWithdrawals": { "count": 230, "gwei": "11277248613950" },
        "exitedAwaitingWithdrawal": { "count": 1045, "gwei": "60988663443785" },
        "activeSet": { "count": 828537, "gwei": "43826023452914003" },
        "churn": {
          "activationExitGweiPerEpoch": "256000000000",
          "consolidationGweiPerEpoch": "412000000000"
        },
        "waitEstimates": {
          "entryEpochs": 4620,
          "exitEpochs": 755,
          "consolidationEpochs": 1686,
          "entryDays": 20.533333333333335,
          "exitDays": 3.3555555555555556,
          "consolidationDays": 7.493333333333333
        }
      },
      "status": {
        "activeOngoing": 816835,
        "pendingActivation": 127,
        "pendingExit": 13812,
        "netQueue": -13685,
        "activationRate": 0.00015547815654324312,
        "exitRate": 0.01690916770216751,
        "pendingActivationGwei": "1858000000000",
        "pendingExitGwei": "948524155778968"
      }
    },
    "granularity": "day",
    "observedFrom": "2026-08-11T20:21:01Z",
    "gaps": [
      {
        "from": "2026-07-21T20:38:02Z",
        "to": "2026-08-11T20:21:01Z",
        "note": "No series covers this span: the reconstruction ends at the Electra fork (2025-05-07), whose queues it cannot derive, and sampling had not begun."
      }
    ],
    "points": [
      {
        "time": "2026-10-19T20:33:26Z",
        "source": "observed",
        "epoch": 483380,
        "queues": {
          "deposits": {
            "count": 16008,
            "gwei": "1182642016359495",
            "newValidators": { "count": 14861, "gwei": "941192166772238" },
            "topUps": { "count": 1147, "gwei": "241449849587257" }
          },
          "exitQueue": { "count": 3750, "gwei": "193204595956291" },
          "consolidations": { "count": 9017, "gwei": "694330896378892" },
          "partialWithdrawals": { "count": 230, "gwei": "11277248613950" },
          "exitedAwaitingWithdrawal": { "count": 1045, "gwei": "60988663443785" },
          "activeSet": { "count": 828537, "gwei": "43826023452914003" },
          "churn": {
            "activationExitGweiPerEpoch": "256000000000",
            "consolidationGweiPerEpoch": "412000000000"
          },
          "waitEstimates": {
            "entryEpochs": 4620,
            "exitEpochs": 755,
            "consolidationEpochs": 1686
          }
        },
        "status": {
          "activeOngoing": 816835,
          "pendingActivation": 127,
          "pendingExit": 13812,
          "netQueue": -13685,
          "activationRate": 0.00015547815654324312,
          "exitRate": 0.01690916770216751,
          "pendingActivationGwei": "1858000000000",
          "pendingExitGwei": "948524155778968"
        },
        "totalActiveBalanceGwei": "43043853651991843"
      },
      {
        "time": "2026-10-18T23:57:30Z",
        "source": "observed",
        "epoch": 483187,
        "queues": null,
        "status": {
          "activeOngoing": 816490,
          "pendingActivation": 129,
          "pendingExit": 15329,
          "netQueue": -15200,
          "activationRate": 0.00015799336182929368,
          "exitRate": 0.01877426545334297,
          "pendingActivationGwei": "1865000000000",
          "pendingExitGwei": "999644738865610"
        },
        "totalActiveBalanceGwei": "42993264398803580"
      }
    ]
  },
  "meta": {
    "chain": "ethereum",
    "timestamp": 1792442282213,
    "cached": true,
    "docs": "https://docs.tracefast.xyz/api/consensus-queues"
  }
}

The newest point is today's, still open: it is the latest sample, and the day closes on the last epoch sampled before 00:00 UTC. The day before carries queues: null — it predates sampling of the queues.

data

FieldMeaning
chainId1
currentthe state as of the newest sampled epoch: asOfEpoch, asOfTime, queues and status — the same facts as validator queues now, cut to what a chart needs beside its newest point
granularityalways day
observedFromwhen sampling began, RFC 3339 UTC. Points before it are reconstructed. null while nothing has been sampled
gaps[]the span of the 90-day window between the end of the reconstruction and the start of sampling, when the window reaches into it: from, to (RFC 3339 UTC) and a note saying why nothing covers it. Only that span — a pause in sampling itself is not listed
points[]at most limit points, newest first

A point

FieldMeaning
sourceobserved or reconstructed
epochthe sampled epoch (observed) or the estimate's boundary epoch (reconstructed)
timethe time of the sample, RFC 3339 UTC
queuesthe queues at that epoch, field for field as on validator queues now, with waitEstimates in epochs only. null before the queues were sampled
statusthe counts by status, as on validator queues now — the counts and rates only. On reconstructed, activeOngoing and the rates are null
totalActiveBalanceGweitotal effective balance of the active set, gwei. null on reconstructed

Errors

StatuscodeWhendetails
400bad_requestlimit outside 1..90reason: limit_out_of_range, maxLimit: 90
503service_unavailableno queue state has been sampled yet; retry later—

Malformed input, unknown parameters and the key check's 401/403/429 are the same for every method — see conventions and API keys.


Last updated 22 Oct 2026, 08:06 UTC · verified against TraceFast v1.0.261 · Markdown