Skip to content

tetherto/wdk-wallet-evm-erc-4337

Repository files navigation

@tetherto/wdk-wallet-evm-erc-4337

npm version npm downloads license docs

Note: This package is currently in beta. Please test thoroughly in development environments before using in production.

A simple and secure package to manage ERC-4337 compliant wallets for EVM-compatible blockchains. This package provides a clean API for creating, managing, and interacting with account abstraction wallets using BIP-39 seed phrases and EVM-specific derivation paths.

About WDK

This module is part of the WDK (Wallet Development Kit) project, which empowers developers to build secure, non-custodial wallets with unified blockchain access, stateless architecture, and complete user control.

For detailed documentation about the complete WDK ecosystem, visit docs.wdk.tether.io.

Installation

npm install @tetherto/wdk-wallet-evm-erc-4337

Quick Start

import WalletManagerEvmErc4337 from '@tetherto/wdk-wallet-evm-erc-4337'

const seedPhrase = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'

const wallet = new WalletManagerEvmErc4337(seedPhrase, {
  chainId: 11155111, // Sepolia
  provider: 'https://sepolia.drpc.org',
  bundlerUrl: 'https://api.pimlico.io/v2/sepolia/rpc?apikey=YOUR_KEY',
  entryPointAddress: '0x0000000071727De22E5E9d8BAf0edAc6f37da032',
  safeModulesVersion: '0.3.0',
  useNativeCoins: true,
})

const account = await wallet.getAccount(0)
const address = await account.getAddress()
console.log('Smart account address:', address)

wallet.dispose()

Key Capabilities

  • ERC-4337 Account Abstraction: Full implementation of the ERC-4337 standard
  • Multiple Gas Payment Modes: Pay fees with native coins, ERC-20 tokens via paymaster, or sponsored transactions
  • UserOperation Management: Create and send UserOperations through bundlers
  • BIP-44 Derivation Paths: Standard Ethereum derivation (m/44'/60')
  • Multi-Account Management: Derive multiple smart accounts from a single seed phrase
  • ERC-20 Token Support: Query balances and transfer tokens via UserOperations
  • Message Signing: Sign and verify messages with the underlying EOA key
  • Per-Call Config Overrides: Switch gas payment modes on a per-transaction basis
  • Secure Memory Disposal: Clear private keys from memory when done

Compatibility

  • Ethereum Mainnet and testnets (Sepolia)
  • Layer 2 Networks: Arbitrum, Optimism, Base
  • Other EVM Chains: Polygon, Avalanche C-Chain, and any EVM-compatible chain with ERC-4337 support

Documentation

Topic Description Link
Overview Module overview and feature summary Wallet EVM ERC-4337 Overview
Usage End-to-end integration walkthrough Wallet EVM ERC-4337 Usage
Configuration Provider, bundler, paymaster, and network setup Wallet EVM ERC-4337 Configuration
API Reference Complete class and type reference Wallet EVM ERC-4337 API Reference

Examples

Example Description
Create Wallet Initialize ERC-4337 wallets with paymaster token and native coins modes
Manage Accounts Work with multiple smart accounts and custom derivation paths
Check Balances Query native token and ERC-20 balances for smart accounts
Read-Only Account Monitor smart account balances and estimate fees without a private key
Send Transaction Send transactions via UserOperations through the bundler
Token Transfer Transfer ERC-20 tokens via UserOperations with gas mode overrides
Sign & Verify Message Sign messages and verify signatures with ERC-4337 accounts
Fee Management Retrieve current bundler fee rates
Memory Management Securely dispose smart wallets and clear private keys from memory

For detailed walkthroughs, see the Usage Guide. See all runnable examples in the wdk-examples repository.

Community

Join the WDK Discord to connect with other developers.

Support

For support, please open an issue on GitHub or reach out via email.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

WDK module to manage ERC-4337 smart account wallets for EVM blockchains with account abstraction.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors