Skill based on viem, generated 2026-02-09. Docs: https://viem.sh
viem is a TypeScript client for Ethereum: Public/Wallet/Test clients, transports (HTTP, WebSocket, custom), type-safe contract reads/writes, local and JSON-RPC accounts, chains, ENS, and encoding/unit helpers.
Core References
| Topic |
Description |
Reference |
| Clients & Transports |
Public/Wallet/Test clients, HTTP/WS/custom transports, multicall batching |
core-clients-transports |
| Contract |
getContract, readContract, writeContract, simulateContract |
core-contract |
| Accounts |
Local (privateKey, mnemonic) and JSON-RPC accounts, extend with publicActions |
core-accounts |
Features
Chains & ENS
| Topic |
Description |
Reference |
| Chains |
Built-in chains (viem/chains), defineChain for custom |
features-chains |
| ENS |
getEnsAddress, getEnsName, getEnsAvatar, normalize |
features-ens |
Utilities
| Topic |
Description |
Reference |
| Utilities |
getAddress, parseEther/formatEther, encoding, keccak256, ABI helpers |
features-utilities |
| ABI |
parseAbi, encodeAbiParameters, decodeAbiParameters, getAbiItem |
features-abi |
Auth
| Topic |
Description |
Reference |
| SIWE |
createSiweMessage, verifySiweMessage, parseSiweMessage, validateSiweMessage |
features-siwe |
Public data
| Topic |
Description |
Reference |
| Public Actions |
getBalance, getLogs, getBlock, estimateGas, waitForTransactionReceipt, watchEvent |
features-public-actions |
Best Practices
| Topic |
Description |
Reference |
| Contract & Errors |
Simulate before write, typed error handling, RPC/security |
best-practices-contract-and-errors |
External Links
1---2name: viem3description: TypeScript interface for Ethereum — clients, contracts, accounts, chains, ENS, and utilities.4---56> Skill based on viem, generated 2026-02-09. Docs: https://viem.sh78viem is a TypeScript client for Ethereum: Public/Wallet/Test clients, transports (HTTP, WebSocket, custom), type-safe contract reads/writes, local and JSON-RPC accounts, chains, ENS, and encoding/unit helpers.910## Core References1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Clients & Transports | Public/Wallet/Test clients, HTTP/WS/custom transports, multicall batching | [core-clients-transports](references/core-clients-transports.md) |15| Contract | getContract, readContract, writeContract, simulateContract | [core-contract](references/core-contract.md) |16| Accounts | Local (privateKey, mnemonic) and JSON-RPC accounts, extend with publicActions | [core-accounts](references/core-accounts.md) |1718## Features1920### Chains & ENS2122| Topic | Description | Reference |23|-------|-------------|-----------|24| Chains | Built-in chains (viem/chains), defineChain for custom | [features-chains](references/features-chains.md) |25| ENS | getEnsAddress, getEnsName, getEnsAvatar, normalize | [features-ens](references/features-ens.md) |2627### Utilities2829| Topic | Description | Reference |30|-------|-------------|-----------|31| Utilities | getAddress, parseEther/formatEther, encoding, keccak256, ABI helpers | [features-utilities](references/features-utilities.md) |32| ABI | parseAbi, encodeAbiParameters, decodeAbiParameters, getAbiItem | [features-abi](references/features-abi.md) |3334### Auth3536| Topic | Description | Reference |37|-------|-------------|-----------|38| SIWE | createSiweMessage, verifySiweMessage, parseSiweMessage, validateSiweMessage | [features-siwe](references/features-siwe.md) |3940### Public data4142| Topic | Description | Reference |43|-------|-------------|-----------|44| Public Actions | getBalance, getLogs, getBlock, estimateGas, waitForTransactionReceipt, watchEvent | [features-public-actions](references/features-public-actions.md) |4546## Best Practices4748| Topic | Description | Reference |49|-------|-------------|-----------|50| Contract & Errors | Simulate before write, typed error handling, RPC/security | [best-practices-contract-and-errors](references/best-practices-contract-and-errors.md) |5152## External Links5354- [viem.sh](https://viem.sh)55- [wevm/viem GitHub](https://github.com/wevm/viem)