Indelible · measured on real data · published July 15, 2026

The Energy Receipts

Companion to "AI Forgets Everything. We Measured What That Costs." Everything on this page is the raw material behind that article: the 79 measured context-replacement events with exact API-reported token counts, the conversion script, and the complete study with every caveat. Check our math.

92.7%
fewer tokens recomputed at the median return-to-work event
12.3×
median measured compression (971,805 → 71,266 tokens)
79
measured events, every row published below
183–342 Wh
estimated net saving per event (labeled estimate, Epoch band)

Verify the medians yourself

Sort the context before column below: the median is 971,805. Sort context after: 71,266. Divide: 13.6×. Those are the article's numbers. Session IDs are anonymized to their UUID prefixes; no conversation content appears anywhere in this data. Token counts are exact API-reported usage; the summary-token column is estimated at 4 characters per token.

The 79 receipts

#sessiontimestamp (UTC)context beforesummarycontext afterratio
131a2834f…2026-06-17 01:20:02997,0613,57659,70516.70×
24b478dae…2026-05-31 03:13:34966,3263,22056,60917.07×
34b8b173d…2026-06-11 01:57:11998,1875,639138,0097.23×
44b8b173d…2026-06-19 15:31:46987,1303,29068,71414.37×
54b8b173d…2026-06-30 07:08:54998,8934,15871,26614.02×
64b8b173d…2026-06-30 16:07:14999,1424,63776,05713.14×
74b8b173d…2026-07-01 06:36:41997,1913,207108,4589.19×
84b8b173d…2026-07-02 12:25:41999,0104,82276,88312.99×
94b8b173d…2026-07-03 14:27:31986,7843,98982,66311.94×
114b8b173d…2026-07-07 17:35:08984,3054,635103,4509.51×
124b8b173d…2026-07-10 14:55:43736,9613,776395,4981.86×
134b8b173d…2026-07-12 16:56:36960,7826,589101,7599.44×
154b8b173d…2026-07-14 16:29:32959,8894,46498,8589.71×
164b8b173d…2026-07-14 20:43:19999,6086,725108,1819.24×
174b8b173d…2026-07-15 13:18:18998,6895,140138,4017.22×
184b8b173d…2026-07-15 19:07:55658,7315,631106,6216.18×
1985eceebe…2026-05-04 04:39:15965,6014,53941,69623.16×
2085eceebe…2026-05-04 16:38:14923,0393,79745,07920.48×
2285eceebe…2026-05-06 13:19:42965,6013,67253,09718.19×
2385eceebe…2026-05-08 13:42:17960,5624,50249,04819.58×
2485eceebe…2026-05-08 20:01:12970,1293,47154,63417.76×
2585eceebe…2026-05-09 14:50:56133,3334,15955,4922.40×
2685eceebe…2026-05-09 22:49:19967,6452,67448,18420.08×
2785eceebe…2026-05-10 17:08:17945,3804,39352,72117.93×
2885eceebe…2026-05-11 00:09:08965,8384,12853,88017.93×
2985eceebe…2026-05-11 16:50:00966,6284,15150,09819.29×
3085eceebe…2026-05-12 22:58:58963,4293,67148,05920.05×
3185eceebe…2026-05-17 15:01:21473,6684,09052,7068.99×
3285eceebe…2026-05-17 22:19:06965,1124,09348,91819.73×
3385eceebe…2026-05-20 21:23:36582,2523,97653,70010.84×
3585eceebe…2026-05-22 11:00:29490,9394,14349,4939.92×
3685eceebe…2026-05-30 13:04:39966,7553,85250,06819.31×
3785eceebe…2026-05-31 01:26:57964,5495,17456,35317.12×
3885eceebe…2026-05-31 16:11:22971,8055,04453,77418.07×
3985eceebe…2026-05-31 22:44:43545,2875,36461,2968.90×
4085eceebe…2026-06-01 14:29:22998,0015,04465,01715.35×
4185eceebe…2026-06-02 12:21:24999,6504,75862,02316.12×
4285eceebe…2026-06-05 09:08:41987,6515,30971,37213.84×
4385eceebe…2026-06-05 22:35:00983,2915,14654,85317.93×
4585eceebe…2026-06-06 17:25:22977,1754,19062,98615.51×
4885eceebe…2026-06-07 15:31:57869,2414,44856,28015.44×
5285eceebe…2026-06-09 03:29:39874,5485,90463,51613.77×
5385eceebe…2026-06-09 18:57:15541,1267,074134,1204.03×
5485eceebe…2026-06-10 13:39:11953,1215,248235,0214.06×
5585eceebe…2026-06-11 01:01:30918,6064,748194,0974.73×
5785eceebe…2026-06-12 13:33:41778,9454,62063,48412.27×
5885eceebe…2026-06-13 03:28:39998,7583,98665,32915.29×
5985eceebe…2026-06-13 18:48:42989,7924,23648,58720.37×
6085eceebe…2026-06-15 15:33:38998,2593,92585,65711.65×
6185eceebe…2026-06-16 02:26:50969,8883,96362,64415.48×
6385eceebe…2026-06-16 16:55:12966,9424,50055,47217.43×
6685eceebe…2026-06-16 21:32:05934,6434,48769,07713.53×
7085eceebe…2026-06-18 12:36:39458,3734,58564,0337.16×
7185eceebe…2026-06-19 12:40:02997,7285,14278,14312.77×
7285eceebe…2026-06-20 01:47:18988,2884,22992,60810.67×
7385eceebe…2026-06-20 15:49:31993,8293,52778,40212.68×
7485eceebe…2026-06-20 17:53:35444,8764,93864,2786.92×
7585eceebe…2026-06-21 00:26:18999,0655,07085,75011.65×
7685eceebe…2026-06-21 12:25:44997,2304,267106,8099.34×
7785eceebe…2026-06-21 16:47:20998,0404,78670,59114.14×
7885eceebe…2026-06-21 21:10:32994,4795,04483,35411.93×
7985eceebe…2026-06-22 02:00:40995,4454,76193,01610.70×
8085eceebe…2026-06-22 08:10:14999,2103,60194,68610.55×
8185eceebe…2026-06-22 15:38:36918,2135,49967,84913.53×
8385eceebe…2026-06-22 20:18:29917,4545,15382,74211.09×
8485eceebe…2026-06-23 11:46:27995,4374,96794,12410.58×
8585eceebe…2026-06-23 22:20:45997,0395,25267,44014.78×
8685eceebe…2026-06-24 12:52:05999,7303,96590,74511.02×
8785eceebe…2026-06-24 17:35:53993,9894,292110,6258.99×
8885eceebe…2026-06-25 14:02:37980,0955,21186,18911.37×
8985eceebe…2026-06-26 11:25:22995,7725,991112,8048.83×
9085eceebe…2026-06-27 19:09:45988,2764,58593,87210.53×
9185eceebe…2026-06-28 16:02:58992,1053,97273,31013.53×
9285eceebe…2026-06-29 13:38:15998,9425,03678,94412.65×
9385eceebe…2026-07-04 14:08:48759,0565,098585,3471.30×
9485eceebe…2026-07-04 17:37:46998,5184,883138,6637.20×
9585eceebe…2026-07-05 23:13:09964,7954,61392,73510.40×
9785eceebe…2026-07-07 11:51:18961,4004,988103,4059.30×
9885eceebe…2026-07-12 16:03:15997,2976,83290,58811.01×

