Skip to content

feat(x402): add experimental ERC-8409 signed quotes - #28

Merged
SergeevDmitry merged 5 commits into
masterfrom
feature/x402-erc8409-quotes
Oct 22, 2026
Merged

SergeevDmitry merged 5 commits into
masterfrom
feature/x402-erc8409-quotes

Conversation

@Revinand

Copy link
Copy Markdown
Member

Summary

Adds experimental ERC-8409 quotes, disabled by default. With payments.x402.quote enabled, x402 challenges include an EIP-712-signed quote for each EVM offer, bound to the resource and its validated input. Requests whose input cannot be canonicalized receive challenges without quotes. The implementation follows draft commit 0ee33230.

Buyers can verify the signer against the issuer published at /.well-known/agent-commerce. Verification and settlement ignore echoed quotes. With quotes disabled, challenges are unchanged.

  • Use a dedicated signing key. Provider construction rejects malformed keys, well-known Anvil keys outside the local chain, keys controlling an EVM payTo, and configurations without an EVM offer.
  • Carry the same quotes over HTTP, MCP and A2A. Reuse cached quotes for unchanged terms and input while a full payment window remains.
  • Let doctor compare the published issuer with the configured key's address.
  • Add optional PaymentContext.input, the X402PaymentProvider type, and shared RFC 8785 serialization in core.
  • Cover transport behavior with integration tests and quote verification through settlement with an Anvil E2E test. Document the binding, key policy and header-size limits.

@SergeevDmitry
SergeevDmitry merged commit 57b97c9 into master Oct 22, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants