Supported Wallets
Use-wallet supports several popular Algorand wallets. This guide covers the available wallet providers and their configuration options. For complete configuration examples and additional setup details, see the Installation and Configuration guides.
Production Wallets
Pera Wallet
Mobile-first wallet with robust dApp integration features. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.PERA
// With optional configuration
{
id: WalletId.PERA,
options: {
shouldShowSignTxnToast?: boolean
chainId?: number // Defaults to active network
}
}
Defly Wallet
Mobile wallet with advanced DeFi features. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.DEFLY
// With optional configuration
{
id: WalletId.DEFLY,
options: {
shouldShowSignTxnToast?: boolean
chainId?: number // Defaults to active network
}
}
Defly Wallet (Web)
The Defly Web Wallet is currently in beta.
Browser extension wallet by Defly, optimized for web interactions. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.DEFLY_WEB
WalletConnect
Universal wallet connection protocol that enables secure communication between mobile wallets and desktop dApps. Supports any wallet that implements the WalletConnect v2 protocol. Project IDs must be obtained from Reown Cloud. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Configuration required
{
id: WalletId.WALLETCONNECT,
options: {
projectId: string // Required: Project ID from cloud.reown.com
relayUrl?: string // Optional: Custom relay server
metadata?: { // Optional: dApp metadata
name?: string
description?: string
url?: string
icons?: string[]
}
}
}
Lute Wallet
Web and browser extension wallet with Ledger hardware support. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.LUTE
// With optional configuration
{
id: WalletId.LUTE,
options: {
siteName?: string // Defaults to document title
}
}
Kibisis
Browser extension wallet for AVM-compatible chains (Algorand and Voi). Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.KIBISIS
Exodus
Multi-currency wallet with desktop, mobile, and browser extension support.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.EXODUS
// With optional configuration
{
id: WalletId.EXODUS,
options: {
genesisID?: string // Network identifier
genesisHash?: string // Network hash
}
}
Magic Auth
Email-based authentication provider with built-in wallet functionality. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Configuration required
{
id: WalletId.MAGIC,
options: {
apiKey: string // Required: Magic Auth API key
}
}
Biatec
Open-source mobile wallet with community focus and WalletConnect support. Installation instructions.
import { WalletId } from '@txnlab/use-wallet'
// Basic usage (no options required)
WalletId.BIATEC
Development Wallets
KMD
Development wallet provider for use with Algorand's goal
CLI tool and AlgoKit.
import { WalletId } from '@txnlab/use-wallet'
// Configuration required
{
id: WalletId.KMD,
options: {
wallet?: string // Optional: KMD wallet name
token?: string // Optional: KMD API token
baseServer?: string // Optional: KMD server URL
port?: string | number // Optional: KMD server port
promptForPassword?: () => Promise<string> // Optional: Custom password prompt
}
}
Mnemonic Wallet
Simple wallet provider for testing environments.
import { WalletId } from '@txnlab/use-wallet'
// Configuration required
{
id: WalletId.MNEMONIC,
options: {
persistToStorage?: boolean // Optional: Save mnemonic in localStorage
promptForMnemonic?: () => Promise<string> // Optional: Custom mnemonic prompt
}
}
Warning: The Mnemonic Wallet provider is for testing only and will not work on MainNet. Never use with real assets.
See the Testing with Mnemonic Wallet guide for details about end-to-end (E2E) testing.
Custom Provider
For integrating unsupported wallets or implementing specialized wallet interactions.
import { WalletId } from '@txnlab/use-wallet'
// Configuration required
{
id: WalletId.CUSTOM,
options: {
provider: {
connect: (args?: Record<string, any>) => Promise<WalletAccount[]>
disconnect?: () => Promise<void>
resumeSession?: () => Promise<WalletAccount[] | void>
signTransactions?: <T>(txnGroup: T | T[], indexesToSign?: number[]) => Promise<(Uint8Array | null)[]>
transactionSigner?: (txnGroup: Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>
}
}
}
See the Custom Provider guide for implementation details.
Last updated