Skip to content

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