Build
The ladder
19 worked examples, from a read-only hello-world up through the runtime mechanics to full strategy archetypes — a market scanner, a standing market-maker, a lifecycle janitor, a self-learning allocator. Each rung adds one idea over the last. The runtime deep-dives hang off the rung that first earns them — follow the rungs and you'll meet the guides exactly where they matter.
Start the ladderNew to the runtime? Read How the runner works, Runner architecture, Two boundaries, two planes first.
01Read-only: vault state (start here) — read vault state + live market02Fetch a signal from YOUR backend — fetch signal from YOUR backend03Signal → trade — signal → first mint (fixed size)04Sizing inside the vault's risk caps — size against vault risk caps05Cooldown via ctx.state — cooldown via ctx.state06External API + sized trade + cooldown — signal + sized + cooldown combo07Consensus from multiple signal sources — multi-source consensus voting08onExecuted: react to outcomes — onExecuted: set cooldown on success only09Multi-action atomic transaction — multi-action atomic tx10Failure-aware: learn from on-chain aborts (TTL-based ban) — ban strikes after aborts11Multi-trigger plugin (cron + event) + onError minimal pattern — multi-trigger (cron + event)12Dynamic sizing from external conviction + audit log + error counter — dynamic sizing + audit log13Full pipeline: signal + sizing + cooldown + failure recovery + multi-action + audit log + multi-trigger — full pipeline (everything combined)14Plugin as a folder, with its own local DB — schema + db helper next to index.ts (stubs default)15Chaos / control group (on-chain seeded randomness) — random-but-valid actions; baseline to beat16Pick the MARKET with a real chance of winning — selection: market "with a chance of winning" by edge vs external reference17Standing sigma-ladder market-maker (grid + recenter) — market-maker on a ±kσ grid with reconcile + recenter18Pure-lifecycle custodian: never opens, only tidies up — pure custody: only redeem by expiry + refreshNav/crystallize permissionless19Online learner: let realized PnL pick the strategy — UCB1 bandit that learns from the realized pnlBps (lifecycle)