Use cases
The Channel protocol put to work — the full flow, the primitives involved, real-world scenarios, and the code to ship each one.
API micropayments
Pay-per-call access to any HTTP API, billed by compute units instead of flat monthly tiers. The middleware quotes an exact fee with a standards-aligned 402 Payment Required response and verifies the wallet-signed proof on retry — before your handler runs. Charge tiny amounts per request with no payment-processor minimums.
feeMicro engine
X-Payment-Auth
How it works
Price in compute units
Express cost as units of work — inference tokens, rows scanned, requests served. scaleCost() computes units per request; the feeMicro engine maps them to exact token micro-units.
Quote on first call
Unauthenticated requests get a 402 with the exact fee, accepted tokens, and your merchant wallet — standard HTTP, no custom error formats.
Verify the proof
The client retries with an EIP-712 signed LedgerPayment in X-Payment-Auth. Middleware checks signature, nonce, and balance before your handler runs.
Serve and settle
Your handler runs with req.payment populated — fee, payer, token. Thousands of micro-payments batch into one on-chain settlement, amortizing gas.
Why providers switch to pay-per-call
No flat-tier waste
Callers pay for exactly what they consume, per request — no tiers to design, no overage penalties, no unused quota.
No key management
Callers authenticate with wallet signatures, not bearer tokens. Nothing to rotate, revoke, or leak in a public repo.
Drop-in middleware
Wrap existing Express routes without restructuring your app. req.payment carries everything your handler needs.
Zero onboarding friction
Any funded wallet can call your API on first contact. No signup form, no sales call, no free-tier abuse to police.
Compared to flat tiers + API keys
In the wild
Pay-per-inference
LLM and model APIs charge per inference, scaled to actual usage — per output token, per image, per embedding batch.
scaleCost · per outputTokens
Metered data feeds
Market-data feeds, RPC nodes, and oracles meter every query — heavy consumers pay proportionally, no tier negotiation.
per query · RPC · oracle reads
Per-request access
Search APIs, scraping services, and proxies bill per request — agents and batch jobs pay as they go, no account setup.
per request · no signup
True usage-based pricing
SaaS products charge for exactly what's consumed instead of flat monthly seats — usage is the invoice.
consumption = billing
Unit-metered workloads
GPU-seconds, rows scanned, megabytes processed — any unit of work maps to micro-units with zero rounding loss.
1 unit / GPU-sec · 6 decimals
Long-tail monetization
Charge tiny amounts per request without payment-processor minimums — endpoints too cheap to invoice become viable products.
$0.0001 / call · viable
Common questions
What happens when a client sends an invalid or expired proof?
The middleware rejects it before your handler runs and responds with a fresh 402 quote. Your application code never sees unverified traffic — there is no "maybe paid" state to handle.
Can the price vary with the size of the response?
Yes. scaleCost() computes units from request or response context — output tokens, rows scanned, processing time — so dynamic workloads still get exact pricing, billed in integer micro-units with no rounding.
How do clients discover what my endpoints cost?
The SDK publishes a payment manifest listing every priced route, its fee, and accepted tokens. Clients and agents read it once instead of probing each endpoint for a 402.
AI agent payments
Agents pay for services autonomously — no human approval on each transaction. They purchase compute, data, and API access on demand as they work, transact directly with other bots, and even buy goods on a user's behalf. Every payment stays inside a signed spend limit, so autonomy never means unbounded burn.
How it works
Wallet in the loop
The agent holds a mnemonic-derived wallet, or registers a temp spender under the ChannelCash instance id. Keys stay in the runtime that signs — never on the wire.
Set the budget
pay(path, init, { maxAmount }) bounds the worst-case spend per call, and the session budget caps the total. Quotes above either limit are rejected before signing.
Transact autonomously
The SDK reads each 402 quote, signs the proof if within budget, and retries automatically — the agent buys compute, data, and API access as it works, no human in the loop.
Escalate when it matters
High-value purchases route to the browser extension or mobile wallet for explicit human approval — autonomy for cents, oversight for dollars.
Why agent builders choose Channel
True autonomy
Agents transact without a human approving each payment — the signed budget is the supervision, enforced cryptographically.
No leaked credentials
A compromised agent can sign bounded payments — it cannot exfiltrate an API key that grants unlimited access.
Budget observability
Per-call receipts roll into session and daily spend views — know exactly which tool burned the budget and when.
Bot-to-bot native
Both sides of a payment can be machines — an agent selling a service gets paid by an agent buying it, on the same rail.
Compared to API keys in agent runtimes
In the wild
Self-serve service payments
An agent pays for translation, OCR, and enrichment APIs as it processes a workload — no human approval per call.
0 approvals · budget-bound
Machine-to-machine commerce
A data-cleaning bot sells its service to other bots over 402 — both sides are machines settling on the same ledger.
bot ↔ bot · same rail
Compute & data on demand
An agent rents GPU time, buys dataset access, and pays per RPC call as its task demands — resources acquired mid-run.
compute + data + APIs
Autonomous subscriptions
An agent subscribes itself to a provider's pro tier when usage crosses break-even, and lets it lapse when it drops.
subscribe / lapse · agent-managed
Signed spend limits
An overnight batch worker runs against a hard signed ceiling — the worst case is known before the first call fires.
hard cap · enforced pre-sign
Buying on a user's behalf
A shopping agent compares, decides, and pays for goods and services with the user's wallet — inside limits the user signed.
agentic commerce · user limits
Common questions
What happens when a quote exceeds the agent's budget?
The SDK rejects it before any signature is produced and throws a typed error with the quoted fee. The agent can skip the tool, pick a cheaper provider, or escalate to a human approval flow.
Can multiple agents share one funded wallet?
Yes. Spender registration scopes each runtime under the ChannelCash instance id, so every agent signs with its own registered identity while drawing from the shared balance — and any one of them can be revoked individually.
Does the agent need ETH for gas?
No. Payments are ledger debits authorized by typed-data signatures; settlement gas is batched and amortized on the merchant side. The agent only ever signs messages.
Merchant payments
Accept crypto payments fully self-custodially — funds settle directly to your own wallet, never held by a processor or intermediary. No chargebacks, since every payment carries a cryptographic proof. Settle on-chain anytime, permissionlessly, without anyone's approval — even if the platform goes offline.
How it works
Accept anywhere
Online checkout, in-person QR at the counter, or a payment link in a DM — every surface produces the same wallet-signed payment naming you as payee.
Two payer paths
Channel app users pay with a zero-fee ledger debit. External payers send to a contract-managed temp address that costs up to 40% less gas than an EOA temp address.
Funds stay yours
Payments credit your wallet on the ledger directly — no processor float, no custodial balance, no payout schedule between you and your money.
Settle permissionlessly
Withdraw on-chain anytime with a wallet signature. Settlement needs no one's approval and keeps working even if the platform goes offline.
Why merchants choose Channel
Your wallet, your funds
No processor or intermediary ever holds the money. Settlement is a contract call only your signature can authorize.
No chargebacks
Every payment carries a cryptographic proof against an on-chain balance. There is no card network to reverse it.
Lower fees
Zero fees for in-app payers, batched gas for everyone else — structurally cheaper than 2.9% + $0.30 per charge.
Instant, global, bank-free
Any funded wallet anywhere can pay you, and settlement is instant — no bank dependency, no cross-border fee schedule.
Compared to traditional processors
In the wild
Online checkout
A store adds Channel checkout next to cards — crypto customers pay straight to the merchant wallet with zero processor fees.
checkout · direct to wallet
In-person POS
A physical shop shows a QR at the counter; the customer scans and pays in stablecoins, confirmed before the receipt prints.
QR at counter · instant confirm
Payment links & invoices
A freelancer sends a payment link in a DM — the client pays from any wallet, and the invoice reconciles itself by txnId.
link · invoice · auto-reconciled
Split-seller payments
A marketplace splits each sale across multiple sellers — every payee gets their share on the same ledger, per transaction.
n-way splits · per payee
Platform-independent settlement
Even if Channel's platform goes offline, merchants settle their on-chain balances permissionlessly — the contract doesn't need us.
permissionless · always withdrawable
Borderless acceptance
A merchant in one country sells to customers in fifty — same integration, instant settlement, no bank dependency.
global · instant · bank-free
Common questions
Can customers pay without the Channel app?
Yes. External payers send to a contract-managed temp deposit address generated per payment. Because sweeps are batched at the contract level, it costs up to 40% less gas than a one-off EOA temp address — and Channel app users skip even that, paying with a zero-fee ledger debit.
What happens if the platform goes offline?
Your funds are on the ledger contract under your own wallet, so settlement keeps working — withdrawal is a permissionless contract call that needs no approval from Channel or anyone else.
Can I split revenue between multiple wallets?
Yes. The payee is configured per route, per checkout, or per plan, and each payment proof names its payee explicitly — a marketplace can route every seller's share to their own wallet on the same ledger.
What do I hand to my accountant?
Every receipt exports with payer, token, amount, timestamp, source, and transaction id, and each one is backed by a verifiable signature — a complete, audit-grade revenue trail.
QR & instant payments
Scan-to-pay checkout, peer-to-peer transfers, and cross-border remittances settled in seconds at near-zero cost. The sender's wallet signs locally, the receiver sees the credit instantly, and every transfer lands in ledger history with a verifiable signature trail — no intermediary at any hop.
How it works
Address the payment
Scan a QR that encodes address and amount, type an @username resolved by the directory, or paste a raw wallet address — all three produce the same payment.
Approve locally
The app shows amount and recipient; approval signs a peer LedgerPayment typed message on-device. Keys never leave the phone or extension.
Instant credit
The receiver's balance updates immediately on the ledger; both sides get a transfer record tied to the signature hash — fast enough for a checkout line.
Auditable history
Every transfer reconstructs from the typed-data signature — no custodial intermediary to trust, subpoena, or lose funds with.
Why payments feel instant here
Feels like a payment app
QR codes and @usernames hide the addresses. Recipients see a clean credit, not a hex dump.
Borderless by default
A transfer to the next desk and a remittance across an ocean are the same signed message with the same near-zero cost.
Keys stay on-device
Approval and signing happen in the extension or phone. The platform routes messages; it can't move funds.
Unified history
P2P transfers, retail payments, and payouts share one ledger history — one place to understand your money.
Compared to custodial payment apps
In the wild
Scan-to-pay checkout
A café shows a QR at the register; the customer scans and pays in stablecoins instantly — confirmed before the espresso pulls.
QR · stablecoins · instant
Friend-to-friend transfers
Dinner settled in seconds: one person pays, five send their share by @username before the table clears — no intermediary.
@name pay · no middleman
Cross-border in seconds
Funds move as a signed ledger transfer — no correspondent banks, no 3-day float, no percentage skim on the way home.
seconds · near-zero cost
Tips & live-stream donations
A streamer pins a receive QR; viewers scan and tip any amount mid-stream. Every tip is a signed transfer in wallet history.
QR tip jar · any amount
Ticketing & entry payments
Event organizers sell entry by payment QR — pay at the door, get verified on the spot, no card terminal rental.
pay at door · instant verify
Freelancer & gig payouts
A platform pays hundreds of workers at shift end — instant transfers to each worker's own wallet, in any country they live.
batch payouts · same day
Common questions
What if I send to the wrong @username?
The approval screen always shows the resolved wallet address and amount before you sign — what you approve is exactly what executes. Like cash, a signed transfer is final, so the confirmation step is explicit.
Does the recipient need to be online?
No. Receiving requires no action — the credit lands on the ledger immediately and the recipient's wallet picks it up the next time it syncs.
How can cross-border be near-zero cost?
Because there is no correspondent chain — a remittance is the same signed ledger transfer as a local payment. Distance doesn't add hops, and hops are what cost money.
In-store POS payments
Turn any screen at the counter into a register. The till shows the order total as a payment QR with a short validity timer; the customer scans with the wallet app already on their phone, confirms the exact amount, and one tap signs it on-device. The payment confirms at the counter instantly and settles straight to the merchant's own wallet — no card terminal, no acquirer, no batch payout. This is what makes paying for a coffee or a burger in stablecoins actually viable.
How it works
Show the total
The register renders the order as a payment QR that encodes the amount and the merchant's address, stamped with a short validity window so a code can't be reused.
Scan & confirm
The customer scans with their phone wallet. The exact total and merchant name appear; one tap signs a LedgerPayment typed message on-device. Keys never leave the phone.
Confirmed at the counter
The ledger credits the merchant immediately and the till flips to PAID — fast enough for a lunch-rush line, before the receipt even prints.
Money is already yours
Funds settle to the merchant's own wallet — no acquirer holding float, no T+2 batch, no payout schedule between the sale and the money.
Why this unlocks real-world adoption
Faster than tap-to-card
No PIN and no round-trip to an acquirer — a signed ledger payment confirms instantly, keeping the queue moving.
No terminal to rent
Any phone or tablet that can show a QR becomes a register. No POS hardware, no monthly lease, no card-reader to break.
Keep every cent
No 1.5–3% interchange skim on a $4 coffee. Micro-margin items — water, a snack, a single shot — finally make sense to sell in crypto.
Customer keeps custody
The customer pays from their own wallet and keeps their keys. Nothing is pre-loaded into a closed-loop app or held by a processor.
Compared to a card terminal
In the wild
Paid before it's poured
A $4 latte clears at the counter in seconds — no interchange eating the margin on a small ticket.
scan · instant · 0% fees
Lunch-rush throughput
Each register is just a screen showing a QR — add lanes at peak without renting more terminals.
any screen · more lanes
Food trucks & markets
No card reader to charge, no signal-locked terminal — a phone is the whole point of sale.
phone-only register
Vending & kiosks
A QR on the machine encodes the item price; the customer scans, pays, and the slot releases.
static QR · self-serve
Festivals & stalls
Stand up a register in minutes with no merchant-account underwriting or hardware shipping.
live in minutes
Micro-margin items
Water, gum, a single snack — items where a fixed card fee wipes out the profit now clear at near-zero cost.
small tickets · viable
Common questions
What if the customer's phone is offline?
They need connectivity to sign and submit — the same way a card needs the network. But there's no acquirer round-trip, so once the payment is signed it confirms faster than a card authorization.
Can the QR's timer expire mid-payment?
Each code carries a short validity window so a stale or screenshotted QR can't be reused. If it lapses before the customer scans, the register simply shows a fresh one — the amount never changes.
Do I have to reconcile payouts at end of day?
No batch and no payout schedule. Each payment is already in your wallet the moment it confirms, reconciled against its own signature — there's nothing to wait for or settle later.
Subscriptions & recurring
SaaS billing, gated content, DAO dues, creator memberships, installment plans, B2B invoicing — every recurring money flow, on-chain and non-custodial. Subscribers authorize renewals with EIP-712 signatures, validators co-sign settlement, and entitlement checks happen in middleware. No card vault, no billing webhooks, no involuntary churn.
How it works
Publish a plan
Create a SubscriptionPlan on the ledger contract with price, period, and token — the plan id is deterministic and shareable.
Subscribe with a signature
The subscriber signs an EIP-712 renewal authorization; the first period debits immediately from their ledger balance.
Gate access
subscribe(planId) middleware checks entitlement per request — premium routes, paywalled media, and member areas pass active subscribers straight through.
Renew on-chain
Renewals settle with validator co-signing inside the authorized window; a lapse means the gate returns 402 with a re-subscribe quote.
Why recurring flows live on the ledger
No involuntary churn
Renewals draw from a ledger balance, not an expiring card. Subscribers lapse by choice, not by card reissue.
Provable entitlement
Active status is a ledger fact, checkable by any service in your stack — not a row in a billing vendor's database.
Bounded authorization
The renewal signature authorizes a specific amount and window. There's no open-ended mandate to abuse.
Streaming-grade granularity
Funds can release by the second for payroll, vesting, and pay-as-you-watch — recurring doesn't have to mean monthly.
Compared to card-on-file billing
In the wild
On-chain SaaS billing
A SaaS bills monthly plans on-chain, non-custodially — subscribers fund a wallet once and never touch a card form again.
monthly plans · non-custodial
Gated content & paywalls
A publication gates archives and premium media behind a plan — the middleware checks entitlement on every request.
paywalled media · per-request gate
Membership dues
A DAO collects dues automatically each period — membership status is a ledger fact any tool in the stack can verify.
auto-collected · on-chain status
Fan memberships
A creator offers recurring supporter tiers — fans subscribe from their wallet, no platform cut, no card decline churn.
supporter tiers · no platform cut
Invoicing & installments
Businesses run recurring B2B invoices and loan repayment schedules as bounded signed authorizations — auditable by both sides.
recurring invoices · installments
Payroll & vesting streams
Streaming payments release funds by the second — salaries accrue continuously and vesting unlocks without cliff-day ops.
per-second release · payroll · vesting
Common questions
What happens when a subscription lapses?
The gate simply returns a 402 with a re-subscribe quote. One signature restores access — there's no account state to repair, no dunning sequence, no support ticket.
Can I change the price of a plan?
Publish a new plan with the new price — its id is derived from its parameters. Existing renewal authorizations stay bound to the amount the subscriber actually signed; nobody gets silently repriced.
Can I mix subscriptions with pay-per-call on the same route?
Yes. subscribe(planId) passes active subscribers straight through, and everyone else falls back to the metered monetize() quote — heavy users subscribe, occasional users pay per call.
Payment rail & infrastructure
Channel is a rail other apps build on. Ship white-label checkout under your own brand, split marketplace settlements across many sellers, and automate treasury payouts — all through the SDK, all on one self-custodial ledger that keeps working whether or not we do.
How it works
Integrate the SDK
@channel-sdk/nodejs on the server, @channel-sdk/browser in the client — payments, checkout, transfers, and plans behind one API.
Compose the primitives
402 quotes, peer transfers, subscriptions, and checkout sessions are building blocks — combine them into whatever your product charges for.
Split settlement
Declare payees and shares per route or per checkout — each payment settles to every payee's own wallet on the same ledger entry.
Automate treasury
Schedule payouts, sweep revenue wallets, and trigger transfers from your backend — every movement signed, logged, and auditable.
Why platforms build on Channel
Primitives, not a processor
You compose payments, plans, transfers, and splits in code — instead of mapping your product onto a processor's API shapes.
White-label by default
Checkout, receipts, and wallet flows render under your brand. Your users never leave your product to pay.
Marketplace-grade splits
Per-transaction, n-way settlement to each party's own wallet — no escrow account, no payout reconciliation job.
Programmable treasury
Payout schedules, revenue sweeps, and vendor payments run as signed backend automations with full ledger audit trails.
Compared to building on a processor
In the wild
White-label crypto checkout
A commerce platform embeds Channel checkout under its own brand — every merchant on the platform accepts stablecoins overnight.
your brand · our rail
Settlement layer for splits
A marketplace splits every sale between seller, platform, and referrer in one ledger entry — no escrow, no payout backlog.
n-way splits · one entry
Payout & treasury automation
A crypto-native company runs weekly contractor payouts and revenue sweeps as signed automations from its backend.
scheduled · signed · audited
Common questions
Can I keep my own checkout UI?
Yes — that's the point. The SDK exposes sessions, QR payloads, and payment status; you render them however your product looks. Hosted pages exist for teams that want them, but nothing forces you onto them.
How do settlement splits actually work?
Splits are declared on the route or checkout session, and each payment proof settles every payee's share to their own wallet in the same ledger entry — there's no pooled account that redistributes later.
What happens to apps on the rail if Channel goes down?
Settlement is permissionless on the ledger contract — balances stay withdrawable and on-chain settlement keeps working without any Channel service in the loop. Your dependency is the chain, not our uptime.