Inference APIs
Sentiment, embeddings, vision — whatever you serve. Put a price on it and agents pay per call.
Put your API behind Xaetha and every agent that calls it pays first — in USDC, with a spending limit and a receipt, before a single request reaches your code.
For developers and teams who ship an API, model, or tool — and want agents to pay for it.
Earned today
Rails
x402 · MPP
Calls today
1,938
Receipts
signed
What you get
Agents pay per call over x402, or top up prepaid credits. One request pays and calls.
Every call clears the payer's caps before it runs. Over-limit or unfunded requests are rejected — you never serve traffic you won't be paid for.
Every charge returns a signed receipt — proof, not your word against theirs.
USDC lands in your wallet on Base. Cash out to your local bank, coming soon.
How it works
01
Step 1 / 4
Register your API once and set a price. Your code doesn't change — Xaetha sits in front of it.
It hits the route and Xaetha collects the payment in USDC before your handler ever runs.
An agent that can't pay — out of funds, or past the limit its operator set — is turned away before your handler runs. You never serve a request you won't be paid for.
USDC lands in your wallet with a signed receipt of the charge. Reconciliation is a download.
The product
Everything between an agent's request and your payout — acceptance, spend caps, idempotency, signed proof, and money in your own wallet.
An agent pays first. No payment, no compute — your handler only runs on a charge that already cleared.
Per agent, per payer, per day, per workflow. Enforced before settlement, fail-closed.
Every charge returns a signed receipt; every workflow exports a statement anyone can verify. 100% receipted.
Retry ten times, charged once. Network flakiness never double-bills a payer.
x402 today, MPP negotiated with a signed offer — built to add ACP, AP2 and L402.
One await pay() with the SDK, or paste one MCP config into Claude or Cursor.
USDC settles to your own wallet on Base — no platform float. Local cash-out coming next.
Integrate
From a typed SDK call to one MCP paste to raw HTTP — pick whatever fits your stack. The gateway does the rest.
import { pay } from "@xaetha/client";
const { data, receiptUrl, txHash } = await pay({
providerSlug: "acme",
endpointSlug: "sentiment",
body: { text: "ship it" }
});
Back comes the data, a signed receipt URL, and the on-chain settlement hash — in a single await.
Best for
TypeScript & Node agents
npm i @xaetha/clientWhy Xaetha
An agent shows up, calls your endpoint, and leaves — no card, no checkout, no human watching the spend. Charging it takes more than a payment form.
An agent finds your endpoint and calls it — no signup, no checkout, no human at the keyboard. It pays over x402 from a wallet, per call, before your handler runs.
Spend caps across 8 scopes — agent, payer, day, workflow — enforced before settlement. A call over the limit is rejected, not absorbed into a surprise bill.
USDC settles straight to a wallet you control — no platform float. Every charge returns a signed receipt anyone can verify.
Side by side
The rail is USDC — a dollar stablecoin, not a speculative token. To you it's a balance that lands in a wallet you control. The agent handles the wallet; you handle an endpoint and a price.
They already do. x402 is an open payment standard — an agent that hits a 402 responds with payment and retries, no human prompt. The buyer that can't use a card can use this.
It fails closed. No payment, no compute. Over a cap, the call is rejected before it runs. A retried request is charged once — and every charge leaves a signed receipt.
Use cases
Inference, data, a tool over MCP, or a whole multi-step job — price it once and agents pay per use.
FAQ
An API endpoint and a wallet. Register the endpoint, set a price, point traffic at the gateway. You don't change your handler.
No. Any agent with a wallet can pay over x402 — or top up prepaid credits. There's no signup step in the payment path.
Minutes. Add one await pay() call on the agent side, or paste one MCP config into Claude or Cursor.
Private beta on Base. Live in minutes — one call, or one config paste.