Standard EVM wallet
Create and manage EVM wallets for native transfers, ERC-20 balances, token transfers, and signing.
Use the EVM wallet module for standard Ethereum-compatible accounts where users pay gas with the chain native token.
These pages reflect @tetherto/wdk-wallet-evm@1.0.0-beta.23. See chain configuration for URL and EIP-1193 network pinning, and the signer migration for constructor, derivation, and ownership changes. Transactions with type 3 or blob fields are rejected with ValueError.
The documented Velora, USD₮0 bridge, and Aave adapters require EIP-1193 request() on non-string provider inputs. An account whose manager supplies a shared ethers provider without request() cannot initialize these adapters. Construct WalletAccountEvm directly with its original RPC URL or genuine EIP-1193 provider for these adapters. Never mutate its internal provider field. Direct accounts are outside WDK Core's policy and middleware decoration, so retain required application checks and account-level controls. See the direct setup for Velora, the bridge, or Aave.
Features
- BIP-39 Seed Phrase Support: Generate and validate BIP-39 mnemonic seed phrases
- EVM Derivation Paths: Support for BIP-44 standard derivation paths for Ethereum (m/44'/60')
- Multi-Account Management: Create and manage multiple accounts from a single seed phrase
- EVM Address Support: Generate and manage Ethereum-compatible addresses using ethers.js
- Message Signing: Sign and verify messages using EVM cryptography
- Offline Transaction Signing: Sign EVM transactions with
signTransaction()without broadcasting them - Signer Abstraction: Use seed-backed or private-key-backed signers from
@tetherto/wdk-wallet-evm/signers, including named signer account retrieval. - Transaction Management: Send transactions and get fee estimates with EIP-1559 support
- Normalized Transaction Status: Read pending, confirmed, final, and replaced transaction states, or wait for a target finality level
- Contract Deployment Transactions: Send or sign contract-creation transactions by omitting
toor passingto: null. - ERC20 Support: Query native token and ERC20 token balances using smart contract interactions
- Batch Token Balance Queries: Fetch balances for multiple ERC20 tokens in one call with
getTokenBalances - Provider Configuration: Configure a URL, an EIP-1193 provider, an ordered failover list, or an existing ethers
Provider. The manager reuses one provider across its accounts. The published configuration type includes ethers providers. - Memory Safety: Secure private key management with memory-safe HDNodeWallet implementation
- Gas Optimization: Support for EIP-1559 maxFeePerGas and maxPriorityFeePerGas
- Fee Estimation: Dynamic fee calculation with normal (1.1x) and fast (2.0x) multipliers
Supported Networks
This package works with any EVM-compatible blockchain, including:
- Ethereum: Mainnet, Sepolia
- Polygon: Mainnet, Amoy
- Binance Smart Chain (BSC): Mainnet, Testnet
- Arbitrum: One, Nova
- Optimism: Mainnet, Sepolia
- Avalanche C-Chain: Mainnet, Fuji
- And many more...
Next Steps
Node.js Quickstart
Get started with WDK in a Node.js environment
WDK EVM Wallet Configuration
Get started with WDK's EVM Wallet configuration
WDK EVM Wallet API
Get started with WDK's EVM Wallet API
WDK EVM Wallet Usage
Get started with WDK's EVM Wallet usage