layout | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
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
}
}
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
}
}
{% hint style="warning" %} The Defly Web Wallet is currently in beta. {% endhint %}
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
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[]
}
}
}
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
}
}
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
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
}
}
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
}
}
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 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
}
}
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
}
}
{% hint style="danger" %} Warning: The Mnemonic Wallet provider is for testing only and will not work on MainNet. Never use with real assets. {% endhint %}
See the Testing with Mnemonic Wallet guide for details about end-to-end (E2E) testing.
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.