Back to overview

Use cases

The Channel protocol put to work — the full flow, the primitives involved, real-world scenarios, and the code to ship each one.

APIs · Pay-Per-Call

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.

HTTP 402 quotes Compute-unit pricing feeMicro engine X-Payment-Auth
$0.000001smallest billable amount — no processor minimums
~20msrequest → verify → response
ZeroAPI keys issued to callers
100%usage-based — pay exactly what's consumed

How it works

01

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.

02

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.

03

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.

04

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

Flat tiers + invoicingChannel pay-per-call
PricingMonthly tiers, estimates, overagesExact compute-unit fee per request
Minimum viable price~$0.50 before fees eat the margin$0.000001
OnboardingSignup, card on file, key issuanceAny funded wallet, first request
AuthenticationLong-lived bearer key — leakableFresh signature on every request
Settlement cost2.9% + $0.30 per chargeBatch gas amortized across thousands

In the wild

LLM & models

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
Data & oracles

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
Search & scraping

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
SaaS billing

True usage-based pricing

SaaS products charge for exactly what's consumed instead of flat monthly seats — usage is the invoice.

consumption = billing
Compute

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
Indie devs

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.

Agents · Machine-to-Machine

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.

Autonomous payments Signed spend limits Machine-to-machine Agentic commerce
Zerohuman approvals needed per transaction
signedspend limits the agent cannot exceed
Zerosecrets in the agent runtime
1000sof autonomous payments per session, bounded

How it works

01

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.

02

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.

03

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.

04

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

API keys in env varsChannel wallet
Per-transaction approvalHuman sets up each provider accountAgent transacts autonomously within budget
CredentialLong-lived secret in the runtimePer-call signature, key never leaves wallet
Blast radius on leakUnlimited usage until rotatedBounded by balance and signed caps
Multi-providerOne key and one account per serviceOne wallet pays every 402 API
AuditScattered provider dashboardsUnified signed ledger trail per call

In the wild

Autonomous

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
M2M

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
Resources

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
Recurring

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
Budgets

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
Commerce

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.

Merchants · Self-Custodial

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.

Zero-fee in-app payments Checkout · POS · links No chargebacks Permissionless settlement
0%fee for customers paying with the Channel app
−40%lower gas on external on-chain payments
Zerochargebacks — every payment is a proof
any timepermissionless on-chain settlement

How it works

01

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.

02

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.

03

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.

04

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

Card processorChannel
CustodyProcessor holds funds until payoutFunds settle directly to your wallet
Settlement timingT+2 to T+7 payout scheduleOn-chain anytime, permissionlessly
Chargebacks120-day dispute window per chargeNone — payments carry cryptographic proof
Fees2.9% + $0.30 per transaction0% in-app · batched gas for external payers
Platform outageNo processing, no payoutsSettlement keeps working — it's on-chain

In the wild

E-commerce

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
Point of sale

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
Invoicing

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
Marketplace

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
Resilience

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
Global

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 · P2P

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.

Scan-to-pay QR @username transfers Cross-border in seconds Local approval
secondsto settle — including cross-border
~$0cost per transfer, any distance
3 waysto send — scan a QR, an @username, or a 0x address
Zerocustodial intermediaries at any hop

How it works

01

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.

02

Approve locally

The app shows amount and recipient; approval signs a peer LedgerPayment typed message on-device. Keys never leave the phone or extension.

03

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.

04

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

Custodial appChannel transfer
CustodyThe app holds your balanceYour keys, your ledger balance
Cross-borderDays of float, percentage skimSeconds, near-zero cost
FinalityApp can freeze, reverse, or close accountsFinal on signature — no one in between
BordersCountry availability listsAny wallet, anywhere
IdentityAccount tiers and KYC levelsWallet address, optional @username

In the wild

Retail

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
P2P

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
Remittance

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
Creators

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
Events

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
Gig work

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 · Point of Sale

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.

Scan at the counter Confirmed instantly No card terminal Settles to merchant wallet
instantfrom scan to confirmed at the register
0%card-network interchange on every order
$0terminal hardware to rent or maintain
non-custodialfunds land in the merchant's own wallet

How it works

01

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.

02

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.

03

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.

04

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

Card terminalChannel POS
HardwareLeased terminal, PCI scopeAny screen shows a QR
Fees1.5–3% + fixed per swipeNear-zero, no interchange
SettlementT+1/T+2 batch to a bankInstant to your own wallet
CustodyAcquirer holds funds in transitFunds land in your wallet directly
ChargebacksReversible for monthsFinal on signature
PayoutDepends on processor uptimeSettle on-chain anytime

In the wild

Coffee

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
Fast food

Lunch-rush throughput

Each register is just a screen showing a QR — add lanes at peak without renting more terminals.

any screen · more lanes
Street food

Food trucks & markets

No card reader to charge, no signal-locked terminal — a phone is the whole point of sale.

phone-only register
Unattended

Vending & kiosks

A QR on the machine encodes the item price; the customer scans, pays, and the slot releases.

static QR · self-serve
Pop-up

Festivals & stalls

Stand up a register in minutes with no merchant-account underwriting or hardware shipping.

live in minutes
Corner store

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.

Recurring · Non-Custodial

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.

SubscriptionPlan struct Renewal EIP-712 Streaming payments Validator co-signing
Zerocard vaults or billing webhooks
per requestentitlement checks in middleware
EIP-712signed, bounded renewal authorizations
per secondstreaming payments for payroll & vesting

How it works

01

Publish a plan

Create a SubscriptionPlan on the ledger contract with price, period, and token — the plan id is deterministic and shareable.

02

Subscribe with a signature

The subscriber signs an EIP-712 renewal authorization; the first period debits immediately from their ledger balance.

03

Gate access

subscribe(planId) middleware checks entitlement per request — premium routes, paywalled media, and member areas pass active subscribers straight through.

04

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

Card-on-fileChannel plans
MandateOpen-ended authorization on a stored cardSigned amount + window, nothing more
Failed renewalsExpired cards, dunning emails, churnBalance check — lapse is a clean 402
Entitlement checkLookup in a billing vendor's databaseLedger fact, checkable by any service
CancellationSupport flows and retention screensStop signing — lapses at period end
InfrastructureWebhooks, retries, PCI scopeMiddleware check per request

In the wild

SaaS

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
Content

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
DAOs

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
Creators

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
B2B & credit

Invoicing & installments

Businesses run recurring B2B invoices and loan repayment schedules as bounded signed authorizations — auditable by both sides.

recurring invoices · installments
Streaming

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.

Platform · Build On It

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.

Node + browser SDKs White-label checkout Split settlement Treasury automation
2 SDKsNode.js and browser — one protocol
1 ledgerfor 402, transfers, plans, and splits
n-waysettlement splits per transaction
Zerocustody — your users' funds never touch us

How it works

01

Integrate the SDK

@channel-sdk/nodejs on the server, @channel-sdk/browser in the client — payments, checkout, transfers, and plans behind one API.

02

Compose the primitives

402 quotes, peer transfers, subscriptions, and checkout sessions are building blocks — combine them into whatever your product charges for.

03

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.

04

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

Processor APIsChannel rail
CustodyPlatform funds held in processor accountsEvery party keeps their own wallet
SplitsConnected accounts, transfer delaysPer-transaction splits, settled together
Checkout UXHosted pages, their branding rulesWhite-label — fully yours
Payout automationPayout API bound by their scheduleSigned transfers whenever your code says
Vendor riskAccount freezes stop your businessPermissionless settlement, always

In the wild

Checkout

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
Marketplace

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
Treasury

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.