Skip to main content

EntryPoint v0.9 Support: Bundler & SDK

· 2 min read

Candide now supports EntryPoint v0.9 across the Voltaire Bundler and AbstractionKit SDK. This release maintains full backward compatibility with v0.8 while introducing new features for improved paymaster UX and flexible account management.

What's New in EntryPoint v0.9

EntryPoint v0.9 is deployed at: 0x433709009B8330FDa32311DF1C2AFA402eD8D009

Key additions over v0.8:

  • Parallelizable Paymaster Signing: A new paymasterSignature field allows passing data to Paymasters after UserOperation signing, eliminating delays between user action and confirmation UI.
  • Block Number-Based Validity Ranges: The highest bit of validAfter and validUntil now indicates block number-based validity instead of timestamps, supporting dapps that rely on block-based ranges.
  • Flexible InitCode Handling: initCode is silently ignored if the Account already exists, enabling two-dimensional nonce usage. An IgnoredInitCode event tracks this for observability.
  • UserOp Hash Query: New getCurrentUserOpHash function exposes the current UserOperation hash during execution for third-party contracts.
  • Enhanced Error Messages: Improved error reporting with additional parameters in contract exceptions.

The contracts were audited by Cantina. View the full audit report.

Bundler Support

Voltaire Bundler now supports EntryPoint v0.9. The API is fully backward compatible with v0.8. The only change is the entrypoint address passed as the second parameter.

{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_sendUserOperation",
"params": [
{
"sender": "0x...",
"paymasterSignature": "0x...",
// all other userop params
},
"0x433709009B8330FDa32311DF1C2AFA402eD8D009"
]
}

View the complete specification in the Bundler API documentation.

SDK Support

AbstractionKit introduces Simple7702AccountV09 for EIP-7702 accounts targeting EntryPoint v0.9. The API mirrors Simple7702Account (EP v0.8), so upgrading is straightforward.

import {
Simple7702AccountV09,
createAndSignEip7702DelegationAuthorization,
} from "abstractionkit";

const smartAccount = new Simple7702AccountV09(eoaPublicAddress);

let userOperation = await smartAccount.createUserOperation(
[tx1, tx2],
nodeUrl,
bundlerUrl,
{
eip7702auth: {
chainId,
}
}
);

View the Simple7702AccountV09 SDK Reference and a complete working example on GitHub.

Paymaster Support

The Candide paymaster does not yet support EntryPoint v0.9. If you need gas sponsorship or ERC-20 gas payments, use Simple7702Account with EntryPoint v0.8. Paymaster support for v0.9 is planned for a future release.

Resources: