Skip to content

feat: add AlgoVoi wallet provider#434

Open
chopmob-cloud wants to merge 3 commits intoTxnLab:mainfrom
chopmob-cloud:feat/add-algovoi-wallet
Open

feat: add AlgoVoi wallet provider#434
chopmob-cloud wants to merge 3 commits intoTxnLab:mainfrom
chopmob-cloud:feat/add-algovoi-wallet

Conversation

@chopmob-cloud
Copy link
Copy Markdown

Summary

  • Adds AlgoVoi as a named wallet provider (WalletId.ALGOVOI)
  • AlgoVoi is an Algorand + Voi browser extension wallet with native x402 HTTP payment support
  • The implementation calls the ARC-0027 compliant window.algorand provider directly — no external SDK dependency required
  • Extension: AlgoVoi on GitHub

Changes

  • types.ts — Add ALGOVOI = 'algovoi' to WalletId enum, WalletMap, and WalletOptionsMap
  • algovoi.ts — New AlgoVoiWallet class extending BaseWallet
    • Detects the extension via window.algorand?.isAlgoVoi === true
    • Falls back to listening for algorand#initialized event if not yet injected
    • Implements connect(), disconnect(), resumeSession(), signTransactions()
    • Handles both algosdk.Transaction[] and Uint8Array[] input formats
    • 3-minute timeout for provider detection
  • index.ts — Export AlgoVoiWallet
  • utils.ts — Register in createWalletMap()
  • algovoi.test.ts — Unit tests for connect, disconnect, resumeSession, metadata

dApp usage

import { WalletId, WalletManager } from '@txnlab/use-wallet'

const walletManager = new WalletManager({
  wallets: [WalletId.ALGOVOI, WalletId.PERA, WalletId.DEFLY]
})

Test plan

  • All 475 existing tests pass (no regressions)
  • New AlgoVoi tests pass (connect, disconnect, resumeSession, metadata)
  • pnpm build succeeds for @txnlab/use-wallet package
  • Manual: Install AlgoVoi extension + test with a dApp using use-wallet

🤖 Generated with Claude Code

chopmob-cloud added a commit to chopmob-cloud/dorkfi-app that referenced this pull request Mar 25, 2026
- Register 'algovoi' in WalletManager (NetworkContext) alongside existing AVM wallets
- Add AlgoVoi to the wallet selection modal (WalletModal) for all AVM networks
- Mark AlgoVoi as a universal wallet (supports both Algorand and Voi Mainnet)
- Connection handler uses window.algorand directly as fallback until
  TxnLab/use-wallet#434 lands; upgrades automatically to use-wallet path once available
- Availability check detects the extension via window.algorand.isAlgoVoi so the
  button appears even before the npm package ships WalletId.ALGOVOI

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@chopmob-cloud
Copy link
Copy Markdown
Author

Hey @drichar — just wanted to check in on this one. AlgoVoi is a browser extension wallet for Algorand and Voi with native ARC-27 support, and getting it into use-wallet would really help with dApp compatibility across the ecosystem (a few Voi dApps are already waiting on this to land before they can add AlgoVoi support).

No pressure at all — just appreciate any review when you get a chance. Happy to address any feedback or changes needed. 🙏

@chopmob-cloud
Copy link
Copy Markdown
Author

Bumping this for visibility — wanted to share some context on where this fits in a wider rollout.

What's shipped since this PR was opened

Since submitting this PR, AlgoVoi has launched full implementations across three payment protocols:

Protocol Status Links
x402 (HTTP Payment Protocol, spec v1) ✅ live x402.org ecosystem listing #2022
MPP (IETF draft-ryan-httpauth-payment) ✅ live tempoxyz/mpp #556
AP2 (Agentic Commerce, AP2 v0.1) ✅ live google-agentic-commerce/AP2 #218

All three are smoke-tested with real on-chain USDC payments across Algorand, VOI, Hedera, and Stellar.

eCommerce platform adapters

AlgoVoi also has payment gateway adapters for 17+ eCommerce platforms (WooCommerce, Shopify, PrestaShop, Magento, OpenCart, and more), all open-source:
👉 chopmob-cloud/AlgoVoi-Platform-Adapters

Why use-wallet matters here

The AlgoVoi browser extension is the user-facing wallet that completes the loop — dApps built with use-wallet can sign the on-chain payment transactions that x402/MPP/AP2 require. Without WalletId.ALGOVOI in use-wallet, dApp developers building payment-gated flows on Algorand have to roll their own integration.

Happy to answer any questions or make changes if the implementation needs adjusting for the v4 API.

Add AlgoVoi as a named wallet provider so dApps using use-wallet
can display it in their connect modals alongside Pera, Defly, etc.

AlgoVoi is an Algorand + Voi browser extension wallet that exposes
an ARC-0027 compliant provider at window.algorand. The implementation
calls the injected provider directly (no external SDK dependency).

Changes:
- Add ALGOVOI to WalletId enum
- Create AlgoVoiWallet extending BaseWallet
- Register in createWalletMap and exports
- Add unit tests (connect, disconnect, resumeSession, metadata)
Remove unused `logger` and `Mock` imports flagged by eslint.
@chopmob-cloud chopmob-cloud force-pushed the feat/add-algovoi-wallet branch from 3ff0feb to 791dc4d Compare April 14, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant