From 83f5e9280cab495802ecc14ecb7f614b2507b042 Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Thu, 3 Sep 2026 16:48:31 -0700 Subject: [PATCH 1/2] Clarify the EIP-7702 default migration so customers can update address validation and choose a delegation version before rollout. Co-Authored-By: Codex --- content/changelog/2026-08-20.md | 15 +++++++-- .../transactions/using-eip-7702/index.mdx | 32 +++++++++++++++---- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/content/changelog/2026-08-20.md b/content/changelog/2026-08-20.md index 90999fd58..fb8d75cd0 100644 --- a/content/changelog/2026-08-20.md +++ b/content/changelog/2026-08-20.md @@ -1,9 +1,20 @@ + +Beginning September 21, 2026, new EIP-7702 accounts created through `wallet_prepareCalls` or `wallet_requestAccount` will delegate to `SemiModularAccount7702` v1.1.0 by default on every supported network. Existing accounts are unaffected: they keep their recorded delegate and do not need to sign a new authorization. + +If your application validates or recognizes accounts by delegate address or `accountId()`, add v1.1.0 to the accepted set before the rollout. Both versions remain supported, so accept both rather than replacing v1.0.0. You can [opt in to v1.1.0 now or explicitly keep new accounts on v1.0.0](/docs/wallets/transactions/using-eip-7702#choose-the-delegation-version). + + ## Wallets **Smart Accounts** -* `SemiModularAccount7702` v1.1.0 is now deployed on all supported networks and available in the [aa-sdk](https://github.com/alchemyplatform/aa-sdk). This version adds a fallback signature path so signatures from the underlying EOA are accepted alongside the account's default signer. -* Starting September 14, `SemiModularAccount7702` v1.1.0 will be the default delegation used when creating new 7702 accounts via the Wallet APIs. Existing on-chain delegations keep their current version and are not upgraded in place unless a new version is explicitly requested at deploy time. +* `SemiModularAccount7702` v1.1.0 is now deployed on all supported networks and available in the [aa-sdk](https://github.com/alchemyplatform/aa-sdk). It adds support for standard EOA signatures through ERC-1271, improving compatibility with Permit2 and similar applications without introducing a new signer or authority path. The release was audited by Octane. +* Starting September 21, v1.1.0 will be the default delegation for new EIP-7702 accounts created through Wallet APIs. Existing accounts keep their recorded version unless another version is explicitly requested. + +| Version | Delegate address | `accountId()` | +| --- | --- | --- | +| v1.0.0 | `0x69007702764179f14F51cdce752f4f775d74E139` | `alchemy.sma-7702.1.0.0` | +| v1.1.0 | `0x77021100bD87b7008E5E1989d0eB38555d0d0000` | `alchemy.sma-7702.1.1.0` | **Gas Manager** diff --git a/content/wallets/pages/transactions/using-eip-7702/index.mdx b/content/wallets/pages/transactions/using-eip-7702/index.mdx index 3551e78f8..6758ecd6f 100644 --- a/content/wallets/pages/transactions/using-eip-7702/index.mdx +++ b/content/wallets/pages/transactions/using-eip-7702/index.mdx @@ -7,7 +7,7 @@ slug: wallets/transactions/using-eip-7702 [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) is enabled by default, giving you access to all Smart Wallet capabilities including gas sponsorship, batching, and more - while keeping the same address. - **Upcoming default delegation change — September 14, 2026:** New EIP-7702 accounts created through Wallet APIs will delegate to Modular Account v2 v1.1.0 at `0x77021100bD87b7008E5E1989d0eB38555d0d0000`, instead of v1.0.0 at `0x69007702764179f14F51cdce752f4f775d74E139`. Existing accounts are unaffected. If your application validates delegation addresses, allowlist the v1.1.0 address before then. + **Upcoming default delegation change — September 21, 2026:** New EIP-7702 accounts created through Wallet APIs will delegate to Modular Account v2 v1.1.0 at `0x77021100bD87b7008E5E1989d0eB38555d0d0000`, instead of v1.0.0 at `0x69007702764179f14F51cdce752f4f775d74E139`. Existing accounts are unaffected. If your application validates delegation addresses, allowlist the v1.1.0 address before then. See the [changelog announcement](/docs/changelog/2026/8/20) for details. ## How it works @@ -24,6 +24,29 @@ Once delegated, the account behaves as a Smart Wallet while keeping the same add For implementation details, see the [Send Transactions](/docs/wallets/transactions/send-transactions) guide. +## Choose the delegation version + +For an account that is already delegated, Wallet APIs continue using its recorded delegate. For a new account, Wallet APIs use the current default unless you explicitly request a supported version in the `eip7702Auth` capability. + +For example, request v1.1.0 with `wallet_prepareCalls`: + +```json +{ + "capabilities": { + "eip7702Auth": { + "delegation": "ModularAccountV2", + "version": "v1.1.0" + } + } +} +``` + +Use `"version": "v1.0.0"` to keep a new account on v1.0.0. You can also pass a supported contract address directly as `delegation`; see [Smart contract deployments](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2) for the available addresses. + + + Explicitly requesting a version re-delegates an existing account when it currently uses a different version. After delegation, later calls continue using the account's recorded delegate unless you explicitly request another version. + + ## How to use non-7702 mode If you need to use a traditional wallet instead of EIP-7702, opt out of the default 7702 behavior by calling `wallet_requestAccount` first. @@ -222,12 +245,7 @@ Call `requestAccount` with the desired `accountType`, then pass the returned add The `eip7702Auth` capability supports the interface defined in [ERC-7902](https://eips.ethereum.org/EIPS/eip-7902). - Wallet APIs support delegation to the following Modular Account v2 contracts: - - * `0x69007702764179f14F51cdce752f4f775d74E139` (v1.0.0) - * `0x77021100bD87b7008E5E1989d0eB38555d0d0000` (v1.1.0) - - All other delegation addresses will be rejected. + Wallet APIs accept the Modular Account v2 contracts listed under [Smart contract deployments](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2). All other delegation addresses are rejected. Once delegated, an account remains delegated until the delegation is replaced or removed. From 2de7f4711864d4f5c0392d8a9a91ddf526ad8f4e Mon Sep 17 00:00:00 2001 From: jakehobbs Date: Thu, 3 Sep 2026 16:56:55 -0700 Subject: [PATCH 2/2] Clarify that only SemiModularAccount7702 deployment addresses are valid delegates so the broader deployment table cannot be misread. Co-Authored-By: Codex --- .../wallets/pages/transactions/using-eip-7702/index.mdx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/content/wallets/pages/transactions/using-eip-7702/index.mdx b/content/wallets/pages/transactions/using-eip-7702/index.mdx index 6758ecd6f..69c21ec28 100644 --- a/content/wallets/pages/transactions/using-eip-7702/index.mdx +++ b/content/wallets/pages/transactions/using-eip-7702/index.mdx @@ -41,7 +41,7 @@ For example, request v1.1.0 with `wallet_prepareCalls`: } ``` -Use `"version": "v1.0.0"` to keep a new account on v1.0.0. You can also pass a supported contract address directly as `delegation`; see [Smart contract deployments](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2) for the available addresses. +Use `"version": "v1.0.0"` to keep a new account on v1.0.0. You can also pass a supported `SemiModularAccount7702` address directly as `delegation`; see [Smart contract deployments](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2) and use only the rows named `SemiModularAccount7702`. Explicitly requesting a version re-delegates an existing account when it currently uses a different version. After delegation, later calls continue using the account's recorded delegate unless you explicitly request another version. @@ -245,7 +245,12 @@ Call `requestAccount` with the desired `accountType`, then pass the returned add The `eip7702Auth` capability supports the interface defined in [ERC-7902](https://eips.ethereum.org/EIPS/eip-7902). - Wallet APIs accept the Modular Account v2 contracts listed under [Smart contract deployments](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2). All other delegation addresses are rejected. + Wallet APIs accept only the `SemiModularAccount7702` addresses from the [Modular Account V2 deployment list](/docs/wallets/smart-contracts/deployed-addresses#modular-account-v2): + + * `0x69007702764179f14F51cdce752f4f775d74E139` (v1.0.0) + * `0x77021100bD87b7008E5E1989d0eB38555d0d0000` (v1.1.0) + + All other delegation addresses are rejected. Once delegated, an account remains delegated until the delegation is replaced or removed.