The conversion arithmetic, verbatim

The script that turns the measured token figures into the article's watt-hour estimates, using Epoch AI's published long-context points (2.5 Wh @ 10k input tokens, 40 Wh @ 100k). Run it yourself.

// Synthesis arithmetic — all inputs from Task A/C/D reports
const slopeLo = 2.5/10000;   // Wh per input token @10k scale (Epoch: 2.5 Wh / 10k)
const slopeHi = 40/100000;   // Wh per input token @100k scale (Epoch: 40 Wh / 100k)
console.log('slope band mWh/token:', slopeLo*1000, slopeHi*1000);

// per-boundary (Task C medians, exact API tokens)
const pre = 971805, post = 71266, measuredPost = 106621;
const avoided = pre - post;
console.log('avoided tokens/boundary:', avoided);
console.log('rebuild Wh band:', (avoided*slopeLo).toFixed(1), (avoided*slopeHi).toFixed(1));
console.log('restore Wh band (71k..107k):', (post*slopeLo).toFixed(1), (measuredPost*slopeHi).toFixed(1));
const netLo = avoided*slopeLo - measuredPost*slopeHi;
const netHi = avoided*slopeHi - post*slopeLo;
console.log('net Wh/boundary:', netLo.toFixed(1), netHi.toFixed(1));
console.log('median-prompt equivalents/boundary:', (netLo/0.34).toFixed(0), (netHi/0.24).toFixed(0));

