> ## Documentation Index
> Fetch the complete documentation index at: https://unevenlabs-docs-drift-src-aa153b3060-2d3471a.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Smart Accounts in Relay

> Sponsor gas, batch actions, and execute across chains with ERC-4337 and EIP-7702

Let users transact across chains from the assets they already hold. Combine smart accounts with Relay to:

* **Batch multiple actions** into one atomic call (e.g. deposit → call user wallet → mint NFT)
* **Delegate tx execution to the user**, preserving `msg.sender` on the destination chain
* **Sponsor gas** or use ERC-20s for fee payments
* **Route logic across chains**, bridging into EOAs that execute contract logic without a separate deployment

Relay supports two complementary standards for smart account execution:

***

### [ERC-4337](/features/gasless-swaps#erc-4337-gasless)

Relay uses ERC-4337 to support complex smart account flows. Key features include:

* Sponsored transactions using **paymasters**
* Arbitrary smart account validation logic
* **Bundled execution**: approve → swap → send, all in one tx

This is useful when you have smart accounts like **Safe** or **Kernel**, and interact via **UserOperations**.

***

### [EIP-7702](/features/gasless-swaps#7702-batchexecutor)

Relay uses EIP-7702 to enable **EOAs to become smart accounts**.

We support 7702 to:

* **Execute logic on destination chains where the user is `msg.sender`**\
  Useful for apps where the final contract cares about the actual sender (e.g. NFT mints, purchases)
* **Preserve intent and gas delegation across chains**\
  Solvers can deliver ETH or tokens to the user's EOA, and the EOA can act as a smart wallet
* **Avoid smart account setup** on destination: the user's EOA behaves like a contract temporarily, powered by an `authorizationList` signature

***

### Why Smart Accounts Matter for Relay

Smart accounts help your app preserve user identity, batch calls, and manage gas across chains:

| Problem | Solved By |
| - | - |
| `msg.sender` is solver, but the app needs it to be the user | ✅ ERC-4337 / 7702 |
| Want to batch calls after bridging ETH | ✅ ERC-4337 / 7702 |
| Want to pay gas from any chain or abstract fees entirely | ✅ ERC-4337 paymasters / 7702 signature logic |
| Want smart account functionality for your EOA | ✅ EIP-7702 |

For example, when someone uses ETH on Chain A to buy an NFT on Chain B:

* A solver delivers ETH to their EOA on Chain B
* That EOA uses a signed 7702 tx to **batch logic** on Chain B: approve → mint
* `msg.sender` = the user, not the solver

This wasn’t previously possible because we couldn’t inject logic into EOAs **without deploying a contract**. Now we can.

***

## 🔗 Explore the Guides

* [ERC-4337 Guide](/features/gasless-swaps#erc-4337-gasless) – Learn how Relay uses UserOperations and bundlers
* [EIP-7702 Guide](/features/gasless-swaps#7702-batchexecutor) – See how Relay turns EOAs into smart wallets with `authorizationList`

***

The Relay platform supports both ERC-4337 and EIP-7702 for gas sponsorship, batching, and user-authorized execution.

Let us know what you’re building.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.