EIP-712
EIP-712 is the Ethereum standard for hashing and signing typed structured data rather than an opaque string. It is what makes a payment authorization readable before it is signed, and it is the form an x402 payment signature takes.
The standard's stated problem is that a signed message is otherwise an opaque hex string shown to a signer with little context about what it contains. EIP-712 encodes the data together with its structure and its domain, so what is being authorised can be displayed and checked before any signature exists. Its status is Final.
For a payment over HTTP that is the difference between signing a payment and signing a string. An EIP-3009 transferWithAuthorization is typed data of this kind: a recipient, an amount, a validity window and a nonce, each one named. x402's offer-and-receipt extension allows a receipt to be signed the same way.
→ The settle leg probe402 runs, and the network and asset it will accept, are set out in the method.
Sources
- EIP-712: Typed structured data hashing and signingEthereum Improvement Proposals
- EIP-3009: Transfer With AuthorizationEthereum Improvement Proposals
- Extension: offer and receiptx402 Foundation
Related EIP-3009 · settlement · payment receipt · agent wallet