msg.sender
.
When to use EIP-7702?
By default, the Solver is the sender (msg.sender
) of destination chain transactions. This works well for simple “buy” use cases where the action can be routed to the user. But in many other scenarios (e.g. minting, selling, approvals), the contract logic relies on the caller being the user’s EOA.
EIP-7702 solves this by turning any EOA into a smart wallet, allowing relayed calls to preserve the original msg.sender
. This unlocks new capabilities like:
- Delegated execution: destination chain transactions that require the user as
msg.sender
- Batched actions: approvals, minting, or function calls that must originate from the user
Relaying on the destination chain using EIP-7702
You can use EIP-7702 by passing anauthorizationList
inside the txs
array during your /quote
API call. The Solver will relay these transactions on the destination chain by passing the authorizationList
while sending a type-4 transaction.
Here’s a complete example: