EIP-7702 vs ERC-4337
TL;DR — Both give you account abstraction (sponsored gas, batched calls), but by different routes. ERC-4337 routes a UserOperation through a bundler and an EntryPoint into a deployed smart-contract wallet. EIP-7702 lets a plain EOA temporarily run a delegate contract's code, so it can batch and be sponsored without a bundler and without deploying a wallet. Kryard uses a managed EIP-7702 relay — the simpler path for most apps.
Side by side
| EIP-7702 (Kryard's relay) | ERC-4337 | |
|---|---|---|
| Account | The user's existing EOA | A deployed smart-contract wallet |
| Extra infra | A relay to sign + front gas (Kryard runs it) | A bundler + an EntryPoint + (usually) a paymaster |
| Wallet deployment | None — the EOA executes directly | Deploy/init the account (counterfactual) |
| Transaction type | Type-4 (SetCode) | handleOps at the EntryPoint |
| Sponsored gas | Relayer fronts gas | Paymaster fronts gas |
| Batching | Yes (delegate execute) | Yes (executeBatch) |
| Mental model | "My EOA borrows a contract's code for one tx" | "A contract wallet with a mempool" |
Why Kryard chose EIP-7702
- No bundler to run or trust. 4337 needs a bundler (self-hosted or third-party) and an EntryPoint round-trip. 7702 broadcasts an ordinary type-4 transaction.
- No wallet to deploy. Users keep their existing EOA and address — nothing to migrate, no counterfactual deployment step.
- Simple sponsorship. The user signs a 7702 authorization + a batch digest; Kryard fronts gas and broadcasts. See Gasless transactions, explained.
Kryard also runs a 4337 verifying-paymaster lane for teams that specifically want the UserOp model — so you can pick per use case. But the default, lowest-friction path is the 7702 relay.
When 4337 still makes sense
- You need features that live in a smart-contract wallet (module systems, complex recovery, session keys enforced on-chain today).
- You already have a 4337 stack and want a paymaster to plug into.