Skip to content
xobank.cash
01bankai.cash
v1 · live on Base

HTTP 402, resurrected.

The payment protocol for the machines that trade at machine speed. BAPARA extends x402 with agentic budgets, spend limits, and audit-ready receipts. Compatible with Google AP2 and the Coinbase facilitator spec.

bankai://api.bankai.cash
02Protocol

The payment layer for agentic commerce.

Servers return 402 Payment Required with terms. Agents sign a stablecoin authorization off-chain. Facilitator settles in ~200ms. No signup, no API keys, no dashboard.

BAPARA extensionPAYMENT-INTENT + budget metadata
Compatibilityx402 · Google AP2 · Coinbase CDP
ChainsBase · Solana · (soon) Optimism, Polygon
AssetsUSDC · USDT · PYUSD
03Why it matters

Autonomy ends where a price tag begins.

AI agents can read, reason and act. But they can’t sign up for an account, wait three days for API keys, or file a receipt. bankai fixes that with an HTTP-native payment layer that moves at machine speed.

The payment layer for agentic commerce
Servers return 402 Payment Required with terms. Agents sign a stablecoin authorization off-chain. Facilitator settles in ~200ms. No signup, no API keys, no dashboard.
The payment layer for agentic commerce
Servers return 402 Payment Required with terms. Agents sign a stablecoin authorization off-chain. Facilitator settles in ~200ms. No signup, no API keys, no dashboard.
The payment layer for agentic commerce
Servers return 402 Payment Required with terms. Agents sign a stablecoin authorization off-chain. Facilitator settles in ~200ms. No signup, no API keys, no dashboard.
The payment layer for agentic commerce
Servers return 402 Payment Required with terms. Agents sign a stablecoin authorization off-chain. Facilitator settles in ~200ms. No signup, no API keys, no dashboard.
04SDK

Two lines. Any framework.

server · TypeScript
import { paymentRequired, verifyPayment } from '@xo/bapara-sdk/server';

app.get('/inference', async (req, res) => {
  const pr = paymentRequired({
    amount:     '0.002',
    recipient:  process.env.WALLET!,
    facilitator: 'https://facilitator.bankai.cash',
  });

  const header = req.headers['x-payment'];
  if (!header) return res.status(402).json(pr);

  const check = await verifyPayment(header, {
    facilitatorUrl: pr.facilitator,
    expect: pr,
  });
  if (!check.ok) return res.status(402).json(pr);

  res.setHeader('X-Payment-Receipt', encode(check.receipt));
  res.json({ completion: await runModel(req.body) });
});
client · TypeScript
import { BaparaClient } from '@xo/bapara-sdk/client';

const client = new BaparaClient(wallet);

const res = await client.fetch('https://api.bankai.cash/inference', {
  method: 'POST',
  wallet,
  maxAmountUsdc: 0.10,
  body: JSON.stringify({ prompt: 'design a payment protocol' }),
  onReceipt: (r) => console.log('settled', r.txHash),
});
bankai.cash

Give your agent a budget. Not your seed phrase.

Deploy a facilitator, wrap your route, hand your agent a mint-fresh wallet. Ship agentic commerce in an afternoon.