x402 & Base

The protocol underneath, and why we didn't write our own.

pahz is deliberately unoriginal at the protocol layer. x402 already answers "how does an HTTP endpoint charge per call"; Base already answers "where do sub-cent USDC payments settle". pahz answers the question they leave open: how does the payer decide.

x402 in one paragraph.

A client requests a resource. The server replies 402 Payment Required with a payment header: amount, asset, pay-to address, network, nonce. The client signs a payment authorization and retries with it attached. The server (or a facilitator) verifies and serves the resource. It is HTTP with a price tag, and it works with any endpoint that can add a header.

What it does not specify: whether the client should pay. That is the payer's policy, and it is all of pahz.

What pahz adds on top.

layerx402 alonewith pahz
who signsthe agent, with a key it holdsthe pahz signer, on behalf of a tab; the agent holds no key
budgetwhatever the wallet holdstab balance, hard ceiling
rateunlimitedper-minute / hour / day caps
counterpartiesany endpoint that asksallowlist + directory tags
pricewhatever the server saysper-service band; overages held
visibilitytx historymeter with call, price, latency, settlement
stoprotate the keyclose the tap; agent keeps running

Why Base.

Sub-cent payments only make sense where settlement costs less than the payment. Base does that in USDC today, and it is where x402 facilitators and services already live. A tab on Base pays a service on Base with no bridge in the path.

pahz tabs are ordinary contracts on Base. If x402 spreads to other networks, tabs can follow; the rules are network-agnostic, the settlement is not.