This documentation is for Ethers v5.
For Ethers v6, see the v6 documentation.
The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a more general-purpose library.
- Keep your private keys in your client, safe and sound
- Import and export JSON wallets (Geth, Parity and crowdsale)
- Import and export BIP 39 mnemonic phrases (12 word backup phrases) and HD Wallets (English, Italian, Japanese, Korean, Simplified Chinese, Traditional Chinese; more coming soon)
- Connect to Ethereum nodes over JSON-RPC, INFURA, Etherscan, Alchemy, Cloudflare or MetaMask.
- ENS names are first-class citizens; they can be used anywhere an Ethereum addresses can be used
- Tiny (~88kb compressed; 284kb uncompressed)
- Complete functionality for all your Ethereum needs
- Extensive documentation
- Large collection of test cases which are maintained and added to
- Fully TypeScript ready, with definition files and full TypeScript source
- MIT License (including ALL dependencies); completely open source to do with as you please
This section will be kept up to date, linking to documentation of older versions of the library.