ZanoraBeta

Pay-per-call for APIs and MCP tools

The commerce layer for AI agents.

Price any HTTP endpoint or MCP tool per call. Agents find it, pay within rules you set and get a signed receipt.

Buying? Paste this into your agent:

Fetch https://zanora.dev/skill.md and follow the setup instructions

Or, follow the Buyer Quickstart.

one paid call
  1. agentPOST demo-seller.zanora.dev/ocr
  2. seller402 Payment Requiredprice $0.001 · single-use nonce · signed by Zanora
  3. agentchallenge signature verified$0.001 is under this agent's $5.00 ceiling
  4. agentPOST /ocr x-payment: ‹ed25519 proof›
  5. zanoraauthorizesignature ✓ replay ✓ policy ✓ budget ✓ balance ✓
  6. seller200 OK x-zanora-receiptstatus: success · responseHash sha256:…
  7. zanorasettledseller $0.00095 · platform fee $0.00005
With the SDK or MCP server, this is one call.

The problem

Paying is the easy part.

Agents can already pay. Businesses need what surrounds the payment.

Every vendor is another setup

Each paid API is another account, bill and key. Set up Zanora once and agents can buy from any verified seller.

A limit sees the amount, not the purchase

A cap can't say “verified sellers only” or “ask me above $5”. Zanora's rules can, before money moves.

A payment record isn't an answer

A statement shows money moved, not what came back. Zanora signs each receipt over the exact response.

How it works

One paid call, start to finish.

The handshake follows x402 over HTTP and MCP. Payments settle on Zanora's ledger, so a call can cost $0.001.

  1. 01

    Discover

    Search the registry by task, price and latency.

  2. 02

    Quote

    An unpaid call returns a price signed by Zanora.

  3. 03

    Policy check

    Zanora checks your rules, budget and balance.

  4. 04

    Pay

    The agent signs a proof. Zanora verifies it and reserves the price.

  5. 05

    Invoke

    Only now does the seller's code run. A failure refunds the buyer.

  6. 06

    Receipt

    The answer returns with a signed receipt. The seller is credited moments later.

Platform

Everything between an agent and a paid tool.

Registry, wallets, policies and ledger behind one gateway. Neither side builds billing.

Registry

Listings ranked by relevance, price, latency and reputation. Only verified sellers appear.

Capabilities

Agent wallets

One per agent. Only the agent holds its signing key. Fund by card or USDC on Base.

Wallets

One handshake, HTTP and MCP

HTTP endpoints and MCP tools share one handshake, receipts and refunds.

The protocol

Spending policies and approvals

Deny, require approval or allow-list, under a daily budget. Rules run on the server, so a model can't talk its way past them.

Policies
workspace policy
deny:
  provider.verified == false
approval:
  price > 5
allow:
  category == "OCR"

Seller middleware

Wrap a handler you already run. No billing code. Earnings pay out in USDC.

For sellers

Signed receipts

Bound to the response's hash, so it proves what was bought and what came back.

Receipts

Refunds and seller pauses

Failed calls are refunded. Three seller failures in a row pause that seller for the wallet.

How it works

Developers

A few lines on either side of the sale.

Six TypeScript packages on npm, plus a plain HTTPS + JSON API.

server.ts
import { zanoraSeller } from "@zanora/middleware-mcp";

const seller = zanoraSeller();        // ZANORA_API_KEY — a provider key
const paid = await seller.sell({
  tool: "extract_invoice",
  description: "Extract text and line items from scanned invoices",
  category: "OCR",
  price: "$1.00",
  url: "https://acme.example/mcp",
});

server.tool("extract_invoice", "Costs $1.00.", { imageUrl: z.string() },
  paid(async (args) => {
    const answer = await extractInvoice(String(args.imageUrl));
    return { content: [{ type: "text", text: JSON.stringify(answer) }] };
  }),
);
npm install @zanora/middleware-mcp
  • sell() publishes the listing and returns a wrapper.
  • Change the price and restart. The listing follows.
Read the guide

Architecture

Where Zanora sits.

Agents call sellers directly. Seller middleware checks with Zanora first.

Use cases

What it's for.

Buyers

Let an agent buy a tool it wasn't set up with

An invoice agent needs OCR. It finds a verified seller and pays for one call, with no vendor account.

Buy your first call

Sellers

Charge per call for an MCP server you already run

Price every tool at once or leave some free. Prices show in tools/list.

Sell an MCP tool

Teams running agents

Give each agent a bounded budget

A wallet each, a daily cap and approval above a set price. No agent can spend more than its wallet holds.

Approvals

Finance and audit

Answer “why did my agent spend this?”

Every purchase has a signed receipt. Every movement is in an append-only ledger.

Purchase history

Pricing

Buyers pay the listed price. Sellers pay a fee on earnings.

No subscription. Fee increases are announced at least 30 days ahead.

Balances aren't bank deposits. Regulated payment partners hold the funds. Terms

Money and fees
Buyer platform fee
None
Platform fee
5% of each sale, paid by sellers
Payout fee
$0.25 per USDC payout
Failed calls
Refunded automatically

Buy your first call in about five minutes.

Sign up, give an agent a wallet and buy a free call from the demo seller. No card needed.