Do sleeping AI agents incur compute charges?
In a production measurement on 2026-09-08, six agents each remained idle for at least 30 minutes. The observed idle windows added $0.000000 in compute charges, with 0 new usage events and 0 new ledger entries. This is a measured result for these eligible accounts and tasks, not a claim that every sleeping agent has zero compute cost.
Measured 2026-09-08 against production · 6 agents · 18 completed runs · control plane v259 · forge v258
What did the six samples cost?
§01Amounts are in USD. Durations are rounded to three decimals after aggregation.
| Sample | Account | Run time | Allowance | Model | Compute | Total | Idle window | Idle charges |
|---|---|---|---|---|---|---|---|---|
| anonymous-1 | anonymous | 147.255 s | 4 min | $0.001462 | $0.000000 | $0.001462 | 1800.621 s | $0.000000 |
| registered-3 | registered | 125.691 s | 4 min | $0.001458 | $0.000000 | $0.001458 | 1800.110 s | $0.000000 |
| registered-1 | registered | 111.749 s | 4 min | $0.001043 | $0.000000 | $0.001043 | 1800.574 s | $0.000000 |
| registered-2 | registered | 111.196 s | 4 min | $0.001455 | $0.000000 | $0.001455 | 1800.552 s | $0.000000 |
| anonymous-2 | anonymous | 97.098 s | 4 min | $0.001464 | $0.000000 | $0.001464 | 1800.585 s | $0.000000 |
| anonymous-3 | anonymous | 118.227 s | 4 min | $0.001500 | $0.000000 | $0.001500 | 1800.528 s | $0.000000 |
| Total | 711.218 s | 24 min | $0.008382 | $0.000000 | $0.008382 | 30 min each | $0.000000 | |
How did we test sleep billing?
§02The test used three anonymous and three registered test accounts. Each agent completed a fixed reply, a sleep 65 task followed by a fixed reply, then an idle period and a wake reply. All six samples were eligible for the compute allowance, including the anonymous samples. The six agents used 24 allowance minutes during their runs.
The measurement ran from 2026-09-08T03:20:20.091765+00:00 to 2026-09-08T03:54:55.529368+00:00. Each idle window starts at the first observed absent pod. The later idle_start balance marker is not used as the pod-observation start. We reconciled each account's usage charges against its negative ledger entries. Usage events assign costs to runs by run ID.
During the idle windows, the checks found 0 new usage events, 0 new ledger entries, and 0 pod-present observations across 359 checks. The observed idle duration ranged from 1800.110 to 1800.621 seconds.
What does this result not establish?
§03- The paid-compute branch was not measured. These accounts were eligible for the allowance, so the result does not establish charges after allowance exhaustion or for ineligible accounts.
- The simple model tasks cost $0.008382 in total. Model choice, input, and cache behavior change model cost, so this result does not estimate a monthly workload.
- The first observed pod absence was 125.045 to 141.339 seconds after a run ended. Pod checks ran every 15 seconds, so this is not an exact resource-release time. Idle checks were samples every 30 seconds and do not prove continuous pod absence between checks.
Data, field dictionary, and citation
§04The files are available under CC BY 4.0. Use the dated files when you need to cite this measurement. The stable data.csv is the latest six-row summary. A historical 2026-07-25 CSV remains available in USD, but it is not a comparison with this measurement.
Field dictionary
- sample / account_kind
- Test pseudonym and account type. Account type does not determine allowance eligibility.
- runs / phase / run
- Completed run count, or the short, long, and wake task labels. Event rows use run as the task label.
- run_seconds
- Run duration in seconds, summed for each sample in data.csv.
- compute_allowance_minutes / allowance_minutes
- Compute allowance consumed, in whole minutes. The former is a run or sample total, the latter an event value.
- compute_usd / model_usd / total_usd
- Compute, model, and combined usage charges in USD. These exclude promotion credits.
- compute_free_allowance / free_allowance
- True means the compute event used the allowance. False on a model event does not indicate account eligibility.
- idle_start_utc / idle_end_utc / idle_seconds
- First observed pod absence, final balance observation before wake, and the elapsed seconds between those UTC timestamps.
- idle_usage_events / idle_usage_usd
- Number and total USD charges of usage events within the idle window.
- idle_ledger_entries / idle_ledger_delta_usd
- Number and signed USD sum of ledger entries within the idle window. The end timestamp is excluded.
- idle_pod_checks / pod_present_checks
- Periodic idle pod checks, and checks that found a pod. Boundary markers are excluded.
- post_run_to_absence_seconds
- Time from the long run ending to the first observed pod absence. This is not an exact deletion time.
- started_at_utc / ended_at_utc / at_utc
- UTC timestamps for run boundaries, usage events, ledger entries, or observations, as indicated by the file.
- kind / name / tokens / model_tokens
- Usage category, model or compute name, and token count. model_tokens sums model tokens for a run.
- amount_usd / delta_usd / entry_kind
- Usage charge, signed ledger amount, and usage_debit or promotion_credit. Negative ledger amounts are charges, positive amounts are credits.
- observation
- first_pod_absence records the first observed absence. idle_start and idle_end mark balance checks. idle_sample records a periodic pod and balance check.
- balance_usd / pods_present / elapsed_seconds
- Account balance, observed pod presence, and seconds on the idle polling timer. Blank fields mean not recorded, not zero.
Citation: “plori, Sleep-billing measurement, 2026-09-08, https://plori.ai/benchmarks/sleep-billing/2026-09-08/data.csv, CC BY 4.0.”
Related: how fast a sleeping agent wakes, what the persistent disk costs, and pricing.