Personal research project — paper-testing & tuning, not raising capital.
The machine, running autonomously

System

How the machine is built: the eight-plane Tier-1 architecture, the live operational surfaces, and the fleet of autonomous agents that survive a reboot.

Agent fleet · live

source: offline

Total

Healthy

Warning

Critical

Status reads from the live agent heartbeat (agent_health, hourly). When offline, fields show "—".

Eight-plane architecture (Tier-1)

Each plane is an independent, deterministic safety layer. The cycle is fail-safe: if any plane fails, no trade goes through.

1

Validation

Deflated Sharpe, PSR, min track length on every result

2

Risk

Deterministic RiskPolicy gate — no LLM, cannot be overridden

3

Audit

Append-only audit trail of every cycle and decision

4

Execution readiness

Pre-trade checks before any live capital deployment

5

Governance

Owner review gates, ADR-tracked policy changes

6

SSOT

Single source of truth mirrored to the site

7

Disaster recovery

NAV reconciliation, state recovery after host restart

8

Anomaly detection

APY-spike, threat-reactor, kill-switch on critical threats

Live operational surfaces

Promotion pipeline · Strategy Lab

source: offline

The research decision layer: which research sleeves graduate backtest → paper → live, and why. Promotion is a deterministic risk gate, not a sales funnel. We publish what FAILS, not just what passes.

Paper research · advisory · not live. The honest finding:

Only the stable sleeves reach PAPER_CANDIDATE. The crypto (ETH/BTC) sleeves are REJECTED — they do not beat the ~3.4% risk-free floor on a risk-adjusted basis. The gate is deterministic: pure arithmetic over the criteria, no LLM, cannot be overridden.

The promotion ladder

1 RESEARCH
2 BACKTEST
3 WALK-FORWARD
4 PAPER
5 CANARY
6 FULL

Stages past backtest are only reached by clearing the gate. The current track phase is paper; no sleeve goes live until the track is confirmed. RWA floor everything is measured against:

Paper candidate

Backtest pass

Rejected

Loading promotion verdicts… When offline, the criteria are shown but not live values.

Criteria (deterministic, from the SSOT config): beats floor · drawdown within band · not killed by real risk · walk-forward consistency · capacity · positive net APY. A data-gap kill (a missing feed value) is tolerated as a fail-closed safe-hold, not a risk failure. Source: spa_core/strategy_lab/promotion.py → /api/strategy-lab/promotion.

Risk refusal · what we won't hold

source: offline

The assets we REFUSE to hold — and why

Paper research · a measurement / advisory engine · not financial advice

Most yield products advertise APY. We publish the assets we REFUSE and why — a risk engine that flagged toxic restaking tokens (ezETH-type) before they collapsed, validated on 2 years of data including real depeg events. We'd rather miss yield than hold a book that blows up.

This is a measurement / advisory engine, not a guarantee. It scores the tail risk of each yield-bearing asset and emits a verdict of SAFE / WATCH / REFUSE / UNKNOWN. Source: /api/refusal.

SAFE WATCH REFUSE UNKNOWN

Loading refusal-engine verdicts… When offline, live values are unavailable.

tail_score (0–1) is the normalised tail-risk score: depeg, downside volatility, funding regime. REFUSE/WATCH are listed first. Verdicts are advisory; the live deterministic execution gate is the RiskPolicy (LLM forbidden). Source: GET /api/refusal.

Proof of Reserves

source: static fallback

Verifiable NAV — every dollar accounted for, cryptographically verifiable

loading…

NAV (paper)

Delta

Verification hash

NAV = deployed + cash + accrued, reconciled against reported equity. Paper proof-of-reserves (methodology on the virtual $100k book, not real custody). Full panel → /track-record

The daily cycle

08:00 UTC · adapter orchestrator (read-only) → live APY/TVL
    → multi-strategy runner (S0–S77, tournament)
    → allocator → target allocation with caps
    → RiskPolicy gate (deterministic, LLM forbidden)
    → virtual rebalance → daily yield accrual
    → GoLiveChecker → 29 criteria

Stack: Python 3, stdlib-only at runtime. Atomic writes to all state files. Agents are installed via launchd and survive reboots.

⚠ Personal Research Project: SPA is a personal research project in paper validation and tuning. Not a regulated financial service. Not raising capital. Not investment advice.

Paper Trading Disclosure: All performance data reflects simulated trading on a virtual $100,000 USDC portfolio. Current paper APY: ~3.6% (variable, not a forecast). Simulated performance does not account for live slippage, liquidity impact, or smart contract execution risk. We reset our own track: only days with a real cycle log count (currently 10/30, anchor 2026-06-22). Go-live target: ~2026-07-21 — contingent on GoLiveChecker 29/29 (currently 27/29 NOT READY). See /track-record.

Not a Regulated Service: SPA is a personal research project at the paper-testing stage. This does not constitute investment advice, financial advice, or a solicitation to invest in any jurisdiction. Consult qualified professionals before making investment decisions.

DeFi-specific risks: Smart contract vulnerabilities and exploits · Protocol insolvency · Stablecoin de-pegging · Oracle manipulation · Regulatory actions · Technology failure. Funds in DeFi protocols are not covered by any investor compensation scheme.