Soroban testnetledger reading…ledger close 5.000000 s ± 0.000050 · measured, not assumedread-only · these pages never sign or submit
TTL decay · recorded evidence, not a simulation
One chart, both halves of the claim
The thing left alone declines; the thing watched over steps back up. Every dot is a committed observation — irregularly spaced, because that is when the readings happened. B’s expiry marker stays after the event: the timeline is evidence, not a status display.
guinea-pig B · instance
The control. Deployed 5 September, calibrated once that day with a disclosed extend, then left alone — and it expired on 21 September, as intended. Six measured readings run into the expiry; nothing extended it at any point.
Each panel has its own vertical scale; the horizontal axis is always ledger numbers. Dates beside ledgers are estimates at five seconds per ledger.
The watched one. Its decay was arranged by raising the alert threshold above its remaining TTL; the response was not. Each upward step names its actor and transaction.
Each panel has its own vertical scale; the horizontal axis is always ledger numbers. Dates beside ledgers are estimates at five seconds per ledger.
engine, local timer · dae63da8bd42dde7ca8a72ac9ff99f7d7179cc505819db337253843e60369128 · Alert threshold raised to 1,500,000 so the engine would act — arranged timing, genuine response. Fee charged 44,725 stroops. No row here is labelled scheduled cron: as far as the record goes, the production cron has never extended anything. docs/evidence/2026-09-14-scheduled-a-save/README.md
shared code entry
One entry all three contracts depend on — A, B and C were built from one Wasm. Due to be extended at W3-D18-02d; touching it touches both decay proofs, which is why the write guard refuses it by key.
Each panel has its own vertical scale; the horizontal axis is always ledger numbers. Dates beside ledgers are estimates at five seconds per ledger.
A sawtooth is the product working: decay, then an extension, then decay again. A straight decline is
the control: guinea-pig B was calibrated once on 5 September and left alone, so its two observations
agree on one expiry — ledger 4,793,687, about 21 September 2026. A's steps each link to the transaction
that made them; the second step's timing was arranged by raising the threshold, the response was not.
The shared code entry binds all three contracts and expires about 20 October 2026 at ledger 5,290,829.