// the find
aragon/use-wallet
👛 useWallet() · All-in-one solution to connect a dapp to an Ethereum provider.
A React hook that wraps web3-react v6 to give dapp developers a single `useWallet()` interface across MetaMask, WalletConnect, Portis, and a handful of other providers. Useful if you want a quick connection layer without wiring up web3-react's lower-level abstractions yourself. The target audience is small dapp teams who want something working in an afternoon.
Extremely low API surface — `connect()`, `reset()`, `status`, `account`, `balance` covers 90% of what most dapps actually need. Library-agnostic by design: you get the raw EIP-1193 provider and can pass it to ethers or web3.js yourself. Shipping WalletConnect v2 support (ConnectorWalletConnectV2.ts) while the rest of the codebase is v6-era web3-react shows someone kept it alive past its natural expiry. Multiple working examples including Next.js, which is where most new dapps actually live.
Last push was May 2024 and the repo is effectively in maintenance mode — the web3 wallet space has moved to wagmi/viem and this hasn't. Built on web3-react v6, which is itself deprecated; web3-react v8 rewrote the connector model entirely, so the abstraction layer here is frozen on old architecture. Balance and block number are polled on intervals (default 2s/5s) rather than event-driven, which means unnecessary RPC calls and stale reads between polls. No multi-chain support — `chainId` is a single value set at provider level, so anything involving chain switching or multi-network state requires you to reach outside the hook.