What is ethers.js

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 much 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)
  • Meta-classes create JavaScript objects from any contract ABI, including ABIv2 and Human-Readable ABI
  • Connect to Ethereum nodes over JSON-RPC, INFURA, Etherscan, 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

Developer Documentation

Legacy Documentation

For documentation of older versions, we will keep a list here.