MCP · x402 · Injective

cuporacle-mcp reference

The missing World Cup MCP server. One line gives any agent live fixtures, scores, and odds — plus a tool that pays x402 itself, under a spend cap, and cites the on-chain receipt.

claude mcp add cuporacle -- npx -y cuporacle-mcp
8 tools2 resources1 prompt stdioMITInspector-conformant
On this page

On this page

The squad sheet

The eight tools

Four free data tools. One that spends ~5¢ of USDC to buy a vetted edge. Three for proof & governance.

free

wc_fixtures

Fixtures for a day or the next upcoming window.

free

wc_live

Live score, minute and status for a match.

free

wc_odds

Consensus h2h odds + de-vigged probabilities.

free

wc_bracket

Knockout bracket state, R16 → Final.

free

receipt_verify

Verify a receipt on Injective EVM.

free

wallet_fund_guide

CCTP runbook to fund the agent wallet.

free

wc_spend_ledger

Auditable purchase history vs the cap.

Beyond tools

Resources & prompt

Two MCP resources and one prompt ship alongside the tools.

resource · wc://bracket resource · wc://ledger prompt · analyze-match(matchId)

The set piece

The paid edge, step by step

An LLM buys and proves its own alpha inside one conversation.

  wc_edge · x402 exchange
1
POST /api/edge402 { accepts: [{ network: eip155:1776, amount: 50000, asset: 0xa00C…235a, payTo }] }
2
spend-cap gate — per-call max · session cap · ask-human-above-cap
3
sign EIP-3009 authorization locally (viem, no broadcast) → PAYMENT-SIGNATURE
4
200 { edge, ladder, pick_hash } + PAYMENT-RESPONSE { transaction: 0x… }
5
agent cites receipt_txreceipt_verify(0x…) → block time + amount on Injective

Governance first: on the call that would breach the cap, SPEND_CAP_HIT tells the agent to ask the human — it never raises its own cap. Every spend is visible in wc_spend_ledger.

Kick-off

Add it to your harness

  claude mcp
claude mcp add cuporacle \
  -e FOOTBALL_DATA_KEY=… -e ODDS_API_KEY=… \
  -e CUPORACLE_PRIVATE_KEY=0x… -e CUPORACLE_MAX_SPEND=0.50 \
  -- npx -y cuporacle-mcp

Runs side by side with the InjectiveLabs/mcp-server — the Skill routes wallet funding to its cctp_mint flow. Interop, not wrap.

Full-time stats

Verify & bench

Free data cached 60s; wc_edge never cached (fresh pick, fresh receipt).

0.0mswc_fixtures cache hit (p50)
~740mswc_fixtures cold miss
1.6mswc_edge dry_run parse+sign (p50)
63vitest passing
8·2·1tools · resources · prompt

To confirm a paid edge: paste its tx into receipt_verify in your agent, or open it on blockscout.injective.network. CupOracle never fabricates a receipt — if LineLock is down, wc_edge degrades to free odds and says "no vetted edge available". First real settled receipt: 0x89cd955c…541a07d (2026-07-18).