We reset our own track
We audited our own paper track and reset it. Only days backed by a real daily-cycle log count. Right now that is 53 honest days (anchor 2026-06-22), not 15 padded ones. Every equity point and its source label is public.
static snapshot as of 2026-08-15 · updates live from api.earn-defi.com
We publish 53 real days, not 15 padded ones
Auditing our own track found the earlier days were a flat-rate backfill — not the output of a real daily cycle. We don't count them. A day now counts only if it has a genuine daily-cycle log behind it. We would rather show 53 honest days than 15 padded ones. The reset itself is the trust signal.
Evidence anchor
2026-06-22
Evidenced / needed
53 / 30 days
Go-live target
2026-07-21
Paper / research track on a virtual $100k book. Not investment advice, not a forecast. Per-bar source labels are shown below — you can see which days are real.
live data temporarily unavailable — verify against the raw chain at api.earn-defi.com. We hide the number rather than show a wrong one (refusal-first).
Equity curve (paper)
source: static fallback
Curve loads from the live evidence feed. When offline, the last static snapshot is shown.
Bar ledger — what counts
source: static fallback
Each bar is tagged with its source. Only cycle bars are evidenced by a log and count toward go-live. Backfill and warmup bars are dimmed — shown for transparency, but not counted.
The chart plots only evidenced and reconstructed bars (from 2026-06-21 onward), so there is no seam. The synthetic warmup and backfill series (before 06-21) are independent, not part of the evidenced track; they remain in the ledger below and the downloadable data, but not on the curve.
Why positions don't move daily
This is not staleness. The daily cycle makes a decision every day —
but most days that decision is a deliberate HOLD: the deterministic
RiskPolicy + allocator keep positions when the target allocation hasn't moved past its thresholds
(low turnover by design — fewer fees and less slippage on stablecoin yield). Every hold decision is
logged and hash-chained in decision_log, so you can verify the cycle
actually ran and chose to hold — not that it silently stalled.
Proof of Reserves
source: static fallback
Every dollar accounted for, cryptographically verifiable
The NAV is recomputed from its parts (deployed + cash + accrued) and reconciled against the reported equity. This is a paper proof-of-reserves: the verifiable methodology on the virtual $100k book, not real custody.
Deployed
—
Cash
—
Accrued
—
NAV (= equity)
Reconciliation delta
—
Positions
—
Last verified
—
Verification hash (NAV)
verifiable · tamper-evident—
components: —
NAV = Σ(per-protocol positions) + cash + accrued yield. components_hash = sha256 of the canonical JSON of the sorted positions; nav_hash binds the NAV to its components and timestamp. Anyone can recompute the published NAV from its components via nav_proof.verify_proof().
Go-live progress
deterministic criteria (ADR-002) — all must pass before go-live
Evidence anchor 2026-06-22 · go-live target 2026-07-21
How we count honesty
Evidenced days, not raw bars.
Each bar in the equity file is tagged with a source
(warmup / backfill / reconstructed / cycle) and evidenced
flag. Only cycle bars — those with a real daily-cycle
log behind them — count. The earlier bars were a flat-rate backfill; we don't count them,
though we still show them for transparency.
Reconstructed-day note. If the autonomous cycle missed a day (e.g. during a host restart), the gap is recorded by gap_monitor and the hole is filled with a reconstructed bar — which is flagged, not passed off as live. 30-day continuity is itself a separate go-live criterion.
Paper, variable, not a forecast. All figures reflect simulated trading on a virtual $100,000 USDC portfolio. The simulation does not account for live slippage, liquidity impact, or smart-contract execution risk. Past paper performance guarantees nothing.
Live watchdog & its honest scorecard
Verify this track yourself
The track is not just a chart — it is a verifiable artifact.
The evidenced equity series itself is committed to a single-genesis hash chain
(equity_track.jsonl); the decisions behind it are
committed to their own chain (decision_log, head-checkpoint
anchors), and each day's NAV reconciles (see Proof of Reserves above). Don't trust us — check
us: one zero-dependency verifier (it does not import our code) re-derives every hash of
both chains and reports the exact
broken_at if a single byte of history — an evidenced
equity value, a reordered or back-dated day — was altered. No backfill claims: only days with
a real cycle log enter the equity chain.
Command
python3 verify_spa.py data/ Verifier: scripts/verify_spa.py (how to verify + in-browser demo, pinned verifier-v1.0) · equity chain: data/rates_desk/equity_track.jsonl · recipe: docs/PROOF_CHAIN_SPEC.md · checkable case: docs/DD_PACK.md
Go deeper
Personal research project in paper validation — not investment advice, not a regulated service, not raising capital; results are simulated. Full disclaimer & risk disclosure →