
A complete and compact JavaScript library for interacting with the Ethereum blockchain and ecosystem.
ethers.js is a lightweight, fully featured JavaScript library designed to facilitate interaction with the Ethereum blockchain and its ecosystem. It provides developers with tools to manage wallets, sign transactions, interact with smart contracts, and connect to Ethereum nodes via JSON-RPC or popular providers like INFURA, Alchemy, Etherscan, Ankr, and MetaMask. The library is fully written in TypeScript, offering strict typing for improved security and developer experience. It supports importing and exporting JSON wallets and mnemonic phrases, including hierarchical deterministic (HD) wallets in multiple languages.
The library's modular design allows developers to include only the components they need, optimizing bundle size and performance. ethers.js treats Ethereum Name Service (ENS) names as first-class citizens, enabling seamless use of human-readable names anywhere an Ethereum address is accepted. It supports contract interaction through meta-classes generated from any contract ABI, including ABIv2 and human-readable ABIs, simplifying contract calls and event handling.
What sets ethers.js apart is its comprehensive provider support, allowing connections to Ethereum nodes through various backends with default API keys for quick starts, while encouraging developers to use their own keys for enhanced features like archival data and analytics. The library also offers extension packages for advanced use cases such as multicall batching, hardware wallet integration, and Optimism Layer 2 utilities. Extensive documentation, active maintenance, and a large community contribute to its widespread adoption in dapps, wallets, and developer tools across the Ethereum ecosystem.
Developers building Ethereum-based applications face challenges in securely managing private keys, efficiently interacting with smart contracts, and connecting reliably to Ethereum nodes. Fragmented tooling and lack of comprehensive, easy-to-use libraries can slow development and introduce security risks.
Import/export JSON wallets and mnemonic phrases; supports HD wallets in multiple languages.
Explore web3 competitors and apps like Ethers.js.
Open Source | |
|---|---|
| Price (Monthly) | Free |
| Price (Annual) | Free |
| Messaging | N/A |
| Support | Community support via GitHub and Discord |
| Analytics |
Reliable RPC, powerful APIs, and zero hassle.
ethers.js offers extensive documentation, tutorials, migration guides, and a rich set of examples to help developers get started and deepen their understanding of Ethereum development.
Automatically generates JavaScript objects from any contract ABI for easy method calls and event handling.
Connects via JSON-RPC, INFURA, Alchemy, Etherscan, Ankr, Cloudflare, MetaMask, and more.
Additional modules for multicall batching, hardware wallet support, Layer 2 utilities, and in-memory blockchain simulation.
Developers use ethers.js to interact with smart contracts, manage user wallets, and query blockchain data within dapps.
Wallet developers leverage ethers.js for secure key management, transaction signing, and integration with hardware wallets.
Analytics platforms use ethers.js to fetch on-chain data, listen to events, and decode contract interactions.
Discover trusted tools and services in the QuickNode Marketplace. Everything you need to launch faster and scale smarter.






| Composability | |||
| Cross-Chain | |||
| Customizability | |||
| Developer Support | |||
| Ease of Integration | |||
| Performance |