
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.
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.
Explore web3 competitors and apps like Ethers.js.

QuickAlerts is a real-time blockchain event monitoring and alerting tool that delivers customizable notifications via webhooks.

QuickNode provides fast, reliable, and scalable blockchain infrastructure and developer tools to build and scale onchain applications.
Virtually operated Web3 networks that replicate real blockchain networks for development, testing, and staging without using real assets.
Rarible API is a fast, unified NFT API infrastructure providing real-time data and executable market features across Ethereum, Base, Polygon, and more than 10 other chains.
A comprehensive suite of APIs, SDKs, and developer tools from Coinbase to build onchain applications and integrate crypto services.

The Graph is a decentralized indexing protocol that organizes blockchain data and makes it easily accessible via GraphQL.
Tenderly is a full-stack Web3 development platform offering customizable node RPC, virtual testnets, debugging, simulation, and monitoring tools for smart contract lifecycle management.

An Ethereum development environment for compiling, testing, debugging, and deploying smart contracts with advanced Solidity and TypeScript support.

0x provides battle-tested APIs to embed fast, gasless, and deeply liquid crypto trading into decentralized applications.

A Document Object Model for Web APIs designed to simplify API consumption and integration.
Open Source | |
|---|---|
| Price (Monthly) | Free |
| Price (Annual) | Free |
| Messaging | N/A |
| Support | Community support via GitHub and Discord |
| Analytics |
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.
| Composability | |||
| Cross-Chain | |||
| Customizability | |||
| Developer Support | |||
| Ease of Integration | |||
| Performance |