// measured-window totals (Task C exact sums, 79 events, 2026-05-04..07-15)
const totReplaced = 71980559, totAfter = 7100015;
console.log('window rebuild kWh:', (totReplaced*slopeLo/1000).toFixed(1), (totReplaced*slopeHi/1000).toFixed(1));
console.log('window restore kWh:', (totAfter*slopeLo/1000).toFixed(2), (totAfter*slopeHi/1000).toFixed(2));
console.log('window net kWh:', ((totReplaced-totAfter)*slopeLo/1000).toFixed(1), ((totReplaced-totAfter)*slopeHi/1000).toFixed(1));
const days = (Date.UTC(2026,6,15)-Date.UTC(2026,4,4))/86400000;
console.log('window days:', days, 'events/day:', (79/days).toFixed(2), 'events/yr:', Math.round(79/days*365));
const perYr = 79/days*365;
console.log('yearly avoided tokens:', Math.round(perYr*avoided));
console.log('yearly gross kWh:', (perYr*avoided*slopeLo/1000).toFixed(0), (perYr*avoided*slopeHi/1000).toFixed(0));
console.log('yearly restore kWh:', (perYr*post*slopeLo/1000).toFixed(1), (perYr*measuredPost*slopeHi/1000).toFixed(1));
console.log('yearly net kWh:', ((perYr*avoided*slopeLo - perYr*measuredPost*slopeHi)/1000).toFixed(0), ((perYr*avoided*slopeHi - perYr*post*slopeLo)/1000).toFixed(0));
console.log('yearly net prompt-equivalents (k):', ((perYr*avoided*slopeLo - perYr*measuredPost*slopeHi)/0.34/1000).toFixed(0), ((perYr*avoided*slopeHi - perYr*post*slopeLo)/0.24/1000).toFixed(0));

// Task A scale checks
console.log('cache share:', (12301635891/12591433284*100).toFixed(1)+'%');
console.log('mean input-side tokens/call:', Math.round(12591433284/24506));

The full study

What Does AI Memory Save in Energy for a Returning User?

A measured study of context rebuild vs. restore on one real power-user workload (Indelible, 2026-07-15)


1. The Question

When an AI working session ends, its accumulated context — everything the model learned by reading files, searching, and conversing — is normally thrown away. A returning session must either rebuild that context (re-read, re-search, re-ask) or restore it from persistent memory. Indelible stores sessions encrypted on the BSV blockchain so returning sessions restore instead of rebuild. How much energy does that replacement actually save? Every number below traces to one of four measurement reports (Tasks A–D): local scripts run against real transcripts and save receipts on this machine, plus primary-source-verified published energy baselines.

