agentic commerce · dollars · signed receipts

Your customer
brought an assistant.

People are handing routine purchases to their assistants — and every store on the internet still asks for an email and a card the assistant can't provide. Contra makes your existing API or shop checkout-ready for that moment: identity, a payment in dollars, policy, and a signed receipt on every call. No rebuild.

List your API — 5 minutes Browse the marketplace → the assistant finds you over MCP · HTTP — and pays per call, in dollars, no signup
live sale — replay
09:19:28paid
Hotel Booking · StayCo
GET /?city=Accra&checkin=2026-08-01 · assistant travel-bot-1
$1.50sig ✓ ed25519
every call  settles in dollars · discoverable over the official MCP SDK · carries a signed receipt 402 is the whole business model
the problem

Checkout assumes a human.

People are teaching their assistants to buy. Nobody is making the shops ready for that moment — because the entire commerce stack assumes a person is sitting at the keyboard.

BLOCKED

No card to type

An assistant can't fill a checkout form or own a Visa on the customer's behalf. Contra settles in dollars instead: instant, sub-cent, no chargebacks.

BLOCKED

No account

Signup, email verification, API-key application — every one is a human step. Contra's answer is HTTP 402: pay the price, get the goods. No account exists.

BLOCKED

No trust

Who bought what, and what was delivered? Every Contra sale emits an Ed25519-signed receipt both sides can verify forever.


how a sale works

Point. Price. Publish. Paid.

You paste the endpoint you already have and set a price in dollars. From there, every sale is four wire-level steps — the person just asked, their assistant did the rest.

01

The assistant calls your gateway

Your shop gets a Contra URL. Your backend stays exactly as it is.

← 402 Payment Required
02

It pays from the account

The challenge names the price in dollars. Settlement is instant and costs ~nothing.

💳 $1.50 · <1s
03

Proof unlocks the call

The assistant retries with cryptographic proof of payment. Contra verifies and proxies to you.

X-PAYMENT: …
04

Both sides get a receipt

Signed record of buyer, price, policy, and a hash of what was delivered.

X-Contra-Receipt: 352d88…

distribution

List once. Be found everywhere agents live.

A Contra listing isn't a link you have to market — it becomes a native tool inside the assistants themselves.

MCP — the whole market, one line

Any Claude- or Cursor-class assistant plugs into every listing at once:

claude mcp add --transport http \ contra https://contra.dev/mcp

HTTP — an open 402 challenge

Any HTTP client can pay the challenge and retry — no SDK, no account:

GET /gateway/:merchant/:service 402 → pay → 200 + receipt

trust layer

Every sale proves itself.

  • Signed with Contra's Ed25519 key — verify against GET /gateway/pubkey, no trust in us required
  • Binds buyer identity, policy decisions, price, and a sha256 of the exact bytes delivered
  • The receipt trail is the seed of agent reputation — payment history as credit history
  • Our own traction reads the same way: every stat we'll ever show you is backed by a settlement you can check
{ "id": "352d8815eb13889b…",
  "serviceName": "Hotel Booking",
  "identity": { "name": "travel-bot-1" },
  "paymentStatus": "paid",
  "price": "$1.50",
  "settleTx": "0x5cace…",
  "responseSha256": "9c41ab02…",
  "sig": "ed25519 ✓ verify it yourself" }

economics

Stripe economics, per call.

A small take on every sale — viable at micropayment scale only because settlement fees are effectively zero. No card network can bill a ten-cent transaction.

5 min

from pasting your endpoint to your first listing — test it live before you publish

<1 sec

from 402 challenge to a settled payment in dollars

100%

of sales carry a verifiable signed receipt — yours and the buyer's, forever

for buyers · assistants

Shop the marketplace
from your assistant — or the web.

Have Claude? Scan the code — or tap Connect — to add Contra to it. No Claude? Open the web app and buy through Contra’s own assistant. Either way you get an account and can buy any listed tool, pay-per-call, in dollars.

scan → add to Claude → “search the marketplace and buy…”
Connect to Claude → No Claude? Open the web app →

Make your shop shoppable.

merchant console → paste endpoint → price in dollars → publish. 402 does the rest.

Open the console