Skip to main content

EntryPoint

EntryPoint is a branded Address type representing the ERC-4337 entry point contract. The entry point is the central coordinator for account abstraction, validating and executing user operations submitted by bundlers.

Overview

The EntryPoint contract is the singleton that handles all user operations. It validates signatures, executes operations, and manages gas accounting and paymaster interactions. Voltaire provides constants for both v0.6 and v0.7 entry point addresses.

Type Definition

EntryPoint is a branded Address type. TypeScript enforces type safety through a unique Symbol brand, preventing mixing with other addresses while maintaining compatibility with Address operations.

API Reference

Constructors

from

Create EntryPoint from address input.

Converters

toHex

Convert EntryPoint to hex string.

Comparisons

equals

Check if two EntryPoint addresses are equal.

Constants

ENTRYPOINT_V06

Entry point v0.6.0 address: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 Original ERC-4337 entry point. Supports separate gas limit fields.

ENTRYPOINT_V07

Entry point v0.7.0 address: 0x0000000071727De22E5E9d8BAf0edAc6f37da032 Latest ERC-4337 entry point. Uses packed gas limits for reduced calldata size.

Entry Point Responsibilities

The EntryPoint contract handles:
  1. Validation: Verifies user operation signatures and nonces
  2. Gas accounting: Tracks pre-verification, verification, and execution gas
  3. Paymaster interaction: Validates paymaster approval and handles gas sponsorship
  4. Execution: Calls the account contract with the operation calldata
  5. Event emission: Logs successful operations for indexing

Version Differences

v0.6.0

  • Separate callGasLimit and verificationGasLimit fields
  • Separate maxFeePerGas and maxPriorityFeePerGas fields
  • Standard UserOperation struct

v0.7.0

  • Packed gas limits: accountGasLimits (bytes32)
  • Packed fees: gasFees (bytes32)
  • PackedUserOperation struct
  • Reduced calldata size (lower bundler costs)

Usage Patterns

Submitting User Operations

Multi-Chain Support

References