Skip to main content

· 2 min read

Decentralized & Censorship Resistant AA

One year ago marked a significant milestone with the launch of the first production-ready ERC-4337 entrypoint contract, with the premise of decentralized Account Abstraction using an alternative mempool. The limitations and vulnerabilities of centralized server approaches for smart accounts highlighted the importance of building decentralized and censorship-resistant solutions. ERC-4337 offers a permissionless bundler network to deliver UserOperations without even changing or censoring them. Bundlers are incentivized to participate in the service. They are also protected against grieving attacks thanks to the Entrypoint design. The network is protected from Denial-of-service (DoS) attacks ensuring continuous operation and resilience. The shared mempool was developed collaboratively with engineering teams from Candide, ERC-4337, Etherspot, Silus and Alchemy.

How does ERC-4337 achieve that?

The lack of proper measures can lead to various attacks, denial of service vectors, and potential network failure. To create a robust solution, ERC-4337 is designed to separate validation from execution, limits the amount of work required for validation, and prevents certain environment opcodes during validation. Additionally, restrictions are placed on storage access and transactions to prevent mass invalidations and mutually exclusive transactions. These measures aim to maintain decentralization and prevent potential attacks on the network. A separate standard, ERC-7562 describes the rules imposed on the validation context of Account Abstraction transactions.

Getting Started

Candide is proud to release its first p2p implementation for Voltaire, marking a significant milestone into its operation in the permissionless mempool. With the introduction of the p2p implementation, Voltaire's codebase is now both in Python & Rust. UserOperations propagated to the mempool are routed not only solely to Voltaire but are also distributed to participating Bundlers that have completed the p2p implementation as of today: Etherspot's Skandha and Silus.

Smart Account Developers eager to get early access can simply fill out the form specifying their desired network for support.

If you are building on account abstraction, reach out on twitter, discord or come say hello at team@candidelabs.com

· 3 min read

abstractionkit_poster

Candide released AbstractionKit v0.1.x, adding first-class support for the new fully audited ERC-4337 Safe canonical module. Audits by Open Zepplin and Ackee. At its core, AbstractionKit empowers developers to build Smart Wallets using Safe Contracts and the ERC-4337 standard, ushering in a new era of possibilities:

Enhanced Account Security: Leveraging battle-tested Safe Contracts, developers can seamlessly integrate various authentication methods, ensuring robust account security with features designed for easy login and recovery.

Gas Fee Abstraction: AbstractionKit takes the hassle out of gas management for users, providing the option to completely abstract gas concerns or allowing users to pay fees in different ERC-20s tokens such as stablecoins.

One-click Interfaces: AbstractionKit simplifies transaction workflows by enabling batched transactions or the automated execution of multiple transactions in a single one.

AbstractionKit embodies a lightweight design to minimize dependencies on external libraries. It natively interacts with Safe Contracts, without any external wrapping to other libraries. The interface strikes a balance between intuition and flexibility, empowering developers with the ability to make overrides, such as gas estimates and state overrides. The library provides two distinct sets of methods, catering to developers who prefer minimal abstraction and a high-level library approach:

  • The Essentials method provides a comprehensive set of functionalities with support for overrides, delivering a simplified and efficient approach.
  • The Advanced method provides intricate control and customization options, specifically tailored for developers seeking detailed configurations.

AbstractionKit comes equipped with a suite of infrastructure with Candide Atelier, including hosted Bundlers and a Paymaster API, ready for developers to use right out of the box. It is Ethereum interface library-agnostic; it can be used with ethers, viem, or web3js. Furthermore, it can be used with any Bundler client, thanks to ERC-4337 standardization across different platforms like LlamaNodes, BlockPi, or other Account Abstraction Providers.

Thanks to the support from the Safe Grants Program, Candide secured funding for the development of the Reference SDK for ERC-4337 Safe{Core}. While ERC-4337 introduces a novel paradigm for account abstraction, its practical application has been hindered by the so far limited adoption of battle tested smart-contract based accounts, in particularly Safe based accounts.

The introduction of Safe{Core} contracts to AbstractionKit paves the way for the adoption of Safe Accounts. This integration not only aims to streamline the development of Smart Wallets, but also ensures that these wallets operate cohesively within the ecosystem. It allows applications and their user bases to be expanded with the most battle tested Safe smart account standard.

To begin using AbstractionKit, visit the getting started tutorial starting with npm i abstractionkit.

If you are building on account abstraction, reach out on twitter, Discord or come say hello at team@candidelabs.com

Special thanks to Andre Thiessen, John Guilding, Thomas Wiesner, Shareef Hadid, Bertrand Juglas, Nicholas Rodrigues Lordello and SungEun Choi for the early feedback on pre-releases versions for AbstractionKit.

· 3 min read

Voltaire is a modular and lightning-fast Python Bundler for Ethereum EIP-4337 Account Abstraction. It is designed to operate within the peer-to-peer mempool of user operations, facilitating the inclusion of transactions on-chain more quickly, at the frontier of efficiency. A good way to think about Voltaire is as software that delivers User Operations and cannot change them, similar to those expected of block-builders. It is incentivized to participate in the network through priority fees and MEV.

Voltaire presently has complete coverage of the compatibility test suites written by ERC-4337 team. These test suites ensure that different bundlers can communicate effectively and defend against DDoS attack vectors. While the specification is still under development, all upcoming updates will aim to sustain full compliance coverage.

Voltaire is open-source, meaning that anyone can launch Voltaire and capture User Operation profits. By participating in the network, the mempool becomes more robust when facing censorship attacks.

Getting Started using Voltaire

Bundler Endpoints

info

Get started by getting bundler endpoints for your developement here

ERC-4337 developers can get started sending user operations requests for Sepolia, Goerli, and Optimism-Goerli testnet. Stay tuned for more networks coming soon.

We partnered with BlockPi, Chainbase, and LlamaNodes to offer low latency and resilience ERC-4337 compliant public hosted bundlers using Voltaire

Docker

The docker image is a single command line to get starting running an instance of Voltaire, locally or on a private server. A bundler needs access to a full node. Run your own, or get one from a node provider.

Source

Running from the source is intended for developers who wish to develop on top of Voltaire or contribute to the project. Check out the readme on Github

Voltaire Architecture

Python

Python is a powerful programming language that, due to its simplicity, versatility, and wide range of libraries and frameworks, is a suitable language for a Bundler. One of the key features that makes Python suitable is the ability to write concurrent programs. The asyncio library primitives allow for writing simple and pure asyncio implementations.

A bundler needs to perform and handle multiple User Operations requests at a time. Asyncio is ideal for handling multiple concurrent tasks efficiently. This enables the server to handle multiple client requests simultaneously without blocking other requests.

A big of part of our inspiration for Voltaire is Trinity, a previous open-source Ethereum client implementation written in Python. We would like to thank the Trinity team, as well as all Python community members for their open-source contributors.


If you are building on account abstraction, reach out on Twitter, Discord or come say hello at team@candidelabs.com