# Essential Eth API

> Guides usage of essential-eth, a lightweight Ethereum utility library (43 kB alternative to ethers.js/web3.js). Covers providers, contracts, conversions, hashing, and address utilities. Use when writing code that imports from essential-eth. Use when this capability is needed.

- Skill: `tomevault-io/essential-eth-api` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/essential-eth-api`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/essential-eth-api/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/essential-eth-api

---


# essential-eth

A tree-shakeable Ethereum library using native `bigint` (no BigNumber). Minimal alternative to ethers.js and web3.js.

## Entry Points

- `essential-eth` -- full library with providers, contracts, and utilities
- `essential-eth/utils` -- utilities without providers (smaller)
- `essential-eth/conversions` -- unit conversions only (~1.2 kB)

## Key Differences from ethers.js

- Uses native `bigint` instead of `BigNumber`
- Read-only -- no signer or wallet support
- ~10x smaller bundle size
- Tree-shakeable with multiple entry points

## Finding the API

To see all available exports, read `node_modules/essential-eth/dist/index.d.ts`. This is the generated type declarations file and is always up to date.

For source code and JSDoc examples, read files in `node_modules/essential-eth/dist/`. Each function includes `@example` blocks showing usage.

## Quick Reference

**Providers**: `JsonRpcProvider`, `FallthroughProvider`, `AlchemyProvider` -- create with an RPC URL, then call methods like `getBalance`, `getBlock`, `call`, `getLogs`, `resolveName`.

**Contracts**: `new Contract(address, jsonAbi, provider)` -- ABI methods become async functions on the instance. Read-only.

**Conversions**: `etherToWei`, `weiToEther`, `etherToGwei`, `gweiToEther`, `formatUnits`, `parseUnits` -- accept `string | number | bigint`.

**Hashing**: `keccak256`, `solidityKeccak256`, `id`, `hashMessage`, `namehash`.

**Addresses**: `isAddress`, `getAddress`, `toChecksumAddress`, `computeAddress`, `computePublicKey`.

**ABI**: `encodeFunctionData`, `decodeFunctionResult`, `decodeEventLog`.

**Bytes**: `arrayify`, `hexlify`, `concat`, `hexZeroPad`, `isHexString`, and more.

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/dawsbot) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

