Please note that not all deployed contracts have the same address across all
chains. Please check carefully to ensure you are using the correct contract
address for the chain you are using.
Solver Addresses
These addresses identify solvers in existing integrations, not a protocol-wide operator or a universal deposit destination. Retrieve current chain data from Get Chains; use the signature validation guide when checking an order commitment.Contract Versions
Migrating to the new router
Relay switches to the v3.2 Router and ApprovalProxy on Monday, October 26, 2026 at 10 AM ET.- Both the v3 and v3.2 pairs stay live during the transition. If you validate transaction targets or approval spenders against known addresses, allow both pairs.
- Get Chains already returns the new pair under
contracts["v3.2"]. At the switch,contracts.erc20Routerandcontracts.approvalProxychange to the v3.2 addresses, and the Mainnet Contracts table below updates with them. - Token approvals do not carry over from the v3 ApprovalProxy, so a returning user approves the v3.2 ApprovalProxy once.
- ERC-3009 permits on the v3.2 ApprovalProxy need a second signature, which clients opt into. See Gasless Swaps.
- If you call the v3.2 ApprovalProxy directly:
permitTransferAndMulticall(ERC-2612) no longer has a nonce in its permit struct, andpermit3009TransferAndMulticalltakes an extramulticallSignaturesargument.transferAndMulticall,permit2TransferAndMulticalland the Router’smulticallkeep their signatures, and the Permit2 witness now includesmsgValue. - ABIs for the v3.2 contracts are available on request.