Difference between various Smart Account types in permissionless.js
permissionless.js supports 8 types of accounts. Below is an overview of each account type and their key features:
- Safe
- Kernel
- Nexus
- Simple Smart Account
- LightAccount
- TrustWallet
- Etherspot
- Thirdweb
1. Safe
Safe is a robust and widely used Ethereum smart account provider. With its ERC-4337 module, Safe accounts can integrate with ERC-4337 bundlers and paymasters.
- ERC-7579 Support: Yes, via Rhinestone's safe7579 module.
- Passkeys Support: Supported through Safe's passkey module; not yet supported in permissionless.js.
- Multiple Signers: Yes, as Safe is one of the first multi-signature smart accounts.
- Chain Support: Available on all chains where Safe factories are deployed.
- Usage Stats: ~34k Safe accounts created in the last 6 months (source).
- Security: Secures over $100B+ in assets, making it highly reliable.
2. Kernel
Kernel by ZeroDev is a highly gas-efficient smart account compatible with ERC-4337 and ERC-7579.
- ERC-7579 Support: Yes, authored by the ZeroDev team.
- Passkeys Support: Yes.
- Multiple Signers: Supported through flexible permission settings:
- Define who can perform actions.
- Specify conditions for actions.
- Configure what actions can be performed.
- Usage Stats: ~133k Kernel v3 and 771k Kernel v2 accounts created in the last 6 months (source).
- Audits: Audited by ChainLight and Kalos.
3. Nexus
Biconomy Nexus focuses on modularity, security, and scalability. Support for the older Biconomy Smart Account is being deprecated in favor of Nexus.
- ERC-7579 Support: Yes.
- Passkeys Support: Supported via Rhinestone's Passkeys Validator (not yet in permissionless.js).
- Multiple Signers: Enabled using Rhinestone's session keys module.
- Usage Stats: ~54 Nexus accounts and 224,758 Biconomy v2 (deprecated) accounts created in the last 6 months (source).
- Audits: Audited by Cyfrin and Spearbit.
4. Simple Smart Account
Simple Smart Account is a sample smart account by the Eth-Infinitism team. This is supposed to be a reference implementation for ERC-4337 and not a production-ready smart account.
- ERC-7579 Support: No.
- Passkeys Support: No.
- Multiple Signers: No.
- Usage Stats: ~1.5M accounts created in the last 6 months (source).
- Audits: Audited by OpenZeppelin.
5. LightAccount
LightAccount is a lightweight ERC-4337 smart account based on SimpleAccount with added functionality for smart account signers.
- ERC-7579 Support: No.
- Passkeys Support: No.
- Multiple Signers: No.
- Usage Stats: ~7.3M accounts created in the last 6 months (source).
- Audits: Audited by QuantStamp.
6. TrustWallet
TrustWallet is a popular cryptocurrency wallet supporting a wide range of digital assets across multiple blockchains. It provides users with a secure, self-custody solution and has introduced ERC-4337-compatible features.
- ERC-7579 Support: No.
- Passkeys Support: Yes, through Barz, Trust Wallet's ERC-4337-compatible smart contract wallet, which supports passkey-based authentication.
- Multiple Signers: Yes, Trust Wallet offers multisig functionality to enhance transaction security.
- Usage Stats: ~36,838 accounts created in the last 6 months (source).
- Audits: Trust Wallet has undergone independent audits.
7. Etherspot
Details on Etherspot integration coming soon.
8. Thirdweb
Details on Thirdweb integration coming soon.
Summary of Key Features
Account Type | ERC-7579 | Passkeys | Multiple Signers | Accounts Created (6 months) | Audited By |
---|---|---|---|---|---|
Safe | ✅ | ✅ | ✅ | 34k | Various |
Kernel | ✅ | ✅ | ✅ | 133k (v3), 771k (v2) | ChainLight, Kalos |
Nexus | ✅ | ✅ | ✅ | 54 | Cyfrin, Spearbit |
Biconomy v2 (deprecated) | ✅ | ✅ | ✅ | 224k | Cyfrin, Spearbit |
Simple | ❌ | ❌ | ❌ | 1.5M | OpenZeppelin |
LightAccount | ❌ | ❌ | ❌ | 7.3M | QuantStamp |
TrustWallet | ❌ | ✅ | ✅ | 36k | Independent audits |
Etherspot | TBD | TBD | TBD | TBD | TBD |
Thirdweb | TBD | TBD | TBD | TBD | TBD |
Gas Efficiency of various Smart Account types
Results (as of February 24, 2024)
Disclaimer the numbers are obtained from aa-benchmark from ZeroDev.
Since these are gas numbers, lower is better.
Creation | Native transfer | ERC20 transfer | Total | |
---|---|---|---|---|
Solady ERC4337 | 212262 | 100149 | 89532 | 401943 |
Kernel v2.1-lite | 230968 | 101002 | 90321 | 422291 |
Kernel v2.1 | 265215 | 106460 | 96038 | 467713 |
Biconomy (deprecated) | 270013 | 104408 | 93730 | 468151 |
SoulWalletCore | 276529 | 101162 | 90466 | 468157 |
LightAccount | 279820 | 100910 | 90411 | 471141 |
Etherspot | 279219 | 103719 | 93324 | 476262 |
ERC7579 reference | 289438 | 103811 | 93213 | 486462 |
Kernel v2.0 | 339882 | 110018 | 99622 | 549522 |
SimpleAccount | 383218 | 101319 | 90907 | 575444 |
Safe 4337 | 401848 | 115469 | 105089 | 622406 |
Alchemy ModularAccount | 827723 | 106630 | 96438 | 1030791 |