Skip to main content
Voltaire provides minimal, close-to-spec utilities and avoids opinionated abstractions. For higher-level patterns like providers and contracts, we offer Skills—copyable reference implementations you can use as-is or customize.

Philosophy

Voltaire is intentionally low-level. We provide:
  • Primitives (Address, Hash, Uint, etc.)
  • Cryptography (Keccak256, secp256k1, etc.)
  • Encoding (RLP, ABI, etc.)
We deliberately avoid:
  • Provider abstractions (like ethers JsonRpcProvider)
  • Contract wrappers (like viem getContract)
  • React bindings (like wagmi)
For complex abstractions like a full EVM, we provide separate libraries like Guillotine.

Tevm 1.0.0

Coming soon: Tevm 1.0.0 wraps Voltaire in an opinionated, batteries-included API. Inspired by James Prestwich’s Client Monogamy philosophy—build clients tailored to your specific contracts rather than generic one-size-fits-all abstractions.

Why Skills Instead of Libraries?

Traditional libraries must balance abstraction level vs customizability. For any individual use case, a library will:
  1. Lack customizability — Rigid APIs that don’t fit your exact needs
  2. Bloat your codebase — Unused features increase bundle size
  3. Expand security surface — More code means more potential vulnerabilities
Think of abstractions like ethers Provider or viem PublicClient as off-the-rack clothing. They work for most people, but they’re never a perfect fit. Skills are custom-fitted clothing. Copy the pattern, tailor it to your contracts.

The shadcn Approach

Skills follow the shadcn/ui philosophy:
Traditional LibrarySkills
Install as dependencyCopy into your codebase
Update via npmModify directly
One-size-fits-allTailored to your needs
Hidden implementationVisible, debuggable code
This approach works exceptionally well with agentic coding. AI assistants can read, understand, and modify Skills directly in your codebase.

Stock vs Custom

Every Skill is:
  • Tested — Full test coverage, ready to use
  • Documented — Clear API and usage examples
  • Copyable — One click to add to your project
You can use Skills with zero customization. They work out of the box. But when you need to:
  • Add caching to a provider
  • Change error handling in a contract wrapper
  • Add custom retry logic
…you modify the code directly. No library limitations.

How to Use Skills

Option 1: Copy Button

Each Skill page has a copy button. Paste into your project and customize as needed.

Option 2: Voltaire MCP Server

Use the Voltaire MCP Server with your AI coding assistant to:
  • Generate custom Skills tailored to your contracts
  • Modify existing Skills for your use case
  • Build new patterns from Voltaire primitives

API vs Skill

TypeWhat It IsExamples
APICore library exportsAddress, Hex.toBytes(), Abi.encode()
SkillCopyable implementationethers-provider, viem-contract, react-query
APIs are imported from @tevm/voltaire. Skills are copied into your codebase.

Available Skill Guides

Our skill guides walk you through building common Ethereum patterns using Voltaire’s low-level primitives. Each guide provides a full, copyable reference implementation that you can use as-is or customize.

Provider & Signer Skills

Learn how to build abstractions compatible with popular libraries like ethers and viem. These guides cover creating JsonRpcProvider, PublicClient, WalletClient, and Signer wrappers around Voltaire’s JSON-RPC interface. You can also learn patterns for request batching and fallback providers.

Contract Skills

Discover how to build powerful, type-safe contract interaction wrappers. Guides cover creating ethers- and viem-compatible Contract objects, enabling familiar APIs for your project without adding external dependencies.

Wallet & Account Skills

Build your own wallet and account management logic, from HD wallet derivation to transaction nonce management, compatible with both ethers and viem patterns.

Utility & Pattern Skills

Explore guides for implementing common patterns like multicall for batching contract reads, or how to integrate Voltaire with libraries like TanStack Query for building custom React hooks.

Learn More