Tollbeam routes your UserOperations across multiple Paymasters to guarantee the best fill, highest reliability, and sane fees — no vendor lock‑in, no guesswork.
{
"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
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.
Production support with 99.95% uptime and incident paging for enterprise.
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.
In token‑gas mode, partners can pay in USDC. We bill the USD value of gas plus a small configurable spread (bps) to cover liquidity and risk; fallbacks ensure reliability.
We share 15% of net fees. Net per UO = fee × (1 − 0.15) − provider_cost. Multiply by UOs/day to estimate daily net.
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.
No. Bring your own wallet, bundler, and signer. We manage routing logic and telemetry.
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.