Dual-payee x402
A match payment is not a single transfer. The 402 challenge lists two accepts:
- Seller — USDC to
sellerPayTofor the matched slice - Hub — protocol fee to
HUB_PAY_TO(bps + floor)
Settlement is x402 USDC on both Base and Solana. Each swap clears seller + protocol fee.
Rails
- USDC on Base (
eip155:8453) via x402 - USDC on Solana (SPL via x402)
(Buyers may also pay via pay.sh on Solana — buyer-side CLI, not a seller acceptor.)
Buyers (or their wallets / facilitators / clients) must satisfy the challenge before the hub marks the match paid and issues a grant.
Why dual: seller gets paid for capacity; protocol fee funds the rail without the hub custodying inference keys or proxying token streams.
See also: Fees, Pay a match.