2. The Data

  • Transcripts (Task A): 14 real Claude Code session transcripts, 1.27 GiB, Jun 5 – Jul 15 2026, one project, one machine. 24,506 API calls (deduplicated by message.id; usage blocks verified to repeat across lines). Totals from API-reported usage fields: 12.59B input-side tokens processed (3.04M uncached input + 286.8M cache-creation + 12.30B cache-read — 97.7% of all input-side tokens are cached-context re-reads) + 51.2M output tokens. Mean input-side context per API call: ~514k tokens.
  • Compaction census (Task C): 79 unique context-replacement (compaction) events across the 14 transcripts, May 4 – Jul 15 (72 days ≈ 1.1 events/day), each with exact before/after context sizes from API usage fields. (Date reconciliation: the census keys on message timestamps inside the transcripts; long-running sessions carry history back to May 4, earlier than the Jun 5 file-window start reported in Task A.) Full 79-row table + conversion script: ENERGY_STUDY_APPENDIX_RECEIPTS.md.
  • On-chain corpus (Task B) — the scale line: ~5 months (Feb 18 – Jul 15 2026), 5,289 unique sessions, ~262k messages persisted to chain (5,403 on-chain save txids; 40.8 MB deduplicated indexed text). Receipted save costs (last 27 days only): 3,069 transactions, 53.97M sats (~0.54 BSV).
  • Baselines (Task D): primary-source verified — Google Gemini 0.24 Wh median text prompt (measured in production, includes host/idle/PUE); OpenAI 0.34 Wh average query (self-reported, no methodology); Oviedo et al. (Joule 2026) 0.31 Wh median frontier-model query; Epoch AI long-context estimates ~2.5 Wh @ 10k input tokens, ~40 Wh @ 100k input tokens; long-context inversion where prefill reaches 67–84% of query energy (arXiv 2602.05712).

3. Method: tokens → energy

Rebuild-vs-restore is an input-context question, so per-query chat medians (0.24–0.34 Wh, short prompts) cannot be applied flat. We derive a per-input-token band from Epoch AI's two published long-context points:

  • 2.5 Wh / 10,000 tokens = 0.25 mWh per input token
  • 40 Wh / 100,000 tokens = 0.40 mWh per input token

