One rail · two payers

Invisible payments —for you,and for your AI.

People check out with an email. AI agents pay their own x402 bills — under caps their owner controls. One balance, real evidence, no theatre.

The rail

One rail. Two payers.

Human checkoutemail → code → pay
Agent payment402 → policy → sign
Verifiedreal evidence only

Diagram: a human checkout line and an agent payment line merge into one settlement rail that ends in verified evidence.

One balance settles both. Buyers never see a wallet; agents never exceed their cap. Every settlement carries evidence you can independently verify.

For your AI

Your agent hits a paywall.
Tab handles the rest.

402200
  1. 01402 challengeA paid API answers with a payment challenge.
  2. 02Policy gatesCap, status, and kill-switch checked first.
  3. 03SignatureThe server wallet signs the exact amount.
  4. 04SettlementThe x402 facilitator settles USDC on-chain.
  5. 05200 OKThe request retries and simply succeeds.

No model in the loop, no blind allowance. A policy engine gates every request before any signature exists — and a kill switch stops new spending instantly.

For you

Checkout that feels like email, not a wallet.

Buyers type an email, enter a six-digit code, and pay. No extension, no seed phrase, no gas surprise. Balances live on real chains; complexity doesn’t reach the buyer.

  • Email + one-time code — nothing to install
  • One balance across supported chains
  • Test mode is always labeled, never simulated
Product illustration · no financial data
tabExample Merchant

$12.00

Base SepoliaSandbox funds — no real value
Product illustration · no financial data
amount
[amount] USDC
network
Base Sepolia · eip155:84532
payer
[agent address]
challenge
observed
policy
passed before signature
settlement
[transaction id]
Verified

Evidence, not theatre

Submitted is not settled. Tab shows the difference.

Every payment carries its own paper trail: the challenge, the policy decision, the signature, the settlement, and independent verification — each shown only when it really happened. No state is ever invented.

  • Real transaction ids, linked to public explorers
  • Verification is a separate, continuing check
  • Failures state whether money may have moved

Developers

A component for people.
A config for agents.

checkout.tsx

import { PayButton } from "@runtab/sdk";

<PayButton
  publishableKey="pk_test_…"
  intentUrl="/api/intent"
  onSuccess={(transactionId) => done(transactionId)}
/>

Drop-in email checkout. Package publication pending.

mcp.json

{
  "mcpServers": {
    "tab": {
      "command": "tab-agent",
      "env": {
        "TAB_API_BASE_URL": "https://app.example.com",
        "TAB_AGENT_KEY": "agent_sk_…"
      }
    }
  }
}

Point any MCP client at Tab. The agent pays x402 bills within its cap.

Built on the open internet

  • Base
  • Arbitrum One
  • Circle USDC
  • Magic
  • Particle Network
  • x402

Open a tab.

Sandbox funds — no real value · Base Sepolia sandbox included