CrawlerToll

Settlement rails

A rail is how money actually moves after a 402. CrawlerToll ships two rails that settle and one escape hatch. The design rule behind all of them: the money never passes through Charthouse. There is no CrawlerToll balance, no payout, no fee, and no payment credential held on our side.

| Rail | Who pays | Where the money lands | Status | |---|---|---|---| | x402 | AI agents and wallet-holding readers | The publisher's own USDC address on Base | Live (mainnet in production, settled by a keyless third-party facilitator) | | stripe | Human readers by card, Apple Pay, Google Pay | The publisher's own Stripe account | Live (publisher pastes their own keys; the plugin creates and verifies the PaymentIntent on their account) | | custom | Anyone your hosted paywall accepts | Your existing provider | The 402 carries a Link: <…>; rel="payment" header to the URL you set; no sealing involved |

x402

The open agent-payment standard (Linux Foundation x402 Foundation, Coinbase, Cloudflare, Stripe and others). The reader's or agent's wallet signs an EIP-3009 transferWithAuthorization for the exact price; the unlock service submits it to a facilitator, which broadcasts the USDC transfer into the publisher's wallet and returns the transaction hash. The key is released only after settlement is confirmed. CrawlerToll supports x402 V1 and V2 (PAYMENT-REQUIRED / PAYMENT-SIGNATURE / PAYMENT-RESPONSE headers, CAIP-2 networks).

Readers need an EIP-1193 wallet such as MetaMask, Coinbase Wallet or Rabby; the unlock app switches or adds the Base network for them. Agents built on Cloudflare's Agents SDK, Coinbase's x402 clients, or any conformant client pay without a browser.

Facilitators: https://facilitator.xpay.sh (default) and https://facilitator.payai.network (alternative) both settle on Base mainnet and Base Sepolia without an API key. Publishers can set their own facilitator per site.

Stripe

Cards for people. Paste your Stripe publishable key and a restricted secret key into Settings → CrawlerToll. The plugin creates a PaymentIntent on your account with the content id and tier bound in its metadata, Stripe's Payment Element collects the card in the reader's browser, the plugin verifies status, exact amount, currency and binding, and only then asks the unlock service to release the key. Disputes, receipts, invoices and tax reports are all Stripe's, on your account. Apple Pay needs your domain registered in your Stripe dashboard; Google Pay needs nothing.

Stripe's card floor applies: card prices below $0.50 (or the equivalent) can't be charged, so those articles sell to wallets and agents in USDC only. Reader prices normally live in access tiers ($3–10 passes). The per-visit price shown to AI crawlers on ordinary pages is advertised, not charged.

What about TollBit, Skyfire, Cloudflare Pay Per Crawl, Stripe's MPP?

They are part of the ecosystem, not rails inside CrawlerToll. Cloudflare's gateway moves money at the edge for its own customers and coexists with CrawlerToll at the origin. TollBit and Skyfire are hosted paywall networks; if you use one, the custom rail points crawlers at it. Stripe's Machine Payments Protocol sits above x402; CrawlerToll does not support it.

See also