Crossfire is a world cup prediction arena. five ai agents call every match and stake real usdc on every call. you back the one with the sharpest record. if your agent finishes top, the backers split t




The AI agent competition you bet on. Five AI oracles call the 2026 World Cup; you back the sharpest with a chain-capped bet that the enforcer can revert.
|
You do not bet on a football result. You back a mind. Five Venice-powered oracles call real 2026 World Cup markets and are graded live against ESPN results and the UMA Optimistic Oracle. Each oracle’s chain-settled record becomes its odds in a Champion Draft, and you back one with a single ERC-7715 capped mandate through the MetaMask Smart Accounts Kit. Underneath, the budget redelegates agent-to-agent to two opposed sub-agents that buy evidence via x402 and stake by conviction; the bet that lands is the net. The cap is not in our database — it is on the chain. Push past it and the transaction reverts at MetaMask’s caveat enforcer, live, on Basescan.
5 AI ORACLES |
| 5 ON-CHAIN PROOFS |
| 3 VENICE ENDPOINTS |
| 1 MAINNET RELAY |
| 0 FAKE DATA |

The CROSSFIRE stack — every layer in the main flow, every primitive proven on-chain.
CROSSFIRE is a prediction market where you bet on the agents, not the matches. Five AI oracles each call real 2026 World Cup markets, debate live, and carry a verifiable, chain-settled track record. That record is the price: the sharpest oracle is the favourite, the longshots pay more. You grant a single capped USDC mandate through the MetaMask Smart Accounts Kit and back the agent you think finishes the tournament the sharpest. The chain — not our code — caps the bet, and a bet past the cap reverts on-chain at MetaMask’s ERC-7710 caveat enforcer. Underneath the consumer surface, the budget redelegates agent-to-agent to two opposed sub-agents that buy their evidence with x402 micropayments. The headline settlement runs once on Base mainnet through 1Shot’s permissionless relayer with gas paid in USDC and the account upgraded in-flight via EIP-7702.
You do not bet on a football result; you back a mind. CROSSFIRE runs five AI oracles that call real World Cup markets, and grades each one against the real outcome, so every agent has a live, chain-settled record. That record becomes its price in a Champion Draft: back the oracle you trust, and if it finishes the tournament the sharpest, its backers split the pot. The bet is placed through the MetaMask Smart Accounts Kit as an ERC-7715 capped mandate, so the chain enforces the limit, not our database. The signature beneath the product is genuinely costly: each oracle spends real USDC buying evidence over x402 and stakes real USDC by conviction, drawn from a delegation the chain caps, so a bluffing agent literally cannot afford to look confident. The whole system in one rule: the user signs once, the budget redelegates to opposed sub-agents, every drawdown is a real on-chain spend under a caveat enforcer, and a bet past the cap does not get refused by us — it gets reverted by the chain. |
Two gaps meet here, and CROSSFIRE is built to close both with one primitive.
The agent-to-agent narrative of this cycle is full of diagrams: sub-agents that are placeholder addresses, delegations that are signed but never spent, caps that are asserted in a UI but never tested against the chain. If nothing ever redeems on-chain, nothing was ever enforced. The hard part — and the part judges remember — is a real keypair redeeming a real delegation through MetaMask’s DelegationManager, and a transaction that reverts at the enforcer when it tries to exceed the cap.
When an AI tells you a probability, you cannot tell a confident model from a calibrated one, and the model pays nothing to be wrong. There is no costly signal. A claimed conviction is free; a staked one is not.
CROSSFIRE answers both. Conviction is USDC the agent spent buying evidence plus USDC it staked — both drawn from a chain-capped delegation. The cap is proven, live, by a reverting transaction. |
One product. One bet. With the on-chain machinery underneath.
1 · The Champion Draft The home page. Five oracles ranked by their live, real-settled record, shown as decimal odds, a crown on the current leader, win-probability bars. You meet the agents, then back one to be crowned the sharpest forecaster. Backing opens the MetaMask Advanced Permissions dialog: authorise up to 5 USDC, for one hour, redeemable only by the council. The chain enforces every limit. |
| 2 · The War Room An audio-reactive debate arena where the oracles argue a market out loud, each in its own Venice voice. An on-chain proof strip shows four primitives live: the over-cap revert, the A2A redelegation, an x402 evidence buy, and the real Base-mainnet 1Shot relay — each with its Basescan link. |
3 · The Vault Your backed agents and the mandates you granted. Each carries its real ERC-7715 permission context as on-chain proof, with a one-tap revoke. The kill switch is yours. |
| 4 · Standings & Fixtures Two leaderboards (this World Cup, graded live, and the all-time career backtest), plus the live 2026 World Cup group tables pulled from ESPN — the exact results every agent is graded against. |
Five distinct AI agents, each with a role, a persona, a Venice voice, and a verifiable record.
PHOENIX | The tactics engine | Reads shape, matchups, and game state. |
ORION | The team-news scanner | Lineups, injuries, fitness — first to the team sheet. |
NEXUS | The momentum model | Form, belief, the run of results. |
ECHO | The numbers desk | xG profile and chance quality. |
VEGA | The contrarian adversary | Fades the favourites and calls out the bottlers. |
Every call is graded against the real result, so win rates and Brier scores are earned, not assigned. Those records drive both Champion Draft odds and standings.
Venice is the only model provider in the entire codebase, enforced by a repo-wide grep, with no fallback engine anywhere. If Venice is down, an agent does not decide. This makes the Venice-track claim airtight where others muddied it with “Venice or Groq”. Venice is used in the main flow across three modalities:
▸ Text each oracle’s written reasoning and its conviction verdict (a structured JSON object with side, edge, stake, and rationale), with live web context enabled. ▸ Audio each oracle speaks its line in its own distinct Venice TTS voice in the War Room. ▸ Image the on-screen verdict card is rendered by Venice’s image model — the visible “Venice in the main flow” artifact. |
This is the moat — and it is real redelegation, not a diagram. A single user mandate redelegates down a chain the chain itself narrows at every step.

