PUBLIC PROOF · SHANNON TESTNET
Don't trust the demo. Verify it.
Everything below is checkable right now: live windows from the DreamDEX indexer, the exact contracts money touches, the execution policy enforced in code, and the commands that reproduce it all locally.
Live windows, this minute
Loading…source: loadMarkets → isBinaryMarket → live BTC/ETH filter · refreshes every 4s
Contracts money touches
Shannon testnet (50312) · CREATE3 — same addresses on mainnet
BinaryMarketsModule
0x3ecC694Cef705358864a646142ac17A90E29e388
Event-contract orderbook + settlement
BinarySettlement
0xbF4a49e0Dfd092e5FBE8E5761064C49533e6Ed23
Redeem / payout leg
OracleHub
0xe40db387cC98601Dd11bd634fF2f3AD5686dE32b
Multi-source median settlement feed
tUSDC (collateral)
0x70a86D8842FB63C4Ad2b7cdddF530eBf1BB25d8E
6-decimal test collateral + faucet
Execution policy, enforced in code
Each rule maps to a unit-tested pure function (src/lib/orderMath.ts) or a gated step in useTrade.
✓Never trades a dead or locked window
Every order is gated on getMarketOnchain status === 1 plus 30s expiry headroom.
✓Never leaves resting orders
IOC only. Unfilled remainder cancels instead of sitting on the book.
✓Never pays approval tax per trade
One max approval per pool, cached in localStorage; allowance re-checked on-chain.
✓Never reverts on tick/lot grids
Sizes floored to the 0.001 lot; prices clamped to the 0.001 tick (SDK ≥ 0.28 snaps the rest).
✓Never loses to a market roll
Trader instance re-hydrates markets pre-trade; unknown symbols trigger one retry, then a board refresh.
✓Never wastes gas on losing redeems
Claim plans from settlement state: voided → both sides at 0.5, resolved → winner only, else nothing.
✓Never mixes preview with settlement
Binance spot is labeled orientation everywhere; settlement truth is the oracle median with audit links.
✓Never holds user funds
No backend, no keys. Self-custody wallet trades; the agent path is a revocable one-time approval.
Reproduce it in ~60 seconds
git clone https://github.com/PhiBao/tock.git && cd tock pnpm install pnpm typecheck && pnpm lint && pnpm test # 25 checks, zero keys pnpm demo # live markets + books, no wallet