This is a topic to discuss the xGov proposal for Use-Wallet from TxnLab.
Summary
This proposal requests 250,000 ALGO in retroactive funding to cover 6 months of maintenance, development, and community support for @txnlab/use-wallet ( GitHub - TxnLab/use-wallet: A framework agnostic wallet integration library for Algorand dApps ) from January 1, 2025 through June 30, 2025.
Our previously awarded xGov grants for Use-Wallet covered:
January 2024 – May 2024 — xGov-186 ( xGov-186: TxnLab Use-Wallet by johnmizz · Pull Request #186 · algorandfoundation/xGov · GitHub ) (old xGov system)
June 2024 – December 2024 — Proposal 3247418179 ( Use-Wallet: Open-Source Wallet Integration Library for Algorand | xGov ), 175,000 ALGO
This proposal covers the period immediately following the last grant, with no overlap. The increased ask reflects the scope of this period’s work: the stable v4.0.0 major release (a ground-up migration to Algorand SDK v3), a new framework adapter (Svelte), and the growing maintenance burden of supporting 5 published packages across 4 framework adapters.
About Use-Wallet
Use-Wallet is an open-source, framework-agnostic wallet integration library maintained by TxnLab. It enables Algorand dApps to seamlessly integrate with multiple wallets including Pera, Defly, Exodus, Lute, Kibisis, and WalletConnect. It can be used in any modern front-end stack, with official adapters for:
- React ( React | use-wallet )
- Vue ( Vue | use-wallet )
- SolidJS ( SolidJS | use-wallet )
- Svelte ( Svelte | use-wallet )
With Use-Wallet’s hooks and utility functions, you can:
- Easily add or remove wallet support with a few lines of code
- Configure each wallet provider as needed for your application
- Allow users to easily switch between active accounts and wallet providers
- Sign and send transactions
- Restore sessions for returning users
Use-Wallet is the standard wallet integration library for the Algorand ecosystem. It is used by the Algorand Foundation’s own xGov voting platform ( GitHub - algorandfoundation/xgov-beta-web: xGov Frontend uses @txnlab/use-wallet-react v4.0.0), the community-built xGov Explorer (https://xgov.app), and the vast majority of Algorand dApps including Folks Finance, Tinyman, Vestige, Humble DeFi, and many others.
Work Completed: January – June 2025
This was one of the most significant development period in Use-Wallet’s history. The library shipped its v4.0.0 stable major release, added an entirely new framework adapter, and continued active maintenance of the v3.x line while supporting developers migrating between versions.
Releases Shipped
During this 6-month period, the following releases were published to npm across 5 packages (use-wallet, use-wallet-react, use-wallet-vue, use-wallet-solid, use-wallet-svelte):
v3.12.0 — Q1 2025
- Unified isReady state (#335: feat(*): replace isReconnecting with unified isReady state by drichar · Pull Request #335 · TxnLab/use-wallet · GitHub )
- isReconnecting in React (#330: feat(react): return isReconnecting from useWallet by stefanofa · Pull Request #330 · TxnLab/use-wallet · GitHub )
- E2E testing framework (#331: test(e2e): add examples and docs for end-to-end testing by No-Cash-7970 · Pull Request #331 · TxnLab/use-wallet · GitHub )
v4.0.0-beta.5 — Q1 2025
- New useNetwork hook (#339: feat(network): enable runtime connection to custom Algorand nodes by drichar · Pull Request #339 · TxnLab/use-wallet · GitHub )
- Merged all v3.11.1 and v3.12.0 changes into v4 line
v4.0.0 — Q1 2025
Stable release — Full algosdk v3 migration, runtime node configuration, custom network support, Defly Web extension, Pera Discover auto-connect
v4.1.0 — Q1–Q2 2025
- Svelte adapter (@txnlab/use-wallet-svelte) by @acfunk ( acfunk (Andrew Funk) · GitHub )
- Liquid Auth provider restored
v4.2.x — Q2 2025
- React 19 support (#354: fix(deps): update peerDependency of use-wallet-react to support react 19.0.0 by birdmanmandbir · Pull Request #354 · TxnLab/use-wallet · GitHub )
- v4 documentation sync (#357: docs(gitbook): sync v4 docs from GitBook by drichar · Pull Request #357 · TxnLab/use-wallet · GitHub )
- algosdk v3.2.0 (#349: chore(deps): update dependency algosdk to v3.2.0 by renovate[bot] · Pull Request #349 · TxnLab/use-wallet · GitHub )
- TypeScript v5.8.2 (#340: chore(deps): update dependency typescript to v5.8.2 by renovate[bot] · Pull Request #340 · TxnLab/use-wallet · GitHub )
Each release was published across all 5 packages simultaneously. The v4 release cycle required coordinating breaking changes, migration guides, and documentation updates across every adapter.
Key Pull Requests Merged (January – June 2025)
Feature Development and Major Changes
PR #339 — Separate useNetwork hook — feat(network): enable runtime connection to custom Algorand nodes by drichar · Pull Request #339 · TxnLab/use-wallet · GitHub — @drichar
PR #335 — Replace isReconnecting with unified isReady state — feat(*): replace isReconnecting with unified isReady state by drichar · Pull Request #335 · TxnLab/use-wallet · GitHub — @drichar
PR #330 — Return isReconnecting from useWallet in React adapter — feat(react): return isReconnecting from useWallet by stefanofa · Pull Request #330 · TxnLab/use-wallet · GitHub — @stefanofa
PR #354 — React 19.0.0 peer dependency support — fix(deps): update peerDependency of use-wallet-react to support react 19.0.0 by birdmanmandbir · Pull Request #354 · TxnLab/use-wallet · GitHub — @birdmanmandbir
PR #357 — Sync v4 documentation from GitBook — docs(gitbook): sync v4 docs from GitBook by drichar · Pull Request #357 · TxnLab/use-wallet · GitHub — @drichar
Testing and Developer Experience
PR #331 — End-to-end testing examples and documentation — test(e2e): add examples and docs for end-to-end testing by No-Cash-7970 · Pull Request #331 · TxnLab/use-wallet · GitHub — @No-Cash-7970
PR #336 — Fix React testing warnings — test(react): fix React testing warnings with proper act() usage by drichar · Pull Request #336 · TxnLab/use-wallet · GitHub — @drichar
Dependency Updates and Maintenance
PR #349 — Update algosdk to v3.2.0 — chore(deps): update dependency algosdk to v3.2.0 by renovate[bot] · Pull Request #349 · TxnLab/use-wallet · GitHub
PR #340 — Update TypeScript to v5.8.2 — chore(deps): update dependency typescript to v5.8.2 by renovate[bot] · Pull Request #340 · TxnLab/use-wallet · GitHub
PR #352 — Update jsdom to v26 — chore(deps): update dependency jsdom to v26 by renovate[bot] · Pull Request #352 · TxnLab/use-wallet · GitHub
PR #351 — Update eslint-config-prettier to v10 — chore(deps): update dependency eslint-config-prettier to v10 by renovate[bot] · Pull Request #351 · TxnLab/use-wallet · GitHub
PR #348 — Update pnpm to v9.15.9 — chore(deps): update dependency pnpm to v9.15.9 by renovate[bot] · Pull Request #348 · TxnLab/use-wallet · GitHub
v4.0.0 Major Release
Comprehensive migration guide available at: Migrating from v3.x | use-wallet
In addition to Use-Wallet, TxnLab maintains:
NFDomains — Algorand naming service with 69,000+ registered domains (https://app.nf.domains/)
Réti Staking — Open-source staking protocol with 537M+ ALGO staked (https://reti.nodely.io/)
Haystack Protocol — DeFi platform including swap routing, token launchpad, and mobile wallet (https://hay.app/)
Use-Wallet was originally created for NFDomains and has been actively maintained by TxnLab lead developer Doug Richar (@drichar) since November 2022.
Links:
GitHub: GitHub - TxnLab/use-wallet: A framework agnostic wallet integration library for Algorand dApps
npm (core): https://www.npmjs.com/package/@txnlab/use-wallet
npm (React): https://www.npmjs.com/package/@txnlab/use-wallet-react
npm (Vue): https://www.npmjs.com/package/@txnlab/use-wallet-vue
npm (Solid): https://www.npmjs.com/package/@txnlab/use-wallet-solid
npm (Svelte): https://www.npmjs.com/package/@txnlab/use-wallet-svelte
Documentation: Overview | use-wallet
Migration Guide: Migrating from v3.x | use-wallet
Discord: Non-Fungible Domains (see #use-wallet channel)
Track Usage: @txnlab/use-wallet | npm trends