Vibeleaderboard
Index / tool
Visit oxlib.sh
Category
Crypto
Rank

Previous survey · No. 395 ·

Pricing
Open Source
Type
TOOL
Builder
wevm
GitHub
222 stars
Latest release
ox@1.7.4
Date

About

Standard library for Ethereum — typed primitives for ABI, addresses, transactions, signatures, and more, from the wevm team.

What it does

Ox gives TypeScript developers low-level building blocks for constructing and interpreting Ethereum data. Its stateless modules handle encoding, decoding, signing, serialization, provider requests, cryptography, WebAuthn, and selected ERC workflows. Developers compose explicit steps instead of adopting a full client stack.

Why it's ranked here

Ox is a strong foundation when precise control matters more than terse application code. The broad module surface spans contract data, transaction envelopes, cryptography, account abstraction, and newer signature standards. Its explicit, stateless design also makes the cost clear: ordinary application flows require more assembly than higher-level clients.

What's good

It separates runtime-neutral code from Node-backed and WASM cryptography, so projects can choose an engine deliberately. Fine-grained package exports support narrow imports, while package metadata marks the build side-effect-free. The API accepts both JSON and human-readable ABIs, with encoding and decoding support for contract calls, events, errors, and deployment data.

Tradeoffs

The library intentionally favors verbose, low-level composition over concise client workflows. WASM cryptography needs asynchronous startup installation before synchronous use, and KZG requires explicit creation and disposal. The Node-specific cryptography surface depends on the built-in crypto module, so browser code must use another implementation. It does not present itself as a complete client abstraction.

How to use it well

Choose Ox for library development, protocol tooling, or application code that needs direct control over Ethereum representations and cryptography. Import narrow modules and compose only the required operations. For routine wallet and network flows, place a higher-level client above it rather than expecting Ox to supply an opinionated client stack.

Technical notes+

package.json defines an ESM npm library with sideEffects: false, TypeScript declarations, granular exports, an optional TypeScript peer dependency of >=5.4.0, and a Node engine requirement of >=22. src/index.ts exposes namespace-style core modules and documents JSON plus human-readable ABI handling. src/node/index.ts isolates implementations backed by node:crypto; src/wasm/index.ts provides asynchronously installed C-compiled engines and an explicitly managed KZG instance. src/index.docs.ts aggregates core, ERC, Node, WebAuthn, Tempo, WASM, and Zod documentation surfaces. src/window/index.ts adds optional Window.ethereum typing, while src/zod/index.ts exposes schema utilities.

Observed

License
MIT
Primary language
TypeScript
Packaging
ESM npm package named ox, with JavaScript output and TypeScript declarations
Interface
Importable library with root and granular module exports
Runtime surfaces
Runtime-neutral core, Node.js cryptography, WASM cryptography, and browser provider typing
Package metadata
Declared side-effect-free with optional TypeScript peer dependency
Toolchain
Repository requires pnpm and declares Node.js 22 or newer

Read from package.json, src/index.ts, src/version.ts, src/index.docs.ts, src/zod/index.ts, src/node/index.ts, src/wasm/index.ts, src/tempo/index.ts, src/window/index.ts, src/erc4337/index.ts, src/erc6492/index.ts, src/erc7821/index.ts, src/erc8010/index.ts, src/erc8021/index.ts, src/webauthn/index.ts.

What it can do

  • Parse and encode ABI (Application Binary Interface) data

    Raw ABI data or function signaturesTyped ABI objects and encoded function calls

  • Validate and format Ethereum addresses

    Ethereum address stringsValidated and properly formatted address objects

  • Create and serialize Ethereum transactions

    Transaction parameters (to, value, data, gas, etc.)Serialized transaction objects ready for broadcast

  • Generate and verify cryptographic signatures

    Message data and private keys or signature dataDigital signatures or signature verification results

  • Decode transaction data and logs

    Raw transaction data or event logsDecoded and typed transaction parameters or event data

  • Convert between different data formats and encodings

    Hex strings, bytes, numbers, or other primitive data typesConverted data in target format with proper typing

Intel on Ox

More in Intel

Tags

ethereumtypescriptweb3wevmlibrary

Tech Stack

Node.jsTypeScriptVite

Media

Ox

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.