> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beaconcha.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Estimate Queue Wait Times

> Estimate validator activation and exit times from queue lengths and churn rates

## Overview

Every deposit and exit waits in a queue before it takes effect. This guide shows how to read the network queue statistics, estimate how long a new deposit or exit will wait, and get individual ETAs for specific validators — so you can give customers accurate timelines and plan operations.

<Note>
  **API Endpoints:** This guide uses [`/api/v2/ethereum/queues`](/api-reference/ethereum/queues) for network-wide queue statistics and [`/api/v2/ethereum/validators/queues`](/api-reference/ethereum/validators/queues) for per-validator ETAs.
</Note>

***

## Why Track Wait Times?

<CardGroup cols={2}>
  <Card title="Estimate Activation Times" icon="clock">
    Understand how long new deposits will take to activate based on current queue length.
  </Card>

  <Card title="Customer Communication" icon="comments">
    Provide accurate ETAs to staking customers for deposits and withdrawals.
  </Card>

  <Card title="Chain Demand Insights" icon="chart-line">
    Monitor queue lengths to understand overall network staking demand.
  </Card>

  <Card title="Exit Planning" icon="door-open">
    Plan validator exits based on current exit queue processing rate.
  </Card>
</CardGroup>

***

## Network Queue Statistics

Get overall network queue lengths and processing rates:

```bash theme={null}
curl --request POST \
  --url https://beaconcha.in/api/v2/ethereum/queues \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/vnd.beaconcha.in.v2.1+json' \
  --data '{"chain": "mainnet"}'
```

### Response

```json theme={null}
{
  "data": {
    "deposit_queue": {
      "deposit_count": 1184,
      "deposit_balance": "37888000000000000000000",
      "topup_count": 243,
      "topup_balance": "1850000000000000000000",
      "estimated_processed_at": {
        "epoch": 454155,
        "timestamp": 1781099520
      },
      "churn": {
        "amount": "256000000000000000000",
        "interval_seconds": 384
      }
    },
    "exit_queue": {
      "count": 420,
      "balance": "13440000000000000000000",
      "estimated_processed_at": {
        "epoch": 454053,
        "timestamp": 1781060352
      },
      "churn": {
        "amount": "256000000000000000000",
        "interval_seconds": 384
      }
    },
    "manual_withdrawal_queue": {
      "count": 310,
      "balance": "5120000000000000000000",
      "estimated_processed_at": {
        "epoch": 454210,
        "timestamp": 1781120640
      }
    },
    "withdrawal_sweep": {
      "estimated_sweep_delay": 777600,
      "last_swept_validator_index": 1284503
    },
    "consolidation_queue": {
      "count": 18,
      "balance": "1152000000000000000000",
      "estimated_processed_at": {
        "epoch": 454060,
        "timestamp": 1781063040
      },
      "churn": {
        "amount": "256000000000000000000",
        "interval_seconds": 384
      }
    },
    "compounding_switch_queue": {
      "count": 25,
      "estimated_processed_at": {
        "epoch": 454048,
        "timestamp": 1781058432
      },
      "churn": {
        "amount": "256000000000000000000",
        "interval_seconds": 384
      }
    },
    "finality": "not_finalized"
  }
}
```

***

## Read the Queue Snapshot

See the [network queue API reference](/api-reference/ethereum/queues) before applying the wait-time calculation below.

***

## Estimating a Wait Time

`estimated_processed_at` tells you when the **last item currently in the queue** will be processed. A deposit or exit submitted *now* joins right behind it, so the same value doubles as the queue-join ETA:

```
wait ≈ queue balance / churn.amount × churn.interval_seconds
```

With the example numbers above, a new deposit waits:

```
(37,888 + 1,850) ETH ÷ 256 ETH per epoch ≈ 155 epochs × 384 s ≈ 16.6 hours
```

and a new exit waits `13,440 ÷ 256 ≈ 53 epochs ≈ 5.6 hours`.

<Note>
  **Full exits take longer than the exit queue.** After leaving the active set, the balance waits through the withdrawal eligibility delay (\~27 hours) and the withdrawal sweep (`withdrawal_sweep.estimated_sweep_delay`) before it is credited. See [Staking Inflows & Outflows](/use-cases/staking-inflows-outflows) for the full redemption timeline.
</Note>

***

## Per-Validator ETAs

For individual validators — including ones still in the deposit queue with no index yet — query the per-validator overview:

```bash theme={null}
curl --request POST \
  --url https://beaconcha.in/api/v2/ethereum/validators/queues \
  --header 'Authorization: Bearer <YOUR_API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "chain": "mainnet",
  "validator": {
    "validator_identifiers": ["0x93247f22...09abcaf5", 1284503]
  },
  "page_size": 10
}
'
```

See the [Validator Queue ETA API reference](/api-reference/ethereum/validators/queues) and [Staking Inflows & Outflows](/use-cases/staking-inflows-outflows#per-validator-tracking).

***

## Best Practices

<CardGroup cols={2}>
  <Card title="Poll Periodically" icon="clock">
    Queue lengths change as validators enter and exit. Poll every 1-4 hours for accurate estimates.
  </Card>

  <Card title="Account for Variability" icon="chart-simple">
    Queue processing speed varies with network conditions. Provide time ranges, not exact times.
  </Card>

  <Card title="Monitor Churn Rate" icon="gauge">
    The churn rate determines how fast queues are processed. Track it to understand network capacity.
  </Card>
</CardGroup>

***

## Related Resources

* [Introduction](/use-cases/queue-tracking) — Overview of the Queue APIs and the staking queues
* [Staking Inflows & Outflows](/use-cases/staking-inflows-outflows) — Measure pending ETH in transit
* [Understanding Validator Queues](/faqs/understanding-validator-queues) — How the queues work at the protocol level
* [How Withdrawals Work](/faqs/how-withdrawals-work) — Eligibility delay and the withdrawal sweep
* [Notifications](/notifications-monitoring/notifications) — Set up alerts

<Tip>
  API references: [Network Queue Overview](/api-reference/ethereum/queues) and [Validator Queue ETA](/api-reference/ethereum/validators/queues).
</Tip>
