# wevm/viem

TypeScript Interface for Ethereum

Repository: https://github.com/wevm/viem
Canonical: https://ross.abutalabs.com/products/viem
Homepage: https://viem.sh
Language: TypeScript
License: NOASSERTION
License Family: other
Topics: abi, contracts, dapp, ethereum, typescript, wagmi, web3, viem, javascript, blockchain
Last push: 2026-08-26T21:27:00+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 87, longevity 100
- inputs: {"age_days": 1504, "days_push": 7, "days_rel": 7, "gap_med": 2.0, "n_releases_24m": 253}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3544, forks 1506 (observed 2026-08-28T04:08:09.328654+00:00)

## What it is
Viem is a TypeScript library providing low-level, stateless primitives for interacting with Ethereum, serving as a modern alternative to ethers.js and web3.js. It offers modular, tree-shakable modules with end-to-end type safety inferred from contract ABIs and EIP-712 typed data.

## Use cases
- interact with ethereum smart contracts from typescript
- read blockchain data like block numbers and balances
- encode and decode contract ABIs
- build a dapp frontend that talks to ethereum
- sign and send ethereum transactions
- work with EIP-712 typed data
- connect browser extension or WalletConnect wallets
- test contracts against forked ethereum networks

## When to choose
- you want a lightweight, tree-shakable ethereum library with strong TypeScript inference
- you are building dapps or libraries on top of wagmi
- you need stable, well-tested JSON-RPC abstractions with small bundle size
- you prefer modular, composable APIs over monolithic web3 libraries

## When to avoid
- you need a non-EVM blockchain SDK
- your project requires JavaScript-only support without TypeScript 5+
- you depend on plugins or tooling built specifically for ethers.js or web3.js

## Facets
- artifact type: library
- maturity: active
- function: sdk, http-client, serialization, developer-tools
- domain: blockchain, web-development, developer-tools, apis
- platform: browser, cross-platform
- tags: ethereum, web3, abi, smart-contracts, -rpc, type-safe, dapp-development, wallets, eip-712, cryptocurrency, nodejs, typescript

## Member repositories
- wevm/viem (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:09.328654+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:34:26.952400+00:00, confidence not recorded.
  - readme: https://github.com/wevm/viem (fetched 2026-08-28T04:08:09.328654+00:00, sha e1d5879ce3e2)
  - homepage: https://viem.sh (fetched 2026-08-29T09:28:57.506678+00:00, sha a4ac26241d99)
  - site_page: https://viem.sh/docs/getting-started (fetched 2026-08-29T09:28:57.509114+00:00, sha 4990f5b7e62e)
  - site_page: https://viem.sh/docs/introduction (fetched 2026-08-29T09:28:57.510805+00:00, sha a8b1d4f9c98e)
  - site_page: https://viem.sh/docs/typescript (fetched 2026-08-29T09:28:57.512614+00:00, sha 86c431db92bd)
- Data as of 2026-08-30T08:39:29.467469+00:00.
