viem

SKILL.md

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

Weekly Installs
3
GitHub Stars
3
First Seen
Feb 25, 2026
Installed on
opencode3
gemini-cli3
github-copilot3
codex3
kimi-cli3
cursor3