Basis: 0.25–0.40 mWh per input token that must actually be (re)computed (ESTIMATE — Epoch's own modeled figures; the upper slope reflects superlinear attention cost). We apply this band only to tokens forced through fresh computation (re-derived context; restore-boundary first calls). We deliberately do not energy-convert the 12.30B cache-read tokens: cached re-reads are cheaper per token and no verified published figure quantifies the discount (Task A/D caveats). The long-context regime is exactly where input dominates query energy (prefill 67–84% of total when input ≫ output — Task D, verified), so pricing the input side is the honest lens for this workload.

Arithmetic (script synth-arith.mjs in the study scratchpad, run against the task-report figures):

  • Rebuild per boundary: (971,805 − 71,266) = 900,539 tokens × 0.25–0.40 mWh = 225–360 Wh
  • Restore per boundary: 71,266–106,621 tokens × the band = 18–43 Wh
  • Net = rebuild − restore, worst-cases crossed: ~183–342 Wh per boundary

4. RESULTS

Per returning-session event (n=79 measured boundaries; token figures exact from API usage):

MeasureTokens (measured)Energy (ESTIMATE, Epoch band)
Live context replaced (median / mean)971,805 / 911,146225–360 Wh to re-derive cold
Rebuilt context after restore (median / mean)71,266 / 89,87418–43 Wh
Measured live restore event (2026-07-15)658,731 → 106,621
Net saving per event~900k tokens avoided~183–342 Wh ≈ 540–1,400 median chat prompts (at 0.24–0.34 Wh each)

Compression ratios — the measured evidence that distilled memory replaces raw context:

  • Full context → first-call-after-restore: 12.3× median / 12.5× mean (min 1.3, max 23.2; exact usage fields)
  • Full context → the carried memory summary itself: ~208× median (summary ~4,611 tokens replaces ~972k)
  • Measured Indelible on-chain restore injections are smaller still: 0.35k–2.6k tokens per load_context/recall_context call — vs 7.9M tokens of file-read/search results accumulated in the same session's cold re-derivation (replicated: 6.7M in a second session). A restore injection is 3–4 orders of magnitude smaller than the session's total re-derivation reading.

Measured window totals (79 events, May 4 – Jul 15): 71.98M tokens of context replaced vs 7.10M tokens of post-restore first calls (both exact sums) → ~16–26 kWh net avoided in 10 weeks (ESTIMATE via the band).

Extrapolated per year for this heavy user (measured cadence 1.1 boundaries/day → ~400/yr):

  • ~361M tokens of re-derivation avoided per year
  • Gross avoided 90–144 kWh/yr, minus restore cost 7–17 kWh/yrnet ~73–137 kWh/yr (ESTIMATE)
  • Equivalent to ~215,000–570,000 median chat queries per year at the published 0.24–0.34 Wh figures.

5. HONEST CAVEATS

  1. Inference is a slice, not the whole. These savings apply to inference energy only. Inference is estimated at 80–90% of AI computing power (MIT Technology Review, May 2025 — an industry estimate with no single named primary study; Task D). All Wh figures exclude training, embodied hardware, network transit, and end-user devices.
  2. One power user, not a population. All transcript data is one project on one machine (14 sessions, dominated by two mega-sessions), with a 1M-token context window — sessions far larger than typical consumer use. The corpus scale line (5,289 sessions / 262k messages / 5 months) is one user's real history. Do not population-scale these numbers.
  3. Restores add tokens too — net accounting shown. The restore path is not free: the first call after a restore is 71k–107k tokens (18–43 Wh est.), the standing per-session memory injection is ~27.7k tokens (est., chars/4), and post-compact file re-injections add ~59k–298k tokens per long session. All results above are net (rebuild minus restore).
  4. The per-token band is an estimate and an extrapolation. Epoch's 2.5/40 Wh points are modeled, not measured; applying the slope linearly to ~900k-token contexts extends beyond their stated 100k range. Superlinear attention would make rebuild more expensive than our band (conservative in our favor); provider caching mitigations would make both sides cheaper. Token figures labeled chars/4 are estimates; all before/after context sizes are exact API-reported usage.
  5. No claim about the "30% of datacenter energy" number circulating on X. We did not verify it, we do not use it, and nothing here depends on it. Separately, IEA "Energy and AI" figures could not be verified from the primary source (HTTP 403) and are excluded from all arithmetic.
  6. The natural experiment is compaction boundaries. Claude Code's compaction is itself a context-replacement mechanism; we measured its boundaries as the ground truth of what replacement saves. Indelible's on-chain restore is the cross-session, cross-machine, permanent version of the same move — and its measured injections (0.35k–2.6k tokens) are smaller than the in-harness summary (~4.6k).

6. The Defensible Claim

Measured on one real power user's complete 5-month AI workload (5,289 sessions and ~262,000 messages persisted to the BSV blockchain; 12.6 billion input-side tokens across 24,506 API calls in 14 local transcripts), every return-to-work event replaces a median 971,805 tokens of accumulated working context with a 71,266-token restored one — a measured 12.3× compression, with the carried memory summary itself ~208× smaller than the context it replaces, and Indelible's on-chain restore injections smaller still at 0.35k–2.6k tokens versus ~7.9 million tokens of cold file-re-reading per long session. Converting only the avoided recomputation at Epoch AI's published long-context rates (2.5 Wh per 10k, 40 Wh per 100k input tokens), each restore-instead-of-rebuild event nets an estimated ~183–342 Wh — the energy of roughly 540–1,400 median chatbot queries at Google's measured 0.24 Wh and OpenAI's reported 0.34 Wh — which at this user's measured cadence of 1.1 events/day extrapolates to ~73–137 kWh of inference energy avoided per year for a single heavy user, net of the restore calls themselves. These are one user's measured numbers under estimate-labeled published conversion rates, covering inference only (itself an estimated 80–90% of AI compute), and make no use of unverified viral datacenter statistics.


Sources: Task A (transcript usage analysis), Task B (on-chain corpus), Task C (compaction census + rederive-vs-restore), Task D (primary-source-verified baselines). Conversion arithmetic: scratchpad/energy/synth-arith.mjs. Estimates are labeled; all before/after context token figures are exact API-reported usage.