wagmi

  • What it is:wagmi is a collection of modular, type-safe React Hooks and Core APIs built on Viem for interacting with Ethereum, wallets, contracts, and multi-chain apps.
  • Best for:React Ethereum dApp developers, TypeScript-first teams, Performance-critical applications
  • Pricing:Free tier available, paid plans from Custom quote
  • Rating:92/100Excellent
  • Expert's conclusion:Wagmi is the gold standard for TypeScript Ethereum frontend development and should be included in the technology stack of every modern Web3 application.
Reviewed byMaxim Manylov·Web3 Engineer & Serial Founder

What Is wagmi and What Does It Do?

Wagmi.sh is an Open Source React Hook Library for Ethereum, which offers developers a way to create Web3 Applications using modular and reusable hooks for common blockchain functionality. The Wagmi.sh library currently supports thousands of frontend ethereum applications; additionally it provides type-safe performance and chain support. Wagmi.sh was originally created as an open source community project and is now considered one of the core tools in the web3 development ecosystem.

Active
📍Remote
📅Founded 2021
🏢Open Source Project
TARGET SEGMENTS
Web3 DevelopersDApp BuildersEthereum Frontend TeamsBlockchain Startups

What Are wagmi's Key Business Metrics?

📊
8k+
GitHub Stars
📊
5M+
Weekly Downloads
📊
100+
Supported Chains
📊
2k+
Dependent Projects
Rating by Platforms

How Credible and Trustworthy Is wagmi?

92/100
Excellent

Battle tested open source library with wide acceptance throughout Web3, excellent TypeScript support, and ongoing maintenance from a committed core team.

Product Maturity95/100
Company Stability85/100
Security & Compliance90/100
User Reviews95/100
Transparency98/100
Support Quality90/100
8k+ GitHub stars5M+ weekly npm downloadsUsed by top Web3 protocolsTypeScript-first with full type safetyVIEM-powered (lightweight alternative to ethers.js)

What is the history of wagmi and its key milestones?

2021

Project Founded

Open sourced as a community driven project by @awkweb & @pcaversaccio to help simplify the Ethereum Frontend Development process.

2022

v1 Release

Released version 1.0 with a stable API, and extensive chain support.

2023

Pocket Universe Backing

Purchased and maintained by Pocket Universe Foundation, who also have a dedicated full time team.

2024

VIEM Integration

Moved to VIEM Transport Layer for improved performance and smaller bundle sizes.

2025

Account Abstraction Support

Native ERC-4337 Smart Wallet Support added along with extended Chain Coverage.

What Are the Key Features of wagmi?

🔒
Type-Safe React Hooks
Type Safe hooks for wallets, chains, accounts, including auto completion and compile time safety.
💬
Multi-Chain Support
Supports over 100 EVM Chains out of the box with automated RPC Management and Chain Switching.
Modular Architecture
Tree-Shakable Design - Import Only Needed Hooks - 95% Smaller Bundle Than Alternatives.
🔗
VIEM Integration
Uses Lightweight VIEM Library Instead of Heavy ethers.js For Optimal Performance.
💰
Smart Wallet Ready
Native ERC-4337 Account Abstraction Support With Smart Accounts And Session Keys.
Auto-Connection
Auto Connect/Disconnect From Wallets Using EIP-6963 Injected Providers.
🔗
Actions API
Unified Actions for SendTransaction, SignMessage, WatchContractEvents Across Wallets.
Query Caching
Integrated With TanStack Query For Automatic Caching, Refetching, And Optimistic Updates.

What Technology Stack and Infrastructure Does wagmi Use?

Infrastructure

npm/CDN distribution with GitHub-hosted docs

Technologies

TypeScriptReactVIEMTanStack QueryZod

Integrations

MetaMaskWalletConnectCoinbase WalletRainbowRainbowKitConnectKitAll EVM chains

AI/ML Capabilities

N/A - Pure deterministic blockchain tooling

Official documentation, GitHub repo analysis, changelog

What Are the Best Use Cases for wagmi?

