# Dexter > A spending limit your agent can't exceed. Dexter Tabs let an AI agent spend real USDC, metered per call and capped on-chain — the money never leaves the owner's wallet, and the seller is paid per call without being drained mid-stream. Live on Solana mainnet. A person clicks buy once and money moves once. An agent spends continuously — across model calls, tool calls, GPU-seconds, and the messages it sends. No payment rail was built for that. A tab is: one authorization with a hard cap; the agent spends within it; the seller meters per call and is paid for exactly what it served; and what's accrued is reserved on-chain (lock-mode) so neither side can rug the other. The owner can withdraw the rest of their balance at any time, but can't claw back what's already owed. Tabs are for spend that accumulates and matters — tokens, GPU-seconds, message volume — where a hard cap and drain-protection earn their keep. Cheap one-off lookups don't need a tab. ## What you build with a tab - **LLM inference (pay-per-token)** — meter completions per token; cap total spend so a runaway loop can't drain you. https://dexter.cash/examples/llm-inference - **GPU rental** — bill per GPU-second, drain-proof; rent compute without a blank check. https://dexter.cash/examples/gpu-rental - **Push & messaging** — charge per send at high volume, hard-capped. https://dexter.cash/examples/push ## Start here - **Open and fund a tab** (hosted passkey smart wallet, non-custodial): https://dexter.cash/tabs - **Add the rail to any API**: `npm i @dexterai/x402` — https://dexter.cash/sdk - Canonical entrypoints: `payAndFetch(url, init, wallets)` (buyer); `x402Middleware` / `tabOrExactMiddleware` (seller). Current major: `@dexterai/x402@4`. ## How a buyer's agent uses a seller's API 1. The owner opens and funds a tab via the hosted passkey flow at https://dexter.cash/tabs (Face ID; money stays in the owner's wallet). 2. The agent calls the seller's API with `payAndFetch`; the seller meters each call with `tabOrExactMiddleware`. 3. What's accrued reserves on-chain; on close the seller is paid the reserved amount. Drain-proof, both ways. ## Proven on mainnet Live on Solana mainnet — program `Hg3wRaydFtJhYrdvYrKECacpJYDsC9Px7yKmpncj2fhc`. Drain-protection (the kill-move) and the credit/standby surface have committed, public on-chain receipts: https://github.com/Dexter-DAO/dexter-vault-sdk/tree/main/scripts/receipts ## The rails underneath - **Facilitator** — x402 settlement across 8 chains: https://dexter.cash/facilitator - **OpenDexter** — MCP runtime for agents that pay: https://dexter.cash/opendexter - **x402gle** — search the paid-API catalog: https://x402gle.com - **Instinct** — next-step recommendations for agents: https://x402ads.io Full reference for integrators: https://dexter.cash/llms-full.txt