Nobody pushes buttons here.
The chain keeps the receipts.
A supervisor cranks the keeper every 30 minutes and the agent every 6 hours — the same rehearsed scripts, on a schedule, dry-run-proof and watchdog-guarded. This page shows what the automation sees right now (running the keeper's exact decision code in your browser), and every action it has ever taken, decoded from chain events with the transaction hash as proof. Pre-launch: the automation idles armed; the checks below that can be live already are.
AUTOMATION STATE · CADENCE, INTERVALS, FALLBACK
watchdog → dispatch() → fenced convert(). Dry-run by default; nothing signs without --execute. Armed, idling pre-launch.
signals → fenced trade(). Its own gates decide: market hours, ±15pp band, fence. Most passes correctly do nothing.
lastConvert + minInterval. Contract-enforced (TooFrequent) — the schedule cannot outrun the chain.
If the keeper goes silent past fallbackAfter (7d), ANYONE may call convertViaV4 — liveness does not depend on us.
ACTION LOG · EVERY ROW IS AN ON-CHAIN EVENT · TX HASH = PROOF
The log starts with the first automated crank
Every dispatch, convert and trade is an on-chain event. This table decodes them straight from the chain — self-reported logs are not proofs, transaction hashes are. Nothing is deployed yet, so there is honestly nothing to show.
WATCHDOGS · WHAT STOPS THE MACHINE
Every keeper run reads taxProcessor.marketAddress() first. Any mismatch halts ALL cranking (exit 2, human paged) — the flow is never auto-retried into a diverted stream.
keccak256 of the live Flap Portal + TaxTokenV3 bytecode vs the pinned hashes — the same guard the keeper and launcher assert. Live today, pre-launch.
These verdicts come from scripts/keeper-lib.mjs — the exact functions the automation runs, imported into this page unmodified and fed the same live reads. Pre-launch they honestly show "—".
Feeds update 24/5 and freeze on weekends; anything older than the 4-day tolerance closes the market and nothing trades — fail-closed, mirrored on-chain (StaleOracle).
$MSTRGY automation is supervised locally (logs/ops-runs.jsonl), bounded on-chain (fence, clamps, intervals), and backstopped trustlessly (permissionless fallback). The site never shows a number that is not an on-chain read.