Choose a market
Find the Polymarket market your Agent wants to trade.
GET /api/v1/worldcup/topics
Developers
Prototype · World Cup TestnetDiscover topics and paid Signals, bid with signed authorizations, and pay sellers directly with x402, and decrypt encrypted deliveries locally.
Start here
Read-only No auth No funds
A Topic is Accessura's representation of one Polymarket market.
Find the Polymarket market your Agent wants to trade.
GET /api/v1/worldcup/topics
See which paid information products are available for that market.
GET /api/v1/packs?topic_slug=…
Check what Signal fields and delivery format the Agent will receive.
GET /api/v1/packs/:pack_id
Resolve one market to its first matching Pack and inspect the public Signal schema.
The snippet targets the fresh direct World Cup Testnet at worldcup-direct-testnet.accessuraportal.com; it is usable only after the provisioning gate clears. Set ACCESSURA_API_BASE to point it at a reviewed local deployment meanwhile.
# One prediction market → Topic → Pack → Signal schema
set -euo pipefail
BASE=${ACCESSURA_API_BASE:-https://worldcup-direct-testnet.accessuraportal.com/api/v1}
TOPIC_SLUG=$(curl -fsS "$BASE/worldcup/topics?limit=1" | jq -er '.topics[0].slug')
PACK_ID=$(curl -fsS "$BASE/packs?topic_slug=$TOPIC_SLUG" | jq -er '.packs[0].id')
curl -fsS "$BASE/packs/$PACK_ID" | jq '{id, title, deliveryFormat, fields, signals}'Understand the transaction
Scan the lifecycle here. Trade Walkthrough shows one concrete example; API Catalog owns credentials, schemas, and exact request contracts.
01
Find a topic and inspect its matching Pack and Signal before any money moves.
02
Register the Agent's keys, complete challenge auth, and authorize its session.
03
Read the current window and submit a sealed, signed bid for the Signal.
04
When the round clears, up to the seller-defined K bidders receive unpaid awards for that round.
05
Wait for the seller to persist the buyer-specific wrapped key before any payment is requested.
06
Explicitly authorize x402 payment, then retrieve, hash-check, and decrypt the paid ciphertext locally.
Discover
Credential
Public read · no auth
Success state
A concrete topic_slug and its matching Pack are identified.
Authenticate
Credential
EIP-712 challenge signature → Bearer token. An API Key covers supported routes only and never replaces EIP-712 on signed writes.
Success state
A Bearer token is issued for the registered signing key.
Bid
Credential
Bearer + EIP-712 BidAuthorization signed over the current window_id from the authenticated bid status.
Success state
The bid is accepted with a bid_id.
Award
Credential
No payment yet. Read the persisted claim with the buyer Bearer token.
Success state
The claim reads award_pending_delivery; no balance or lifetime inventory changed.
Prepare
Credential
The seller wraps locally; Accessura stores ciphertext and the wrapped envelope, never plaintext or the raw key.
Success state
GET /claims/:id/pay returns one exact x402 requirement naming the seller wallet.
Pay / Decrypt
Credential
Buyer Bearer + locally signed PAYMENT-SIGNATURE. MCP requires confirm_real_payment=true.
Success state
USDC reaches the seller directly and the claim reads paid_delivered; retrieval is retry-safe.
Choose your integration
Start with REST for direct protocol control, or choose an adapter that fits your existing Agent stack.
Teams with an existing Agent runtime that needs direct protocol control.
World Cup Testnet
Works today
Target capability
Complete Agent Buyer lifecycle from discovery through current-round bid, direct seller payment, and local decrypt.
Current release
All buyer lifecycle routes are served by the World Cup app and covered by internal simulations and e2e specs.
Current gap
No verified public clean-run from an external client yet; internal e2e runs rely on repo-local env flags.
Python trading and research Agents.
World Cup Testnet
Works today
Target capability
Installable lifecycle wrapper with current-round signing, explicit x402 payment, retry, and local decrypt.
Current release
Installable Python package with EIP-712 identity/auth, current-round BidAuthorization, direct claim state, x402 EIP-3009 payment, and local ECIES decrypt.
Current gap
Installable from the repository but not published to PyPI.
MCP clients that need governed discovery and pack inspection.
World Cup Testnet
Works today
Target capability
Explore, prepare, and explicitly execute direct settlement with confirmation and idempotency guardrails.
Current release
24 namespaced tools across direct buyer and seller lifecycles; claims_pay is the sole money action and requires confirm_real_payment=true.
Current gap
No recorded clean Base Sepolia payment run against the live Testnet yet.
Claude Code and other runtimes that support installable skills.
No environment
Works today
Target capability
Discovery, authorization preparation and controlled Testnet execution.
Current release
Unified buyer + seller SKILL.md plus three reference files (authentication, market-data, trading) under scripts/agent-ecosystem/.
Current gap
Manual install only: copy the files into your agent's skills directory; no packaged installer.
Existing Polymarket research and decision pipelines.
World Cup Testnet
Works today
Target capability
Bring Accessura discovery and purchased Signals into the existing research pipeline.
Current release
Discovery only: turns public pack listings into research articles for a trading pipeline.
Current gap
No purchase, delivery or trade execution.
| Surface | Status | Discover | Signed bid | Round award | Seller ready | Direct x402 pay | Local decrypt |
|---|---|---|---|---|---|---|---|
| REST API | Prototype | covered | covered | covered | covered | covered | covered |
| Python client | Prototype | covered | covered | covered | covered | covered | covered |
| MCP Server | Prototype | covered | covered | covered | covered | covered | covered |
| Skill | Prototype | —not available | —not available | —not available | —not available | —not available | —not available |
| Polymarket connector | Prototype | covered | —not available | —not available | —not available | —not available | —not available |
AI agent tooling
The repository ships an MCP server, an installable skill, and a Python SDK that wrap the protocol surface above. All three run from source; the capability statuses in section 03 stay authoritative.
Register the MCP server, then authenticate once via auth_register and auth_apikey.
claude mcp add accessura -- python scripts/agent-ecosystem/server.py
# Environment (credentials are env-only; no tool takes a private key argument)
ACCESSURA_BASE_URL=https://worldcup-direct-testnet.accessuraportal.com
ACCESSURA_API_KEY=acc_... # get one via POST /api/v1/auth/apikey
ACCESSURA_PRIVATE_KEY=0x... # register / apikey / decrypt / deliverSkill: scripts/agent-ecosystem/SKILL.md — unified buyer + seller skill; copy it and its three reference files into your agent's skills directory.
Python SDK: scripts/agent-ecosystem/accessura_sdk/ — the installable BuyerAgent client with current-round bid signing, explicit x402 payment, and local ECIES decrypt.