DApp Frontend Developers
Build Wallet Connections, Transactions, and Blockchain Queries Quickly and Safely Using Type-Safe Hooks That Eliminate Common Web3 Bugs.
DeFi Protocol Teams
Manage Multi-Chain Token Balances, Swaps, Approvals, and Contract Interactions Across 100+ Chains With A Unified API
NFT Marketplace Builders
Easy wallet management, approval of tokens, creation of multiple NFTs at once (batch minting) as well as a query for your NFT collection, with an optimal estimate of gas usage.
DAO Platforms
Vote on proposals, delegate and execute actions on-chain with automatic switching of networks and with gas sponsorship.
GameFi Developers
Lightweight hooks that are great for browser games which need fast connection to wallets and can perform on-chain action without a lot of additional code (bundle).
NOT FORNon-EVM Developers
Limited use cases - Only supports EVM compatible blockchains (no Bitcoin or Solana support).
NOT FORBackend Node.js Teams
A react specific library - therefore it does not provide the same functionality for server side blockchain applications.

How Much Does wagmi Cost and What Plans Are Available?

Pricing information with service tiers, costs, and details
Service$CostDetails🔗Source
Core Library$0Open-source React hooks library for Ethereum. MIT licensed.wagmi.sh official site
Viem (underlying library)$0Production-ready Ethereum library powering Wagmi Core.wagmi.sh/core/why
RainbowKit (UI Kit)$0Popular companion UI library for wallet connections.RainbowKit docs
ConnectKit$0Third-party wallet connection UI built for Wagmi.wagmi.sh ecosystem
Commercial SupportCustom quoteEnterprise support available through Paradigm or partners.Paradigm partnership
Core Library$0
Open-source React hooks library for Ethereum. MIT licensed.
wagmi.sh official site
Viem (underlying library)$0
Production-ready Ethereum library powering Wagmi Core.
wagmi.sh/core/why
RainbowKit (UI Kit)$0
Popular companion UI library for wallet connections.
RainbowKit docs
ConnectKit$0
Third-party wallet connection UI built for Wagmi.
wagmi.sh ecosystem
Commercial SupportCustom quote
Enterprise support available through Paradigm or partners.
Paradigm partnership

How Does wagmi Compare to Competitors?

Featurewagmiethers.jsweb3.jsThirdweb
React HooksYesNoNoYes
TypeScript SupportFullPartialPartialFull
Multi-chainYesYesYesYes
Wallet Connectors40+ManualManual20+
Bundle SizeTree-shakenLargeLargeMedium
PerformanceExcellentGoodFairGood
Data CachingTanStack QueryNoNoPartial
ABI Type SafetyEnd-to-endNoNoPartial
Free TierYes (MIT)Yes (MIT)Yes (LGPL)Yes (Apache)
EcosystemRainbowKit, ConnectKitLimitedLimitedLarge
React Hooks
wagmiYes
ethers.jsNo
web3.jsNo
ThirdwebYes
TypeScript Support
wagmiFull
ethers.jsPartial
web3.jsPartial
ThirdwebFull
Multi-chain
wagmiYes
ethers.jsYes
web3.jsYes
ThirdwebYes
Wallet Connectors
wagmi40+
ethers.jsManual
web3.jsManual
Thirdweb20+
Bundle Size
wagmiTree-shaken
ethers.jsLarge
web3.jsLarge
ThirdwebMedium
Performance
wagmiExcellent
ethers.jsGood
web3.jsFair
ThirdwebGood
Data Caching
wagmiTanStack Query
ethers.jsNo
web3.jsNo
ThirdwebPartial
ABI Type Safety
wagmiEnd-to-end
ethers.jsNo
web3.jsNo
ThirdwebPartial
Free Tier
wagmiYes (MIT)
ethers.jsYes (MIT)
web3.jsYes (LGPL)
ThirdwebYes (Apache)
Ecosystem
wagmiRainbowKit, ConnectKit
ethers.jsLimited
web3.jsLimited
ThirdwebLarge

How Does wagmi Compare to Competitors?

vs ethers.js

While wagmi is a higher level API than ethers.js with better developer experience, type safety etc., it still utilizes the lower level, imperative apis provided by ethers.js internally.

Use wagmi for react based applications and use ethers.js for vanilla js or backend applications.

vs web3.js

wagmi is clearly superior to web3.js when it comes to bundle size, type safety and utilizing modern react patterns, web3.js is simply older and has a larger market share, however, it performs worse and has a poor developer experience.

