Skip to main content

· 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

· 6 min read

candide_stack

Candide Wallet is an open-source, secure, self-custodial Smart Wallet built on ERC-4337. It leverages account abstraction without compromising on decentralization and censorship resistance. In practical terms, this means a Smart Wallet that doesn't depend on a centralized relayer controlled by a single entity. A gateway to undeniable free access to Ethereum for anyone with a smartphone and internet access.

Candide Wallet Mobile App is powered by a vertically integrated open-source technology stack that delivers an unmatched digital wallet user experience. We highlight the underlying technology we used to build it out. We also explore the reasons those technologies were chosen. Building on the shoulder of giants as we make use of many existing open-source libraries, as well as rolling our own.

The Contracts

ERC-4337 EntryPoint

The EntryPoint is the global contract for ERC-4337 Smart Accounts and Paymasters. It coordinates the verification and execution of a UserOperation. The entrypoint contract is audited by OpenZepplin and is used by Candide Wallet. The EntryPoint contract has been deployed on multiple chains, in the same address for Ethereum, Polygon, Optimism, Gnosis and other supported networks.

Candide Wallet Contracts

Candide Wallet Contracts leverage Safe Contracts to be ERC-4337 compatible and efficient. The Contracts implements a Smart Account with 2 essential methods for the EntryPoint to interact with it: validateUserOp and execute. They also have 2 more methods for both setup and replacing the EntryPoint for upgradability. Learn more about the contracts in this previous blog post.

Candide Paymaster Contracts

Paymasters are smart contract accounts that can sponsor transactions for Smart Accounts, enabling fee abstraction for dapps and wallets. Paymaster Sponsorship Options include:

  • Gasless - Pay gas fees on behalf of your users, essentially making transactions Gassless
  • Subsidized - Pay partial gas fees for your users, letting them pay only a discounted gas price
  • Paid with ERC-20 - Allows your users to pay gas with your native ERC-20 token

Paymaster Contracts can be customized to allow for only certain methods, minimum deposits or certain lock durations. In addition, users don't have to worry about gas limits or gas prices since the Paymaster automatically reprices transactions to ensure prompt execution.

Candide Modules (Plug-ins)

  • Account Recovery - Candide Wallet implements an on-chain account recovery module. This powers the wallet's seedless experience. In the case of the single-owner account, the signer key is typically stored on the user's device. More specifically, an owner can add recovery methods (also known as Guardians) to change the ownership of the account, in case their signer key is lost or compromised. Learn more about the recovery module in this previous blog post.

Candide plans to develop more modules in the upcoming weeks and months ahead. Some of the most exciting modules that we also plan to build are Session Keys and Subscriptions.

  • Session Keys - allow users to preapprove an application's transactions according to a set of parameters; time, gas usage, set transaction volumes of a token(s), or particular functions on specific contracts. This unlocks a better user experience for apps that leverages session keys.

  • Subscription - While recurring payments are an important primitive of credit card systems and an important tool for businesses, digital memberships can be reimagined from the ground up using contracts behind the scenes. Subscriptions allow Operators to set rules for how payments are collected, how installments are paid, who gets access, and under what conditions by combining it with NFTs.

Voltaire - Candide's 4337 Bundler

Voltaire is a modular, developer-friendly and lighting-fast Python Bundler for Ethereum EIP-4337 Account Abstraction. Voltaire is designed to operate within the peer-to-peer mempool of UserOperations, facilitating the inclusion of transactions on-chain more quickly and efficiently. A good way to think about Voltaire is that it is a software that delivers User Operations but cannot change them, similar to those expected of block-builders. It is incentivized to participate in the network through gas fees and MEV.

Voltaire is compliant with Infinitism Compatibility Test Suite. These test suites ensure that different bundlers can communicate effectively and defend against DDoS attack vectors.

The bundler 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.

Wallet Dart - SDK for Smart Accounts

Wallet Dart SDK is Candide's set of tools for creating, managing and engaging with ERC-4337 Smart Accounts in mobile client applications. The library's focus on smart contract account architecture gives several advantages to build for cross-platform mobile-friendly wallets. It provides pre-built functions and utilities that allow you to seamlessly interact with Smart Accounts securely and efficiently. Dart is one of the most performant cross-platform languages around; enabling the greatest productivity, with the fewest lines of code.

Benefits of using Wallet Dart

Using Wallet Dart provides several benefits, including:

  • Mobile First Smart Accounts** - Easily generate a new Smart Account associated with a user signer. Encrypt and Decrypt the signer with an easy to use open source library
  • ERC-4337 compatible - Directly integrate with Candide architecture without diving too deep into how the Entrypoint works under the hood
  • Send User Operations - Send transactions, including ERC20 and NFT transfers and interaction with arbitrary smart contracts, through Voltaire Bundler
  • Account Recovery - Offer a recovery mechansm that helps your users access their account without a seed-phrase
  • Enhanced UX - Candide Paymaster support gasless transactions, improving the user experience and making it more seamless to interact.
  • Better dev experience - The Wallet Dart SDK abstracts away the complexities of the development Smart Accounts, such as cryptography, wallet management, and smart contract interactions, making it easier to build account abstraction applications

Use the Wallet Dart Library and contribute back. More documentation coming soon. Hop on our Discord if you need any help.

Optimism

Candide Wallet is powered by the OP Stack, the open-source development stack that powers Optimism. An Ethereum layer 2 that improves the scalability and usability of crypto, bringing lower cost gas coupled with lighting fast transactions.

Modile Client

Candide Mobile Wallet is a cross-platform, mobile first, built with Flutter. Candide Mobile App seamless mobile experiences targets end-users on any mobile device. It is not only built on top of not only the libraries mentioned above but also on top of countless open-source code that was published for free to make it happen. You can get our Beta builds for both Android and iOS on our Discord, or by building it yourself on our github.