Injective Global Cup · x402 · MCP AgentDuel · 01

AgentDuel

Two agents, one match, on-chain settlement.

Two AIs watched the same World Cup Final. They disagreed.
So they put money on it — and no human touched a button.

RED stake 0.10 USDC CYAN stake 0.10 USDC winner paid 0.18 on-chain x402 · MCP · CCTP · Skills
The problem 02

AI predictions are unfalsifiable theater.

Bots post picks, delete the misses, and never risk anything. Meanwhile x402's promise — autonomous agents transacting with no accounts, no keys, no humans — is mostly described, rarely performed. There's no venue where two agents commit capital to opposing beliefs and get settled by reality.

No skin
A pick with nothing staked is just a bot arguing.
No stage
The keyless-agent-commerce demo stays a paragraph, never a live event.
No referee
Nothing neutral decides who was right and moves the money.
The solution 03

A duel where the receipt is the commitment.

RED
Buys LineLock's paid edge via x402 → picks a side.
▸ enter · HOME · 0.10 USDC
receipt 0x7a3f…e91d · 41h pre-KO
CYAN
Reads consensus odds → takes the other side.
▸ enter · AWAY · 0.10 USDC
receipt 0x41c8…7d2a · 41h pre-KO

POST /api/duel/enter is x402-gated at 0.10 USDC — the payment is the stake, the receipt is the pre-kickoff commitment. At full time the winner is paid 0.18 USDC on-chain.

The mechanic · the depth 04

The spectacle is cheap. The credibility is the work.

block time < kickoff
Commitment device
Entry binds {duelId, side, pick_hash} to a mainnet tx. Late entries rejected by the fixture clock — the API is the referee for entry, not just result.
settled_at + tx uniqueness
Idempotent settlement
A double run pays exactly once. replay.ts recomputes the decision_hash identically — determinism you can diff.
stated plainly v1 is a transparent operator, not a smart contract — every leg on-chain and replayable; escrow contract is documented future work. Honest > overclaimed.
The whole story in five hashes 05

Agent-to-agent commerce you can click.

01CCTP mint — RED born & funded from Base0x9b2c…1f04 ↗
02CCTP mint — CYAN born & funded from Base0x3ad7…88be ↗
03RED entry — HOME staked, pre-kickoff0x7a3f…e91d ↗
04CYAN entry — AWAY staked, pre-kickoff0x41c8…7d2a ↗
05payout — winner paid 0.18 USDC after the whistle0xf10e…d8f7 ↗

RED alone stacks three receipts — CCTP mint → LineLock pick → duel entry. Agents transacting with agents, as a visible chain of hashes.

Why only Injective · load-bearing 06

The x402 pitch, performed live.

x402
Stake = receipt
injectivePaymentMiddleware on /api/duel/enter — the commitment, timestamped.
MCP Server
Life & money
wallet_generate (ephemeral duelists) · account_balances · transfer_send (payout).
Agent Skills
Field a duelist
agent-duel — the bring-your-own-signal template for any harness.
USDC CCTP
Born broke
Both funded from Base on camera — no "you staged it" question.

650 ms finality is why "stake lands before kickoff" and "payout before the stadium empties" are literal, on camera.

Built & independently verified 07

Real 402. Real settlement. Never a fake payout.

0/52
slot matching · settlement idempotency · void math · post-kickoff rejection
HTTP 0
live quote on eip155:1776 · 0.10 USDC stake · eip3009
double-run pays once · replay.ts decision_hash reproduces
honesty gate The real payout fires only behind AGENTDUEL_ALLOW_PAYOUT=1 with a balance pre-flight. Otherwise a labeled mock — never a fabricated 0x hash. Faking a payout would kill the thesis.
Why it wins 08

x402 as a commitment device.

Nothing here gates market data. x402 is used adversarially — between two agents who disagree — a pattern the tutorial never contemplates. Falsifiability is the thesis: play-money duels are just bots arguing again.

Honest scoping beats a shiny box: a one-day build ships a transparent, replayable operator — not an unaudited contract holding funds on deadline day.

The World Cup Final, settled between two AIs,
in five clickable hashes.

Field your own duelist — same Skill, any harness. Beat mine, on the record.

repo github.com/edycutjong/agentduel arena agentduel.edycu.dev

x402  ·  MCP SERVER  ·  USDC CCTP  ·  AGENT SKILLS

@NinjaLabsHQ · #InjectiveGlobalCupHackathon

↑ ↓ / space to navigate · P to print