If you have a project that is already using web3.js and it works fine - then keep using web3.js, if you're starting a new project - choose wagmi.

vs Thirdweb

Thirdweb is a broader set of SDKs for multiple chains, however, wagmi only supports ethereum with better performance and smaller bundles, thirdweb is better suited for quick application prototyping.

Use wagmi for high performance critical ethereum dApps and use thirdweb for fast multi-chain development.

vs Viem

Viem is the actual library powering wagmi. Wagmi is just adding a react hook layer on top of Viem. Viem can be used outside of react with wagmi/core.

If you are using react, then use wagmi, if you are using another framework, then use viem directly.

What are the strengths and limitations of wagmi?

Pros

  • Excellent TypeScript support — end-to-end type safety from ABI to frontend
  • Better performance — tree-shaking optimized, built on Viem
  • Developer-friendly — intuitive composable hooks, react-first developer experience
  • Multi-chain support — automatic network switching
  • Wallet connector — 40+ wallets supported including EIP-6963 and extensible
  • Community support — rainbowkit, connectkit, appkit integration into the community
  • Optimized data layers — Caching, Deduplication via tanstack query
  • Stable in production - a large test suite across networks

Cons

  • Default react only - you need to include wagmi/core to make it work for other frameworks
  • A very verbose API - more verbose than an imperative alternative
  • Very steep learning curve - you need to know how to work with React
  • Very dependent - TanStack Query, Viem, ethers.js under the hood
  • No UI out of the box - RainbowKit or equivalent needed
  • Rapidly evolving ecosystem - means that you will have to keep up to date
  • Only supports non-EVM (Ethereum) chains - Ethereum/L2 only

Who Is wagmi Best For?

Best For

  • React Ethereum dApp developersProvides purpose-built react hooks to remove boilerplate code and provide type-safety
  • TypeScript-first teamsAllows end-to-end abi type inference to prevent runtime errors
  • Performance-critical applicationsDelivers tree-shaking + Viem to get the smallest bundle size and fastest execution time
  • Multi-wallet applicationsHas over 40 connectors and supports EIP-6963 out of the box
  • Production teams needing stabilityHas a comprehensive test suite across forked ethereum nodes

Not Suitable For

  • Vanilla JavaScript developersToo much of a dependency on React, use ethers.js or Viem directly
  • Non-EVM chain developersOnly works for ethereum/l2 chains - if you are working with multiple chain use Thirdweb sdk
  • Backend/server-side developersNot applicable because react hooks do not work here, use Viem or ethers.js
  • Rapid prototyping teamsThirdweb or Alchemy sdk are both faster and better for mvp's

Are There Usage Limits or Geographic Restrictions for wagmi?

Framework
React primary, wagmi/core for others
Blockchain
Ethereum and EVM-compatible L2s only
License
MIT - free for commercial use
Wallet Support
40+ connectors via EIP-6963
Bundle Size
Tree-shaken - minimal after optimization
Type Safety
Requires TypeScript for full benefits
Data Fetching
TanStack Query integration required

Is wagmi Secure and Compliant?

MIT LicensePermissive open source license used by millions of production apps.
Type SafetyEnd-to-end TypeScript prevents contract call typos and invalid parameters.
Production Test SuiteTests run against forked Ethereum nodes across multiple chains.
Viem IntegrationBuilt on battle-tested, audited Ethereum library.
Wallet SecurityEIP-6963 compliant connectors prevent phishing attacks.
Performance SecurityRequest deduplication/caching prevents RPC provider abuse.
Community AuditsWidely used open source project with extensive community scrutiny.

What Customer Support Options Does wagmi Offer?

Channels
Primary support channel for bug reports and feature requestsCommunity support available through Wagmi DiscordComprehensive guides at docs.wagmi.sh
Hours
Community support available 24/7
Response Time
Variable - depends on community volunteers and maintainers
Satisfaction
N/A - open source project
Support Limitations
No dedicated email or live chat support
Community-driven support only - no guaranteed response times
No phone or enterprise support tiers

What APIs and Integrations Does wagmi Support?