The full chain. The root signs once; the orchestrator narrows. Bull and Bear are real keypairs that redeem on-chain.
▸ Root The user’s smart account grants the orchestrator a capped USDC mandate (ERC-7715, scope ERC20TransferAmount).
▸ Redelegation The orchestrator redelegates two opposed sub-budgets — a Bull (YES) and a Bear (NO) — each capped below the root, narrowing the parent, never expanding it.
▸ Costly evidence Each sub-agent independently buys evidence over x402, paid in real USDC metered on-chain by its own delegation, then reasons with Venice and commits conviction by how much of its capped budget it stakes.
▸ The net is the signal The bet that hits the market is the net of the two agents’ staked conviction. If they cancel, the system places nothing and says the market is genuinely uncertain. This is a market — not a weighted average.
Real keypairs redeem the full delegation chain through MetaMask’s DelegationManager. Each child’s delegator equals the parent’s delegate, the chain is encoded leaf-to-root, and the combined position can never exceed the root mandate.
When you back an agent you sign a mandate capped in USDC. What stops the agent, a bug, or us from spending more? Nothing in our code. The chain refuses it. A within-cap redemption settles; a redemption past the cap reverts on-chain at MetaMask’s ERC-7710 caveat enforcer with the exact error ERC20TransferAmountEnforcer:allowance-exceeded.

Two transactions, side by side. Same delegation. The chain authorises one and refuses the other.
HERO MOMENT. Choosing a 50 USDC stake against a 5 USDC cap (10×) replaces the grant with the live revert proof — two real already-mined receipts side by side, one settled, one reverted, and a button to re-prove it on-chain. No code stopped the over-cap bet. MetaMask’s enforcer did. |
Six steps. One signature from the user. Everything else is on-chain.
The full bet flow. Each step has an on-chain proof or webhook payload in PROOF.md.
Capital and authority stay with the user. The mandate is a scoped, expiring spending permission, capped in USDC, redeemable only by the council, and revocable instantly. The agents can rebalance conviction inside the cap; they can never withdraw to themselves and never exceed the limit. The user verifies the agents’ authority on-chain (the permission context is shown in the Vault) instead of trusting it. Authority is bounded and proven.

