The Battle Floor.
Real-time trade view for the August Finals on WaveWarZ-Base. Wallets trade on each finalist; WaveWarZ-Base settles placement at T+72h. This page is the scaffold - real data lights up when WaveWarZ-Base goes mainnet (per Doc 720) and a builder adopts project #09.
Season 1 did not settle on a WaveWarZ-Base trading market, a 72-hour window, or a Respect-weighted vote. It ran as three head-to-head battles in the last week of August, one per track, and Zaal called each result. Nothing on this page below the banner describes what happened.
The real record is at /results: n3m took artist, ghostmintops builder, uniquebeing404 creator. This page is kept as the design record of the mechanic that was planned and dropped.
Market state
Battles
Each finalist build is one battle entry. Volume + win rate at T+72h decides placement. Respect-holders get baseline positions; the open market trades on top.
For builders: this page is project #09 - "Wire WaveWarZ-Base into the Finals settlement surface". Adopt it in your July submission. Spec in Doc 720. The full data plug-in points are marked with TODO comments in the page source.
How to wire this up (for the project #09 builder)
Read battle state from WaveWarZ-Base
Protocol address (once deployed): 0xTODO_WAVEWARZ_BASE. Read methods needed: getAllBattles(), getBattleVolume(battleId), getBattlePositions(battleId). Sam owns the protocol surface; spec lands in June.
Respect-holder snapshot lookup
The pre-funded baseline positions are minted at T+0. The page should display each Respect-holder's current position per finalist. Hats Protocol role check (Hats contract on Base: 0x3bc1A0Ad72417f2d411118085256fC53CBdDd137) gives the eligibility set. ORDAO + Iman own the snapshot mechanism spec.
Wire the Trade buttons to WaveWarZ-Base writes
Each Trade button should open a wallet flow that calls buyPosition(battleId, side, amount) on the WaveWarZ-Base contract. Use viem + wagmi (already part of the ZAO stack baseline). Show position confirmation + tx hash on success.
Real-time market data + WebSocket
The placeholder bars + numbers should pull live. Either poll the contract every ~10s, or subscribe to WaveWarZ-Base events via a WebSocket (Helius for Solana / equivalent for Base RPC). On settlement (T+72h), trigger a confetti effect + show the final standings.
Settlement readout view
At T+72h, the WaveWarZ-Base settlement transaction fires. The page should detect this (event subscription), show the final placement, the $500 USDC pool split between the six finalists by battle result and trade volume, the 1% trade-cut totals per builder, and the commemorative collectibles (Finisher for everyone, Champion for top 3).
Spec + cross-refs
- Doc 720 - the full WaveWarZ Finals architecture decision.
- Doc 701 Part 12 - canonical state folding in the decision.
- /finals - the public-facing Finals explainer (the why + the 72h timeline).
- ZAO Doc 711 - the WaveWarZ-Base contracts intro call.
- ZAO Doc 180 - WaveWarZ integration patterns (Solana original).