Skip to main content
Payment schemes define the payment semantics for a resource: exact is for fixed-price requests where the buyer authorizes the advertised amount, upto is for single-request usage-based billing where the buyer authorizes a maximum and the seller charges actual usage, and batch-settlement is for high-volume or repeated micropayments where per-request authorizations are accumulated against a reusable channel. Network implementations define how those semantics are encoded for EVM, SVM, TVM (TON), AVM, Stellar, Aptos, Hedera, Keeta, Concordium, NEAR, and XRPL; see SDK Features for current SDK support.

Schemes in a 402 Response

A protected resource advertises one or more payment requirements in its HTTP 402 Payment Required response. The scheme names the payment semantics and network names the network implementation.
Servers register scheme implementations for the networks they advertise. Clients register scheme implementations for the networks they can pay on. When the client receives a 402 response, the SDK selects an accepts entry whose scheme and network match a registered implementation.

Payment flows

Every scheme declares which payment flows it supports per asset transfer method. A payment flow controls when verification and settlement happen relative to the resource handler: The server resolves the flow from the scheme’s paymentFlows table using the assetTransferMethod in the payment requirements. When the resolved flow is not authorization, the server signals it to clients via extra.paymentFlow in the 402 response. The exact scheme supports both authorization (default) and upfront flows on all networks. Servers opt in per route by setting extra.paymentFlow: "upfront" in the route’s accepts config. The upto and batch-settlement schemes support authorization only.

Specs

For scheme-level payload semantics, see the network-agnostic specifications. Each scheme page links to its currently implemented network specs.