API Type
TypeScript React Hooks and VanillaJS Actions for Ethereum JSON-RPC
Authentication
Wallet-based authentication through connectors (MetaMask, Coinbase, WalletConnect, EIP-6963)
Webhooks
Not applicable - blockchain interaction library
SDKs
Built on Viem. Ecosystem: RainbowKit, ConnectKit, AppKit, Dynamic, Privy
Documentation
Comprehensive at wagmi.sh with interactive examples, ABI CLI tool
Sandbox
Test on any EVM testnet. Uses Viem for low-level testing
SLA
N/A - open source library
Rate Limits
Depends on RPC provider (Alchemy, Infura, etc)
Use Cases
Wallet connections, contract reads/writes, multi-chain support, ENS, transactions

What Are Common Questions About wagmi?

Wagmi is a collection of react hooks and vanilla js actions for developing with ethereum. It has type-safe api's for connecting wallets, interacting with contracts, multi-chain support, etc. It uses Viem for all the low level ethereum operations.

Wagmi provides react hooks with automated type inference and better dx for frontend devs. Ethers.js is lower level and framework agnostic. Wagmi also handles the multi-chain config and wallet connector automatically.

Yes, wagmi is completely open source and free. There are no pricing tiers or subscriptions. The costs are only the rpc provider you choose and gas fees.

Supports all major wallets via official connectors, EIP-6963 auto detection and an extensible api. This includes meta mask, coinbase, wallet connect and just about any other evm wallet.

Yes, Wagmi supports multiple chains via Wagmi Config. You can configure your favorite EVM chains (e.g., Ethereum, Polygon, Optimism, Base) with auto-switching chain logic as well as RPC management.

Yes, you may provide a contract ABI to Wagmi hooks so that Wagmi will automatically infer typescript types for you. The Wagmi CLI provides tools to help manage these ABIs. The CLI will provide you with autocomplete functionality, compile time validation, and error checking.

Yes, you may utilize Wagmi Core in order to create vanilla JS applications. The same functionality is available as Actions versus Hooks. You have full access to the Viem client library for fine grain control.

Yes, you can drop down to the Viem client library directly from within Wagmi through its getPublicClient() and getWalletClient() methods. Wagmi takes care of managing the config and chain context for you.

Is wagmi Worth It?

Wagmi is the first TypeScript-first Ethereum development framework and has a very good developer experience due to composable hooks, automatic type safety and a wide range of features. As an open-source project it powers RainbowKit and the larger Web3 frontend ecosystem. It solves many of the common problems that other frameworks do not solve such as multi-wallet support, chain management, and contract type errors. However, it does require you to know how to connect to an RPC provider and at least one version of React and/or TypeScript before you can produce a production ready Ethereum frontend application.

Recommended For

  • Developers of React/TypeScript-based Ethereum dApps
  • Developers who are using RainbowKit or other UI kits that are based on ConnectKit
  • Developers of projects that need to be able to connect to multiple chains with their wallet
  • Developers who are looking to write frontend code and want to be able to interact with blockchains in a way that is safe from type errors

!
Use With Caution

  • Developers who are writing vanilla JS applications - they should consider using Wagmi Core instead of React hooks
  • Developers who are only concerned with backend development - these developers would probably find it easier to just go straight to the Viem client library.
  • Developers who are using non-Typescript projects - you will likely find that the biggest benefit of using Wagmi comes from using TypeScript.

Not Recommended For

  • Developers of simple static sites - If all you need to do is show a user their wallet info then you probably don't need anything this complex.
  • Developers of legacy JavaScript projects who are unwilling to learn TypeScript - There is no reason to expect that a framework that was written for TypeScript will be compatible with a legacy JavaScript project.
  • Developers of non-EVM chains - This is currently focused exclusively on EVM.
Expert's Conclusion

Wagmi is the gold standard for TypeScript Ethereum frontend development and should be included in the technology stack of every modern Web3 application.

Best For
Developers of React/TypeScript-based Ethereum dAppsDevelopers who are using RainbowKit or other UI kits that are based on ConnectKitDevelopers of projects that need to be able to connect to multiple chains with their wallet

What do expert reviews and research say about wagmi?

Key Findings

The leading open-source React Hook library for Ethereum, Wagmi powers most modern Web3 front ends through its ecosystem (RainbowKit, ConnectKit) and provides the best developer experience (DX) with type-safe APIs, multi-chain support and complete feature set coverage. Built on top of Viem for reliability and extensibility.

