Skip to content

Commit 331b356

Browse files
dancoombsclaude
andauthored
docs: add ERC-4337 EntryPoint v0.8 support (#1180)
* docs: add ERC-4337 EntryPoint v0.8 support to low-level infra APIs Add v0.8 as a supported EntryPoint version across bundler docs, FAQs, OpenRPC specs, shared component schemas, and revert codes reference. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: add UserOperationV08 schema to _shared_wallets components The bundler spec references _shared_wallets/components.yaml, not _shared/components.yaml. Add the v0.8 schemas to the correct file to fix OpenRPC spec generation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: set v0.8 EntryPoint address to 0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: reuse v0.7 schemas and revert codes for v0.8 v0.7 and v0.8 share the same UserOperation shape and revert codes. Instead of duplicating, rename v0.7 titles to "v0.7 / v0.8" and remove the separate UserOperationV08 schemas and revert codes page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent e2ce1d8 commit 331b356

8 files changed

Lines changed: 22 additions & 21 deletions

File tree

content/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1147,7 +1147,7 @@ navigation:
11471147
slug: useroperation-simulation-endpoints
11481148
- section: EntryPoint Revert Codes
11491149
contents:
1150-
- page: EntryPoint v0.7 Revert Codes
1150+
- page: EntryPoint v0.7 / v0.8 Revert Codes
11511151
path: >-
11521152
wallets/pages/bundler-api/entrypoint-revert-codes/entrypoint-v07-revert-codes.mdx
11531153
- page: EntryPoint v0.6 Revert Codes

content/wallets/pages/bundler-api/bundler-faqs.mdx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,26 +167,27 @@ Recommended Actions for Calculating `maxFeePerGas`:
167167

168168
### Which EntryPoint versions are supported?
169169

170-
Versions v0.6 and v0.7 of ERC-4337 are currently supported. If you need support for v0.8, contact [wallets@alchemy.com](mailto:wallets@alchemy.com).
170+
Versions v0.6, v0.7, and v0.8 of ERC-4337 are currently supported.
171171

172-
### Which EntryPoint version should I use, v0.6 or v0.7?
172+
### Which EntryPoint version should I use?
173173

174-
The latest version of ERC-4337 is v0.7, which introduces optimizations aimed at improving the experience for both developers and end users. These include gas savings for users, optimized data structures, better gas estimation, simplified postOp logic, and structured errors during validation.
174+
The latest version of ERC-4337 is v0.8, which builds on v0.7 with additional improvements including native support for [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) account delegation and further gas optimizations.
175175

176-
The appropriate version to use is determined by the smart account for which you are trying to send a userOp. Typically, a smart account is written to be compatible with either v0.6 or v0.7. To determine which version is compatible, look at the smart account’s source code and check the first parameter of the `validateUserOp` function. If it has type `UserOperation`, the account uses v0.6. If the parameter type is `PackedUserOperation`, the account uses v0.7.
176+
The appropriate version to use is determined by the smart account for which you are trying to send a userOp. Typically, a smart account is written to be compatible with a specific EntryPoint version. To determine which version is compatible, look at the smart account’s source code and check the first parameter of the `validateUserOp` function. If it has type `UserOperation`, the account uses v0.6. If the parameter type is `PackedUserOperation`, the account uses v0.7 or v0.8.
177177

178-
For more information about the differences between the versions, refer to the specifications for [ERC-4337 v0.6.0](https://github.com/eth-infinitism/account-abstraction/blob/v0.6.0/eip/EIPS/eip-4337.md) and [ERC-4337 v0.7.0](https://github.com/eth-infinitism/account-abstraction/blob/v0.7.0/erc/ERCS/erc-4337.md), particularly the description of the user operation fields.
178+
For more information about the differences between the versions, refer to the specifications for [ERC-4337 v0.6.0](https://github.com/eth-infinitism/account-abstraction/blob/v0.6.0/eip/EIPS/eip-4337.md)[ERC-4337 v0.7.0](https://github.com/eth-infinitism/account-abstraction/blob/v0.7.0/erc/ERCS/erc-4337.md), and [ERC-4337 v0.8.0](https://github.com/eth-infinitism/account-abstraction/blob/v0.8.0/erc/ERCS/erc-4337.md), particularly the description of the user operation fields.
179179

180-
### EntryPoint contract addresses (v0.6, v0.7)
180+
### EntryPoint contract addresses (v0.6, v0.7, v0.8)
181181

182-
The EntryPoint contracts for v0.6 and v0.7 are deployed at the following addresses across all chains supported by Alchemy:
182+
The EntryPoint contracts for v0.6, v0.7, and v0.8 are deployed at the following addresses across all chains supported by Alchemy:
183183

184+
EntryPoint v0.8: `0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108`\
184185
EntryPoint v0.7: `0x0000000071727De22E5E9d8BAf0edAc6f37da032`\
185186
EntryPoint v0.6: `0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789`
186187

187188
### When will EntryPoint v0.6 be deprecated?
188189

189-
There is not currently a date set to deprecate support for EntryPoint v0.6 but deprecation is planned sometime in 2026. Ensure that you have migrated to EntryPoint v0.7 by that time. If you have any questions or need assistance with the migration process, file a ticket via the [Discord server](https://discord.com/channels/735965332958871634/1115787488838033538).
190+
There is not currently a date set to deprecate support for EntryPoint v0.6 but deprecation is planned sometime in 2026. Ensure that you have migrated to EntryPoint v0.7 or v0.8 by that time. If you have any questions or need assistance with the migration process, file a ticket via the [Discord server](https://discord.com/channels/735965332958871634/1115787488838033538).
190191

191192
## Entity Staking Requirements
192193

content/wallets/pages/bundler-api/entrypoint-revert-codes/entrypoint-v07-revert-codes.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: EntryPoint v0.7 Revert Codes
3-
description: Learn about the revert codes returned by the ERC-4337 EntryPoint v0.7
4-
subtitle: Learn about the revert codes returned by the ERC-4337 EntryPoint v0.7
2+
title: EntryPoint v0.7 / v0.8 Revert Codes
3+
description: Learn about the revert codes returned by the ERC-4337 EntryPoint v0.7 and v0.8
4+
subtitle: Learn about the revert codes returned by the ERC-4337 EntryPoint v0.7 and v0.8
55
url: https://alchemy.com/docs/wallets/reference/entrypoint-v07-revert-codes
66
slug: wallets/reference/entrypoint-v07-revert-codes
77
---

content/wallets/pages/low-level-infra/bundler/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ slug: wallets/transactions/low-level-infra/bundler/overview
55
---
66

77
The Bundler is a key component in the ERC-4337 stack, responsible for collecting, validating, and bundling UserOperations (UserOps) into transactions that are submitted to the EntryPoint contract on the blockchain. The Bundler APIs provide direct access to high-performance, scalable infrastructure (powered by Rundler), enabling developers to interact with a production-grade ERC-4337 bundler for reliable onchain submission of UserOps.
8-
These APIs are part of the `@account-kit/infra` library, allowing advanced customization when building smart wallet applications. They follow the standard ERC-4337 JSON-RPC endpoints and support versions v0.6 and v0.7 of the protocol, with optimizations for gas estimation, validation, and error handling to ensure UserOps land efficiently while protecting against attacks.
8+
These APIs are part of the `@account-kit/infra` library, allowing advanced customization when building smart wallet applications. They follow the standard ERC-4337 JSON-RPC endpoints and support versions v0.6, v0.7, and v0.8 of the protocol, with optimizations for gas estimation, validation, and error handling to ensure UserOps land efficiently while protecting against attacks.
99

1010
For full control, bring your own smart contracts or authentication providers while leveraging the bundler for scalability. If you prefer a higher-level abstraction, use the Wallet APIs or aa-sdk instead.
1111

content/wallets/pages/resources/types.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,11 +544,11 @@ export interface UserOperationEstimateGasResponse<
544544
/* Value used by inner account execution */
545545
callGasLimit: BigNumberish;
546546
/*
547-
* EntryPoint v0.7.0 operations only.
547+
* EntryPoint v0.7.0 and v0.8.0 operations only.
548548
* The amount of gas to allocate for the paymaster validation code.
549549
* Note: `eth_estimateUserOperationGas` does not return paymasterPostOpGasLimit.
550550
*/
551-
paymasterVerificationGasLimit: TEntryPointVersion extends "0.7.0"
551+
paymasterVerificationGasLimit: TEntryPointVersion extends "0.7.0" | "0.8.0"
552552
? BigNumberish | undefined
553553
: never;
554554
}

src/openrpc/alchemy/_shared/components.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ components:
284284

285285
UserOperationV07:
286286
type: object
287-
title: "User Operation v0.7"
287+
title: "User Operation v0.7 / v0.8"
288288
properties:
289289
sender:
290290
$ref: "#/components/schemas/address"

src/openrpc/alchemy/_shared_wallets/components.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ components:
284284

285285
UserOperationV07:
286286
type: object
287-
title: "User Operation v0.7"
287+
title: "User Operation v0.7 / v0.8"
288288
properties:
289289
sender:
290290
$ref: "#/components/schemas/address"

src/openrpc/alchemy/bundler/bundler.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ methods:
497497
type: "string"
498498
description: Transaction hash of the `UserOperation`.
499499
entrypointV07Response:
500-
title: "Entrypoint v0.7 Response"
500+
title: "Entrypoint v0.7 / v0.8 Response"
501501
type: "object"
502502
properties:
503503
sender:
@@ -588,7 +588,7 @@ methods:
588588
params:
589589
- name: UserOperation
590590
required: true
591-
description: The UserOperation object. This can be either a v0.6 or v0.7 user operation, but MUST match the version of the entry point at the address of the second parameter.
591+
description: The UserOperation object. This can be a v0.6, v0.7, or v0.8 user operation, but MUST match the version of the entry point at the address of the second parameter.
592592
schema:
593593
oneOf:
594594
- $ref: "../_shared_wallets/components.yaml#/components/schemas/UserOperationV06"
@@ -626,7 +626,7 @@ methods:
626626
params:
627627
- name: UserOperation
628628
required: true
629-
description: Contains gas limits and prices (optional). This can be either a v0.6 or v0.7 userOperation but must match the version of the `EntryPoint` at the address of the second parameter.
629+
description: Contains gas limits and prices (optional). This can be a v0.6, v0.7, or v0.8 userOperation but must match the version of the `EntryPoint` at the address of the second parameter.
630630
schema:
631631
oneOf:
632632
- $ref: "../_shared_wallets/components.yaml#/components/schemas/UserOperationV06"
@@ -682,7 +682,7 @@ methods:
682682
description: Value used by inner account execution.
683683
entrypointV07Response:
684684
type: object
685-
title: Entrypoint v0.7 Response
685+
title: Entrypoint v0.7 / v0.8 Response
686686
properties:
687687
preVerificationGas:
688688
$ref: "../_shared_wallets/components.yaml#/components/schemas/uint256"

0 commit comments

Comments
 (0)