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

Related EIP-3009 · settlement · payment receipt · agent wallet

Glossary