Ethers.js is a JavaScript/TypeScript library that abstracts Ethereum's JSON-RPC protocol into a clean API. Instead of making raw HTTP calls to an Ethereum node, you use ethers to sign transactions, read contract state, listen to events, and manage wallets. It's the glue between frontend dApps and smart contracts. The library handles wallet connection (MetaMask, WalletConnect), transaction building, signing, gas estimation, and address validation. It's lightweight (smaller bundle than web3.js) and has excellent TypeScript support out of the box.