- Category
- Crypto
- Rank
- No. 402Tools index
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 signatures → Typed ABI objects and encoded function calls
Validate and format Ethereum addresses
Ethereum address strings → Validated 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 data → Digital signatures or signature verification results
Decode transaction data and logs
Raw transaction data or event logs → Decoded and typed transaction parameters or event data
Convert between different data formats and encodings
Hex strings, bytes, numbers, or other primitive data types → Converted data in target format with proper typing
Intel on Ox
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
