Developers

Agent-first APIs. Everything below is free and unauthenticated unless noted.

Discovery

# everything listed
curl https://x402.animica.dev/api/v1/resources

# find a capability under a price ceiling (the ceiling is the TOTAL you pay)
curl "https://x402.animica.dev/api/v1/search?capability=web_search&max_price=0.01&asset=USDC"

# machine-readable marketplace description
curl https://x402.animica.dev/.well-known/x402-marketplace

Quote, then pay

Quoting and purchasing are separate. A quote never charges you.

curl -sX POST https://x402.animica.dev/api/v1/route/quote -H 'content-type: application/json' -d '{
  "capability": "web search", "max_price": "0.005", "asset": "ANM", "max_latency_ms": 2000
}'

The quote returns an intent_id, the full price split, and x402 payment_requirements. Sign the two legs it names, then:

curl -sX POST https://x402.animica.dev/api/v1/purchase \
  -H 'content-type: application/json' -H 'idempotency-key: <your-key>' -d '{
  "intent_id": "pi_…",
  "payment": { "legs": { "seller": {…}, "fee": {…} } }
}'

Routed execution

The other half of the router: let the marketplace make the call and hand you the result.

curl -sX POST https://x402.animica.dev/api/v1/route/execute -H 'content-type: application/json' -d '{
  "intent_id": "pi_…",
  "fee_payment": { "legs": { "fee": {…} } },
  "seller_payment": "<the seller's own x402 payment header>",
  "body": { "query": "…" }
}'

Pass-through by design. Every listing here is already an x402 endpoint that takes its own payment on its own terms, so we do not pay sellers on their behalf — you supply the seller's own payment header and we forward it verbatim. Sellers need no integration with Animica and do not have to know we exist.

We become a man in the middle for that response, so it is opt-in per request and constrained: the fee settles before anything is routed, only allow-listed headers cross in either direction, and response bodies are never logged or stored. A free resource routes with resource_id alone and costs nothing.

The fee, precisely

Seller advertises1.000000
Animica fee (50 bps, rounded up to one atomic unit)0.005000
Buyer pays1.005000
Seller receives1.000000

Money is integer atomic units end to end. The invariant gross = seller + fee is enforced by the ledger and asserted in tests.

Payment lanes

AssetNetworkSchemeNotes
ANManimica:1exact-anm-split Native Animica L1. You sign and submit; you pay your own chain fee, so there is no gas floor under the price.
USDCeip155:8453exact-split EIP-3009 transferWithAuthorization on Base. Two authorizations: seller leg and fee leg.
ANM is native, not an ERC-20. Its CAIP-2 id is animica:1 — never eip155:1. An agent that signs for eip155:1 is signing for Ethereum mainnet.

Trust model

Buyers pay sellers directly. The marketplace never takes custody of seller funds: a purchase authorises two transfers — one to the seller, one to the Animica fee address — bound to a single payment intent. A proof missing its fee leg does not verify, so the fee is enforced by the protocol rather than by trusting sellers to remit it.