The Essential Library
for Ethereum
A minimal, performant, and correct toolkit for interacting with the Ethereum blockchain. Drop-in ethers.js replacement at a fraction of the size.
🚀 Up to 20× Smaller Bundle Size
Essential Eth is laser-focused on performance. Ship less JavaScript, load faster, delight your users.
8KB
Essential Eth
160KB
ethers.js v5
Why Essential Eth?
Blazing Fast
Tree-shakeable ESM modules mean you only ship what you use. Up to 20× smaller than alternatives—your users will notice the difference.
<div class="feature-card"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/></svg> </div> <h3>Drop-in Compatible</h3> <p>Familiar ethers.js API surface. Migrate incrementally without breaking changes or rewriting your entire codebase.</p></div>
<div class="feature-card"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg> </div> <h3>TypeScript First</h3> <p>100% TypeScript with complete type coverage. Catch errors at compile time and enjoy best-in-class autocomplete.</p></div>
<div class="feature-card"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg> </div> <h3>Zero Config Providers</h3> <p>JsonRpcProvider, FallthroughProvider, and AlchemyProvider work out of the box with sensible, production-ready defaults.</p></div>
<div class="feature-card"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></svg> </div> <h3>Complete Toolkit</h3> <p>Everything you need: addresses, ABIs, hashing, encoding, unit conversion, ENS resolution, and contract interactions in one package.</p></div>
<div class="feature-card"> <div class="feature-icon"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg> </div> <h3>Battle Tested</h3> <p>Comprehensive test suite with 100% coverage. Trusted in production by teams building the future of Ethereum.</p></div>npm install essential-eth