An open HTTP-402 standard for paying per request — settled on-chain in Fractal Bitcoin, non-custodial, with no accounts. Providers earn per call; agents pay themselves.
An agent or app calls a paid endpoint. No key, no signup, no card.
The server answers with a price and a fresh FB address derived from the provider's xpub.
The caller broadcasts one FB transaction — provider + network fee in a single tx, wallet to wallet.
We verify it on-chain and the endpoint serves. Funds never touch us — non-custodial by design.
Wrap a route in one line and set a price. Your server holds only an API key — no node, no keys, no database.
import { requirePayment } from "os-x402/sdk"; app.get("/v1/inference", requirePayment({ facilitatorUrl: "https://x402.fb", apiKey: process.env.SVC_KEY, price: 10_000 }), (req, res) => res.json({ out: model(req) }) );
import { payAndFetch } from "os-x402/sdk"; const r = await payAndFetch( "https://api.example.com/v1/inference", { wallet } );
An agent that hits a 402 pays it and retries — no human, no checkout. TypeScript and Python SDKs.
The spec and SDKs are MIT. Self-host the facilitator, or use ours and skip the infrastructure.