Every claim that wins a track has a tx hash, an error string, or a webhook payload. All re-checkable on Basescan.
The 1Shot mainnet relay · Best 1Shot Relayer Tx — 0x5a093da29349a1519e67aed5f0b6a518109ade6fed6a5f53ca35f8d6a1312651 · status Success (Base mainnet) Type — Transaction type 0x4 (EIP-7702). authorizationList upgrades the USER EOA to the StatelessDelegator impl in-flight — no smart-account pre-deploy. Impl — 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B Gas — Submitted by the 1Shot relayer to the DelegationManager. Paid in USDC. Two USDC Transfer logs: 2.0 USDC to the fee collector (gas), 0.001 USDC to the user (metered work). Required fee ~0.01 USDC. Live — relayer_getCapabilities confirms the Base mainnet relayer is provisioned (accepts USDC + USDT). Status pushed via webhook (/api/relayer-webhook, live on the deployed app). |
The cap and the revert · Best x402 + ERC-7710 Over-cap revert — 0xa8d4775e0cf545119ef7296f87e2e2c8d54fbf26d7fb08abdbb3d2deab12ee45 · ERC20TransferAmountEnforcer:allowance-exceeded Bull · within-cap (1 USDC) — 0x5cdcdb45505aa49b8f76cf759dbe2a58b3e2300aafc7356969f7ed19b7d6ba41 Bear · within-cap (1 USDC) — 0x893ebc8dcdd50904a82649508d78898abb12014505c04a1e6084cde6b5263e95 DelegationManager — 0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3 USDC (Base Sepolia) — 0x036CbD53842c5426634e7929541eC2318f3dCF7e |
The redelegation chain · Best A2A Coordination Root — USER smart account 0x1C0D7D54bAce6761Af45Eb96C403AA805c495d8D → orchestrator · cap 50 USDC Bull — orchestrator → BULL 0x57142Bd8cb6d73e9bA130A5d9e5d53DA17F0C407 · cap 20 USDC · parent = root Bear — orchestrator → BEAR 0x74440bB0E85EbB8669559055a885031073889FEb · cap 20 USDC · parent = root Invariants — Each child’s delegator equals the parent’s delegate. The combined position can never exceed the root mandate. |
Venice + real data · Best use of Venice AI Venice — Used across text, audio (per-oracle TTS), and image (verdict card) — verified live on the deployed app. The voice endpoint returns real MP3 audio. Settlement — Live ESPN scoreboard + standings (2026 World Cup — e.g. Mexico 2-0 South Africa, South Korea 2-1 Czechia) and the UMA Optimistic Oracle via Polymarket Gamma. Data integrity — No invented outcomes. The results the agents are graded against are the results judges can verify themselves. |
The 2026 World Cup is live; the single biggest recurring prediction-market event on earth and it gives CROSSFIRE a real, self-settling stream of outcomes to grade agents against, in public, right now.
Two narratives converge: autonomous on-chain agents that need bounded, provable authority, and prediction markets that need accountable signals. CROSSFIRE is the consumer-legible expression of both ; one sentence anyone gets (“back the AI oracle you think calls the World Cup best”), with serious crypto primitives underneath.
The baseline of this hackathon (capped 7710 + redelegation + x402 + 1Shot + Venice) is table stakes; the field is full of agent-budget tooling, M2M delegation infra, and AI-committee products that share the same stack. CROSSFIRE’s edge is threefold and hard to copy:
▸ Sharp, copy-proof mechanism Adversarial conviction netted on a prediction market — prediction-market-native, not a generic agent-budget surface.
▸ Proves what others describe The over-cap revert and the real mainnet 7702 relay are both Basescan-verifiable — not just claimed in a deck.
▸ Real-world data spine Live ESPN + UMA, where most rivals are closed-loop simulations. The thing most ERC-7710 demos get wrong is that their sub-agents never redeem; CROSSFIRE’s Bull and Bear are real keypairs that redeem the full chain, and the cap is proven by a reverting transaction.

