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.
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.
| layer | x402 alone | with pahz |
|---|---|---|
| who signs | the agent, with a key it holds | the pahz signer, on behalf of a tab; the agent holds no key |
| budget | whatever the wallet holds | tab balance, hard ceiling |
| rate | unlimited | per-minute / hour / day caps |
| counterparties | any endpoint that asks | allowlist + directory tags |
| price | whatever the server says | per-service band; overages held |
| visibility | tx history | meter with call, price, latency, settlement |
| stop | rotate the key | close the tap; agent keeps running |
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.