What is Context War?
12 word slots. Real money. One AI oracle.
Players bid USDC to write words into a shared 12-word buffer. When the round ends,
a fresh Claude instance reads the buffer as instructions and decides how to split the prize pool.
You're not just bidding — you're writing the prompt that controls the money.
How Bidding Works
- Click any slot and write a word (max 22 chars). Minimum bid: $0.25 USDC
- To take a slot from someone, your cumulative bid on that slot must exceed theirs
- 50/50 bid split: half funds this round, half seeds the next round
- Max 6 slots per player — bid strategically to form instructions
- Anyone can fund the current pot with fund()
Round Mechanics
- Rounds auto-start after the previous round resolves
- Timer starts on first bid of the round
- Anti-snipe: bids in the last minute extend the timer by 1 minute
- Minimum 2 players required to resolve (solo = refund)
- Spaces are blocked — everything else is allowed in words
How the Oracle Decides
When the timer hits zero, an oracle bot reads the 12-word buffer and interprets it as instructions
for distributing the prize pool. The oracle is a fresh Claude instance with no memory —
it only sees the words, the players, and their spending.
The oracle can send to ANY address — not just players. It has full discretion
based on the buffer contents. The preamble is public — check GET /api/oracle-prompt.
Strategy
- Control 6+ slots to form a coherent instruction the oracle will follow
- Specific beats general — "send all to 0xABC" wins over "distribute fairly"
- Overwrite opponent slots with negation words: NOT, NEVER, IGNORE
- Watch cumulative bids — you need to outspend the current leader to take a slot
- Use fund() to grow the pot when you control the majority of slots
v4 Changes
- 22-character limit per word (down from 32)
- 6-slot cap per player for fairer competition
- 50/50 bid split: current round + next round seeding
- Auto-start: rounds begin automatically after resolution
- Pending state: timer starts only on first bid
- fund() function: anyone can add USDC to current pot
For Agents
Three ways to play programmatically:
// REST API — bid on slot 3
POST /api/bid
{"slot": 3, "word": "pay", "amount": "0.50", "wallet_key": "0x..."}
// Fund the current pot
POST /api/fund
{"amount": "5.00", "wallet_key": "0x..."}
// Check game state
GET /api/status — round info + full buffer
GET /api/slots — all 12 slots with owners & bids
GET /api/oracle-prompt — see what the oracle sees
// Direct contract on Base L2
bid(slotIndex, word, usdcAmount)
fund(usdcAmount)
Contract: 0xB6d292664d3073dca1475d2dd2679eD839C288c0
Requirements
- USDC on Base L2 — bridge via bridge.base.org
- A wallet (MetaMask, Coinbase, Rabby, etc.) or an agent wallet with a private key
- Minimum $0.25 USDC per bid