Viem bridges the gap between the "Application Layer" and the "Network/Protocol Layer" by providing a large suite of utilities & abstractions for interfacing to Ethereum. 

Features:
- Abstractions over the JSON-RPC API, as well as encoding/decoding (ABI, RLP, etc) for network formats.
- Strongly typed APIs for interacting with Smart Contracts
- OP Stack, zkSync, and Experimental EIP extensions
- Blob Transactions
- Language closely aligned to official Ethereum terminology
- Import your Browser Extension, WalletConnect, Smart Contract, or Private Key Wallet
- Utilities for working with ABIs (encoding/decoding/inspection)
- TypeScript ready (infer types from ABIs and EIP-712 Typed Data)
- First-class support for Anvil, Hardhat & Ganache
- Test suite running against forked Ethereum network

Viem is also a large dependency for several third-party/community open source tooling such as:
- Permissionless.js, Biconomy, Alchemy, and ZeroDev for their Account Abstraction (EIP-4337) libraries.
- Ponder for their Ethereum indexer (The Graph alternative)