What problem does it solve?
viem provides a type-safe, ergonomic way to interact with Ethereum from TypeScript, eliminating boilerplate and manual RPC handling.
Core Features & Use Cases
- Typed clients and transports (Public, Wallet, Test) with multiple transports (HTTP, WebSocket, Custom, Fallback).
- Rich RPC actions for common Ethereum operations (getBalance, getBlock, getBlockNumber, getTransaction, getTransactionReceipt, getLogs, readContract, writeContract, deployContract, simulateContract, multicall, etc.) with strong typing and chain support.
- Real-world use: build a dApp that reads on-chain data and submits transactions with compile-time type safety and auto-completion.
Quick Start
Install viem and create a public client connected to an Ethereum node to begin querying the network.