Your users transact without holding a token for gas. ERC-4337 paymaster routing across Base, Optimism and Arbitrum, with failover between providers and a bill you can read.
Let an AI agent pay for what it needs — including parties you have no account with — under a spending limit it cannot raise. Every refusal recorded, with the policy that caused it.
They share an account, a dashboard and a bill, and almost nothing else. Separate docs, separate pricing, separate promises — including about keys: gas sponsorship holds none, agent payments must hold a signing key.
Two rails, one control plane. Sponsor ERC‑4337 gas across multiple paymasters, and govern what your AI agents are allowed to spend — with every limit, charge and refusal on one ledger.
Gasless UX for your users, routed across paymasters. Gas billed at cost, never marked up.
Start with $50 free gasPer‑agent spending limits, enforced before anything is signed, even when the payee is someone you have no account with. $5 of real payments on Base mainnet to try it.
Claim $5 to try it{
"jsonrpc": "2.0",
"id": 1,
"result": {
"userOpHash": "0x...",
"txHash": "0x...",
"provider": "pimlico",
"chain": "arbitrum",
"status": "included",
"routed_to": ["pimlico"],
"quoteId": "00000000-0000-0000-0000-000000000000"
}
}Current production routes
Get a testnet API key instantly — no email round‑trip, no credit card. Route sponsored UserOperations on Base, Optimism, and Arbitrum Sepolia in minutes.
Abstract away Paymaster drift while keeping costs low and UX blazing fast.
We probe multiple Paymasters and choose the best quote by latency, reliability and effective fee — per UserOperation.
Drop‑in client for AA wallets and dapps. One config, many Paymasters. Works with popular bundlers.
Metrics, webhooks, and searchable logs for every UserOperation and route decision.
Caps, allowlists, and per‑route constraints so you never overspend on gas sponsorships.
Current production support uses chain-name RPC routes such as Base and Arbitrum.
Incident paging and support terms agreed case by case.
Point your AA client to Tollbeam, keep your wallet and bundler as‑is.
Sign up, create a project key, and choose a supported chain route.
Set the paymaster RPC to Tollbeam and enable mainnet routing.
Monitor logs, tune caps, and go live.
curl -X POST "https://api.tollbeam.com/v1/base/rpc" -H "Content-Type: application/json" -H "Authorization: Bearer <YOUR_API_KEY>" --data '{
"jsonrpc": "2.0",
"id": 1,
"method": "pm_sponsorUserOperation",
"params": ["<userOperation>", "<entryPoint>", "<context>"]
}'Install the SDK, sponsor the UserOperation, then send it through the chosen chain-name RPC route.
import { sponsorUserOperation, sendUserOperation } from "@tollbeam/sdk";
const baseUrl = "https://api.tollbeam.com";
const chain = "base";1. Sponsor with your app API key and entry point.
2. Apply the returned sponsor fields and re-sign the UserOperation.
3. Send the final payload with the returned quoteId.
const apiKey = process.env.TOLLBEAM_KEY;
const entryPoint = "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789";
const userOp = {
sender: "0xYourSmartAccount",
nonce: "0x0",
initCode: "0x",
callData: "0x...",
callGasLimit: "0x...",
verificationGasLimit: "0x...",
preVerificationGas: "0x...",
maxFeePerGas: "0x...",
maxPriorityFeePerGas: "0x...",
paymasterAndData: "0x",
signature: "0x...",
};
// 1) Sponsor
const sponsor = await sponsorUserOperation(baseUrl, chain, userOp, {
apiKey,
entryPoint,
});
// 2) Apply returned sponsor fields
userOp.paymasterAndData = sponsor.paymasterAndData;
userOp.callGasLimit = sponsor.callGasLimit;
userOp.verificationGasLimit = sponsor.verificationGasLimit;
userOp.preVerificationGas = sponsor.preVerificationGas;
userOp.maxFeePerGas = sponsor.maxFeePerGas;
userOp.maxPriorityFeePerGas = sponsor.maxPriorityFeePerGas;
// Re-sign the final UserOperation after updating sponsor + gas fields
userOp.signature = "0x<re-signed-userop-signature>";
// 3) Send
const res = await sendUserOperation(baseUrl, chain, userOp, {
apiKey,
entryPoint,
quoteId: sponsor.quoteId,
});
console.log(res.userOpHash, res.txHash);Start in development, then scale on supported mainnet routes with predictable costs.
Tollbeam is an aggregator that routes to multiple Paymasters. You keep your wallet and bundler; we only optimize sponsorship.
Pay‑as‑you‑go is 2¢ per operation plus gas at cost. Pro is $99/month, credited straight back to your balance as $99 of usage, and drops the per‑operation fee to 1¢.
No. Gas is billed at what the provider charges us. Our revenue is the per‑operation fee, and it appears as its own line next to every charge on your ledger.
Current production routing uses mainnet chain-name routes such as base and arbitrum. Testnet routes are separate from production. Contact us if you need additional chain coverage.
Partly, today. A spending limit can apply to a single merchant, and setting that limit to zero blocks that host outright. What does not exist yet is default-deny: only these hosts, refuse everything else. The agent payments page says which is which.
Not for gas sponsorship: bring your own wallet, bundler and signer, and we manage routing logic and telemetry. Agent payments are different - paying with x402 requires signing an authorization, so we hold signing keys in AWS KMS for that rail. See the agent payments page.
JS/TS SDK is first‑class; REST is available for server‑side. More languages on the roadmap.
Create a project, grab an API key, and point your AA client to Tollbeam. Keep your current wallet/bundler; just add smart routing.