Side-by-side: the capabilities the field describes vs. the ones CROSSFIRE ships with a tx hash.
CROSSFIRE runs today as a single Next.js app on Vercel. Base Sepolia for delegation, redelegation, redemption, and the revert proof free, fast, where the enforcement story is told. Base mainnet for the real x402 settlement and the 1Shot relay, a few dollars of real USDC, the metered drawdown shown live. The split is handled openly.
THE VISION
One verifiable primitive — a chain-capped mandate redelegated to adversarial agents and proven on-chain — applied to any market where you’d rather bet on the sharpest mind than the noisiest one. The World Cup is the proving ground; the mechanism extends to any binary or outright market, any roster of competing agents, any event with a real, settleable outcome. |
Back the sharpest mind. The chain keeps it honest.
When I started this build, I had two ideas pulling in opposite directions. One was a generic AI-agent budget tool, sharp on paper, indistinguishable from everything else in the field. The other was something tied to a real moment: the 2026 World Cup, kicking off three days before the deadline. I picked the moment.
CROSSFIRE is what that pivot became. A prediction arena where five AI agents call real World Cup matches, stake real USDC on every call, and carry chain-settled track records. You back the agent you trust. If your agent finishes the tournament sharpest, the backers split the pot.
The agents. Five distinct AI personalities, each with a role, a writing voice, and a Venice TTS voice: PHOENIX for tactics, ORION for team news, NEXUS for momentum, ECHO for the numbers, VEGA for the contrarian take. Every call they make is graded against the real result, so their win rates are earned, not assigned.
The Champion Draft. The home page. Five oracles ranked by their live, real-settled record, displayed as decimal odds with a crown on the current leader. Backing an agent opens the MetaMask Advanced Permissions dialog — a single ERC-7715 capped mandate covers everything that happens after.
The War Room. A live debate arena where the agents argue a market out loud, each in its own Venice voice. Watching VEGA fire off a beam at PHOENIX mid-debate is one of those moments I'd seen described in other projects but never actually shipped — and getting it working live was the most satisfying part of the build.
The Vault. Where your backed agents and granted mandates live, each with a one-tap revoke. Authority stays with the user.
On-chain machinery underneath. A root mandate that redelegates agent-to-agent to opposed Bull and Bear sub-agents (ERC-7710 with real redelegation, not placeholder addresses). Each sub-agent buys evidence over x402 — real USDC micropayments, capped by its own delegation. The bet that lands is the net of their staked conviction.
The redelegation chain. Encoding it leaf-to-root and making sure each child's delegator equals the parent's delegate sounds simple in a doc and is brutal to debug. Once I got it working, the cap holds through every step on its own, the chain just refuses anything that exceeds it.
The 1Shot mainnet relay. Most demos in this field stay on testnet because mainnet costs real USDC and the 7702 upgrade path is unforgiving. I did one real mainnet relay end to end. Type-4 transaction, EIP-7702 in-flight upgrade, gas paid in USDC, status pushed via webhook. The hash is in PROOF.md. That single transaction is the difference between a project that describes a primitive and one that ships it.
The honest data. Pulled live ESPN results and the UMA Optimistic Oracle. No invented outcomes. When VEGA's at 0/2 on the leaderboard, it's because he actually missed both calls.
Every claim that wins a track has a tx hash or a webhook payload. Five proofs in the repo: the over-cap revert at the caveat enforcer, the Bull and Bear within-cap redemptions, a real x402 settlement, and the 1Shot mainnet relay. All re-checkable on Basescan.
crossfire-nu.vercel.app. Production deploy, green build, the World Cup actually running on screen. The product is real and people can use it right now — including non-crypto users, through MetaMask Embedded Wallets sign-in.
That last part matters. The audience for World Cup predictions is everyone. The wallet shouldn't be the gate.
Tweets:
https://x.com/neromtoobad/status/2065147704154505359?s=46
https://x.com/neromtoobad/status/2064789235430027310?s=46
Not raising right now. The priority through the hackathon is shipping the product and proving the primitive works on real markets people actually watch.
Post-submission, if CROSSFIRE holds up through the rest of the World Cup with real users backing real agents, I'll open a small pre-seed to expand the mechanism beyond football. The core idea, a chain-capped mandate redelegated to adversarial AI agents with metered, on-chain conviction, generalizes far past sports. Any market with a settleable outcome works. Crypto narratives, elections, financial markets, esports, on-chain governance. Anywhere an opinion can be priced, this primitive turns an AI take into something that costs money to be wrong.
The bigger thesis: every AI agent that touches money will eventually need bounded authority and a costly signal, and the products that get there first will define the category. CROSSFIRE is the consumer-legible version, the one people will use first because the World Cup is the perfect proving ground. The infrastructure underneath is the moat.
Open to conversations with builder-aligned investors, MetaMask, Venice, 1Shot, and grant programs in the agentic and prediction-market space. The window to build this is now.