Data Quality

Good - comprehensive official documentation at wagmi.sh. Limited customer support info typical for open source projects. No G2/Capterra ratings as developer tool.

Risk Factors

!
Dependence on external RPC providers
!
EVM only - No native support for non-EVM chains
!
Open-source - No commercially-backed Service Level Agreement (SLA)
Last updated: February 2026

What Are the Best Alternatives to wagmi?

  • Viem: A lower-level TypeScript library for Ethereum, built on top of Wagmi. Offers greater control and a smaller bundle size; however, users need to manually manage the wallet/chain themselves. Suitable for backend services or developers who require detailed control over their development workflow.
  • ethers.js: A popular Ethereum library offering framework-agnostic APIs. Has a larger user community, but offers poorer TypeScript support and does not include React hooks. Suitable for applications that are not based on React, or for JavaScript-only projects.
  • web3.js: Original Ethereum JavaScript library with extensive usage. Worst DX and TypeScript support. Legacy option for projects already using it and unwilling to migrate.
  • RainbowKit: A Wagmi-driven wallet UI library providing beautiful wallet modals. An abstraction layer higher than Wagmi that includes pre-made UI components. Suitable for companies that want a high-quality wallet user interface without the overhead of building one themselves.
  • ConnectKit: Family's mobile first wallet connection UI built on top of Wagmi. Includes an integrated version of Family's wallet. Another layer of UI above the Wagmi core functionality.

What Blockchain Stack Components Does wagmi Offer?

Library at the heart of all blockchain operations used by Wagmi and its associated hooks

Account/Wallet/Contract/Transaction/ENS/Signing hooks for your application

MetaMask/Coinbase/WalletConnect/Injected/EIP-6963 wallet support for any wallet

CLI Tool for generating TypeScript types from ABI definitions and managing ABIs

Collection of UI Libraries within the Wagmi Ecosystem for creating wallet connection/modals UI

Automatic support for 100+ EVM chains via ethereum-lists/chains

What Smart Contract Integration Capabilities Does wagmi Offer?

Automatic ABI Type Generation

TypeScript type definition generation from contract ABIs with auto-complete support

useContractRead / useContractWrite

Hooks that allow developers to read from contracts (safe), write to contracts (safe) and make multiple calls on a contract (safe)

Transaction Simulation

Simulate what would happen in an execution environment prior to executing a transaction using Viem to prevent failed transactions.

useWaitForTransaction

Track real time transaction status as successful or unsuccessful

Gas Estimation

The ability to estimate gas prior to a transaction being executed to help optimize the transaction for EVM clients

How Does wagmi's Blockchain Framework Maturity Matrix Compare?

FrameworkGitHub StarsCommunity SizeProduction ReadyEnterprise AdoptionDocumentation Quality
Wagmi + Viem + React/Next.js15,000+100,000+ developers✓ Yes (Mainnet production)High (Uniswap, Aave, OpenSea integrations)Excellent (Comprehensive docs + examples)

What Is wagmi's Blockchain Security Compliance Status Status?

TypeScript Static Validation
Transaction Simulation
Wallet Connection Security
RPC Rate Limiting Protection

What Developer Ecosystem And Tooling Does wagmi Offer?

A command-line tool to perform ABI imports, generate types, and manage contracts

A low level Ethereum client providing a safe environment for performing advanced operations.

Wallet modal and UI component plug and play integration

Complete IDE auto-complete functionality, type inference, and error prevention capabilities

Transaction explorer built into the product for all EVM chains supported by the product.

How Does wagmi's Cross Chain Interoperability Support Compare?

Blockchain PairBridge ProtocolFramework SupportBridge LatencySupported Use Cases
Ethereum ↔ L2s (Optimism, Arbitrum)Native L2 bridgesAutomatic chain configuration via ethereum-lists/chainsVaries by L2 (minutes to hours)Layer 2 DeFi, gaming, scalable dApps
EVM Chains ↔ EVM ChainsStandard ERC20 bridges (Multichain, Anyswap)Universal ABI support + chain configs for all EVM chains5-30 minutesCross-EVM token transfers, liquidity aggregation

Expert Reviews

📝

No reviews yet

Be the first to review wagmi!

Write a Review

Similar Products