VetoVetoDocs
Agentic Checkout Protocol

GET /.well-known/agentic-checkout.json

The discovery anchor. The single URL an agent needs to bootstrap everything — catalog URL, checkout URL, supported rails, receiving destinations, accepted mandates, and a policy summary.

The single URL an agent needs to bootstrap everything else. It advertises the catalog and checkout URLs, supported rails, the merchant's receiving destination(s) (pay_to), the accepted mandate types, and a summary of the acceptance policy — so a well-behaved agent can self-screen before it even tries.

Response — 200

{
  "protocol": "veto-checkout/0.1",
  "merchant": { "id": "acme", "name": "Acme Corp", "domain": "shop.acme.example" },
  "catalog_url": "/agent/catalog",
  "checkout_url": "/agent/checkout",
  "rails": ["x402", "mock"],
  "pay_to": { "x402": { "chain": "base", "address": "0x...", "asset": "USDC" } },
  "mandate": { "accepted": ["veto", "ap2", "acp", "none"], "preferred": "veto" },
  "policy_summary": {
    "require_mandate_over_usd": 20,
    "max_per_transaction_usd": 500,
    "min_reputation_tier": "standard"
  }
}

Fields

FieldMeaning
protocolThe protocol + version string (veto-checkout/0.1).
merchant{ id, name, domain }.
catalog_url / checkout_urlRelative paths to the catalog and checkout endpoints.
railsThe settlement rails this merchant accepts.
pay_toPer-rail receiving destination (non-custodial; the merchant's own).
mandate.acceptedThe mandate types accepted on the wire.
policy_summaryA non-binding summary so agents can self-screen.

Relative URLs in catalog_url / checkout_url "just work" whether the merchant is hosted on a subdomain or under a path prefix.