Paychannels
00

10,000,000 payments a second.Zero gas usage.Zero payment cost.Zero ms confirmation.

Paychannels is the payment rail for AI agents. Deposit once on Polygon, pay every API call with a signature, settle a million payments in one transaction.

ATake payments

your server
import { paymentMiddleware } from "x402-express";

app.use(paymentMiddleware(payTo, { "GET /api/*": "$0.001" }, { url: "https://paychannels.mudit.blog/facilitator" }));

That's it.

Merchants

BGive your agent a wallet

paste into your agent
Read https://paychannels.mudit.blog/PAYING.md and use x402 to buy https://paychannels.mudit.blog/api/paid/time
Agents
payments settled on this devnetconnecting to the indexer…
peak 5,837,970/spayments/second right nowconnecting to the indexer…
01

Cards were built for humans.

ticketcard fee share
$0.001
$0.01
$0.10
$1
$10

$0 cost per payment.

Human commerce bundles. Agent commerce streams.

A card network peaks near 9,000 payments a second. One Paychannels hub does that every 9 milliseconds.

02

How it works.

  1. Deposit once
  2. Pay by signature
  3. Merchants claim everything in one transaction

Settle on your schedule.

Every settlement is two on-chain transactions, however many payments it covers. Pick your volume and how long you are willing to wait; the cost per payment follows.

$0.000000000038all-in cost per payment: settlement + hub computesettlement $0.00000000000078 · hub compute $0.000000000038 (1 server) · 600,000,000 payments per settlement · $0.000038 per million≈ 74,000 + ~90,000 gas at 30 gwei ($0.000000000045 all-in at 273.5 gwei spot) · hub: 30 µs per payment, 48-core servers at $100/month · facilitators and sites not included
03

One deposit. Every merchant.

An agent deposits once and pays anyone on the hub. No channel per merchant, no top-up per site, no approval per call. The deposit is the agent's spending limit; the hub keeps every merchant's running total; each merchant claims whenever it likes.

  • Deposit once from any EVM wallet, then never touch the chain again.
  • Pay a thousand sites with the same balance, a signature each, nothing to open or close.
  • Stop any time: exit returns whatever the agent did not spend.

Per-channel designs open one channel per payer and merchant, lock funds in each, and pay to close each one. Paychannels needs none of that.

one deposit$100 · any EVM wallethubinference APIsearchweathernews archivemapscomputestorageany x402 site
one deposit → one hub → every merchant. Each merchant claims its own total in one transaction.
04

Proof.

Live hub view

connecting…

Hubs large — payments/s and verify µs per hub. Facilitators and sites small at the rim.

Fully-verified payments/s by hub servers

measured 2026-07-03 · projection dashed
Fully-verified payments per second by hub servers: measured 1, 2, 6 and 11 hubs; projection 20 hubs to 10M, 200 hubs to 100M125102050100200100k1M10M100Mhub serversfully-verified payments/s10M100M1 hub · 24 cores: 465k/s1 hub · 24 cores: 489k/s1 hub · 24 cores: 449k/s2 hubs: 1.27M/s6 hubs: 3.11M/s11 hubs: 5.84M/s449k–489k1.27M3.11M5.84M

Measured: 1 hub 449k–489k (24-core) · 11 hubs 5.84M (258 cores) · per-core ≈ 22.6k. Projection: 20 hubs → 10M · 200 hubs → 100M.

Add a hub, add a million payments a second.

Paid in 30 microseconds

hub verify + apply. A blink takes 100,000 microseconds; one hub clears six thousand payments before your eyelid closes.

Under a millisecond, end to end

single-box devnet waterfall

through the unoptimised reference facilitator, 60,000/s per 8-core pair

05

Try it now.

preparing your wallet…

Preparing your wallet in the background: keys → fund → deposit → channel open. The click is the payment.

$ preparing your wallet — every step prints here

Receipt X-PAYMENT-RESPONSE

Timing client → network → site → facilitator → hub

round trip · on our side

client
network
site
facilitator
hub

Do it from your terminal

bash · curl · jq · cast
curl -sL https://paychannels.mudit.blog/session.sh | SITE_URL=https://paychannels.mudit.blog bash
09

Works with what you have.

  • x402 exact
  • x402 batch-settlement scheme
  • official x402 SDK
  • every EVM wallet
  • MPP session (coming)
10

Compare.

One hub ledger, every EVM wallet, two on-chain transactions per million payments. Nothing else on this table does all three.

criterionPaychannelsCard networksSolana payment channelsTempo sessions
payments/s (measured)5,840,000~9,0001,090,000*not published†
durable journalyes — fsync'd, replayable after kill -9yesno — in-memory*settlement on-chain only
wallets supportedevery EVM walletcardsSolana onlyTempo only
settlement cost per payment$0 — a merchant settles any number of payments in one transaction$0.30 + 2.9 % per paymentone channel close per receiver*per-session open + close†
payment confirmation0 ms — verified and applied before the response; 30 µs on the hubseconds; final in daysproxy ack; settled every ~5 min*one chain confirmation per session (~0.6 s)†
settlement cadenceyours — every second or every hundred million payments, same two transactionsfixed by the networkoperator batches*per session†
crash safetykill -9 under load: zero acked loss, receipts replayedn/ain-memory store; vouchers lost on restart*chain-backed
one deposit pays any merchantyesyesno — one channel per receiverno — one session per payee
scales across serverslinear — add a 48-core hub, add ~1.1M/scentralisedone 128-core box*chain-bound (~18k TPS target)
  • * Solana payment channels: 1.09M vouchers/s on ONE 128-core AVX-512 box — verify-only, in-memory, ed25519. No journal, no ledger, one box.
  • Tempo sessions: open and close each wait one Tempo confirmation (~0.6 s); per-transaction fees "as low as a tenth of a cent". Throughput per session is unpublished.

11

Every request paid. Starting now.

Add the middleware and get paid per request. Hand your agent the prompt and it pays on its own. Run a hub and sell it as yours.

paste into your agentRead https://paychannels.mudit.blog/PAYING.md and use x402 to buy https://paychannels.mudit.blog/api/paid/time