# wevm/wagmi

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wevm-wagmi).**

6,731 stars · 1,408 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/wevm/wagmi
- Homepage: https://wagmi.sh
- awesome-repositories: https://awesome-repositories.com/repository/wevm-wagmi.md

## Topics

`dapp` `ethereum` `hooks` `react` `typescript` `viem` `vue` `wagmi` `web3`

## Description

Wagmi is a collection of reactive hooks and a toolkit for interacting with Ethereum blockchains. It provides a comprehensive suite of primitives for managing wallet connections, reading smart contract data, and orchestrating on-chain transactions.

The project distinguishes itself through a smart contract interface toolkit that retrieves binary interfaces to generate type-safe hooks and function wrappers. This ensures that blockchain inputs and outputs are validated at compile-time. It also features a specialized utility for translating Ethereum Name Service domains into wallet addresses and profile metadata.

The library covers a broad range of blockchain capabilities, including transaction management for batching calls and sponsoring gas fees, as well as state management for caching on-chain data. It handles identity via cryptographic message signing and wallet provider integration, and supports multi-chain synchronization to maintain the correct network context.

The project includes a command-line tool for organizing and retrieving contract binary interfaces.

## Tags

### Security & Cryptography

- [Wallet Integrations](https://awesome-repositories.com/f/security-cryptography/wallet-integrations.md) — Provides the primary integration layer for connecting web applications to external Ethereum wallet providers for authentication and signing.
- [Digital Message Signing](https://awesome-repositories.com/f/security-cryptography/digital-message-signing.md) — Enables requesting cryptographic signatures from wallets to verify user identity and authorize on-chain actions. ([source](https://wagmi.sh/react/api/hooks))
- [Wallet Provider Connectors](https://awesome-repositories.com/f/security-cryptography/identity-provider-connections/wallet-provider-connectors.md) — Implements interfaces for initializing connections to injected browser-based Ethereum wallets for user authentication.
- [Connection Management](https://awesome-repositories.com/f/security-cryptography/identity-provider-connections/wallet-provider-connectors/connection-management.md) — Manages the active session lifecycle between the application and connected browser-based wallets. ([source](https://wagmi.sh/react/api/hooks))
- [Transaction Batching](https://awesome-repositories.com/f/security-cryptography/blockchain-transaction-execution/transaction-batching.md) — Groups multiple smart contract calls into a single execution to reduce user interactions and lower gas costs. ([source](https://wagmi.sh/tempo/getting-started))
- [Account Linking](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/account-linking.md) — Links browser extensions and mobile wallets to manage user identities and authorize on-chain transactions. ([source](https://wagmi.sh/react/api/connectors))
- [Transaction Fee Sponsorships](https://awesome-repositories.com/f/security-cryptography/transaction-fee-sponsorships.md) — Enables delegating transaction gas costs to a third-party payer or paymaster contract. ([source](https://wagmi.sh/tempo/getting-started))

### Data & Databases

- [Blockchain State Querying](https://awesome-repositories.com/f/data-databases/blockchain-state-querying.md) — Retrieves real-time blockchain state, including account balances, block headers, and transaction receipts. ([source](https://wagmi.sh/react/api/hooks))
- [Data Caching](https://awesome-repositories.com/f/data-databases/data-caching.md) — Implements a state management layer that caches on-chain data in memory to reduce redundant network requests.
- [Cross-Request Data Caches](https://awesome-repositories.com/f/data-databases/data-caching/cross-request-data-caches.md) — Caches fetched blockchain data across requests to avoid redundant network calls and improve performance. ([source](https://wagmi.sh/react/guides/tanstack-query))

### DevOps & Infrastructure

- [Blockchain Transaction Orchestration](https://awesome-repositories.com/f/devops-infrastructure/transaction-orchestrators/blockchain-transaction-orchestration.md) — Implements tools for estimating gas fees, batching multiple calls, and tracking the lifecycle of Ethereum transactions.
- [Blockchain Network Connections](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/networking-connectivity/blockchain-network-connections.md) — Defines the necessary providers and network parameters to connect applications to various Ethereum-compatible chains. ([source](https://wagmi.sh/core/getting-started))

### Networking & Communication

- [Blockchain Data Synchronization](https://awesome-repositories.com/f/networking-communication/blockchain-data-synchronization.md) — Synchronizes on-chain data with a local state management layer to maintain a reactive user interface.
- [Cross-Chain State Synchronization](https://awesome-repositories.com/f/networking-communication/cross-chain-state-synchronization.md) — Automatically manages the transition between different blockchain network configurations to maintain the correct application context. ([source](https://wagmi.sh/react/why))
- [Network Context Synchronization](https://awesome-repositories.com/f/networking-communication/cross-chain-state-synchronization/network-context-synchronization.md) — Tracks and updates the current network state to ensure requests are routed to the correct blockchain endpoint.
- [ENS Domain Resolutions](https://awesome-repositories.com/f/networking-communication/ens-domain-resolutions.md) — Translates human-readable Ethereum Name Service domains into wallet addresses and profile metadata. ([source](https://wagmi.sh/react/api/hooks))
- [ENS Resolution Utilities](https://awesome-repositories.com/f/networking-communication/ens-resolution-utilities.md) — Provides specialized utilities for translating human-readable Ethereum Name Service domains into wallet addresses and profile metadata.
- [Transaction Sequence Coordination](https://awesome-repositories.com/f/networking-communication/transaction-sequence-coordination.md) — Tracks the sequence of multiple outgoing transactions to prevent collisions and ensure correct execution order. ([source](https://wagmi.sh/tempo/getting-started))

### Web Development

- [Contract Type Generators](https://awesome-repositories.com/f/web-development/api-client-generators/type-safe-client-generators/contract-type-generators.md) — Generates TypeScript type definitions from smart contract ABIs to ensure compile-time safety for blockchain calls.
- [Ethereum Client Libraries](https://awesome-repositories.com/f/web-development/ethereum-client-libraries.md) — A comprehensive collection of reactive React hooks for interacting with Ethereum blockchains and managing wallet connections.
- [Smart Contract Callers](https://awesome-repositories.com/f/web-development/smart-contract-environments/smart-contract-callers.md) — Provides interfaces for reading state and executing functions on smart contracts via the network. ([source](https://wagmi.sh/react/api/hooks))
- [ABI Mappings](https://awesome-repositories.com/f/web-development/smart-contract-environments/smart-contract-callers/abi-mappings.md) — Provides mappings that translate smart contract ABIs into executable JavaScript functions for interaction.
- [Contract Interface Toolkits](https://awesome-repositories.com/f/web-development/smart-contract-environments/smart-contract-callers/contract-interface-toolkits.md) — Provides a toolkit for fetching ABIs and generating type-safe hooks and function wrappers for smart contract interaction.
- [TanStack Query SSR Integrations](https://awesome-repositories.com/f/web-development/ssr-data-fetching/tanstack-query-ssr-integrations.md) — Integrates TanStack Query for managed blockchain data fetching, caching, and server-state synchronization.

### Development Tools & Productivity

- [Transaction Management](https://awesome-repositories.com/f/development-tools-productivity/transaction-management.md) — Provides tools for estimating gas, simulating calls, and monitoring transactions until network confirmation. ([source](https://wagmi.sh/react/api/hooks))

### User Interface & Experience

- [State Management Providers](https://awesome-repositories.com/f/user-interface-experience/state-management-providers.md) — Distributes blockchain network and wallet connection states throughout the component tree using centralized context providers.
