0
# Complete Wallet List
1
2
Comprehensive list of all wallet adapter constants, names, and their capabilities exported by the package.
3
4
## Wallet Name Constants
5
6
Type-safe constants for wallet identification and selection in wallet picker UIs.
7
8
```typescript { .api }
9
type WalletName<T extends string = string> = T & { __brand: 'WalletName' };
10
11
// Browser & Mobile Wallets
12
const AlphaWalletName: WalletName<'Alpha'>;
13
const AvanaWalletName: WalletName<'Avana'>;
14
const BitgetWalletName: WalletName<'Bitget'>;
15
const BitKeepWalletName: WalletName<'Bitget'>; // Alias for BitgetWalletName
16
const BitpieWalletName: WalletName<'Bitpie'>;
17
const CloverWalletName: WalletName<'Clover'>;
18
const Coin98WalletName: WalletName<'Coin98'>;
19
const CoinbaseWalletName: WalletName<'Coinbase Wallet'>;
20
const CoinhubWalletName: WalletName<'Coinhub'>;
21
const FractalWalletName: WalletName<'Fractal'>;
22
const HuobiWalletName: WalletName<'HuobiWallet'>;
23
const HyperPayWalletName: WalletName<'HyperPay'>;
24
const KrystalWalletName: WalletName<'Krystal'>;
25
const MathWalletName: WalletName<'MathWallet'>;
26
const NekoWalletName: WalletName<'Neko'>;
27
const NightlyWalletName: WalletName<'Nightly'>;
28
const NufiWalletName: WalletName<'NuFi'>;
29
const OntoWalletName: WalletName<'ONTO'>;
30
const PhantomWalletName: WalletName<'Phantom'>;
31
const SafePalWalletName: WalletName<'SafePal'>;
32
const SaifuWalletName: WalletName<'Saifu'>;
33
const SalmonWalletName: WalletName<'Salmon'>;
34
const SkyWalletName: WalletName<'SKY Wallet'>;
35
const SolflareWalletName: WalletName<'Solflare'>;
36
const SolongWalletName: WalletName<'Solong'>;
37
const SpotWalletName: WalletName<'Spot'>;
38
const TokenaryWalletName: WalletName<'Tokenary'>;
39
const TokenPocketWalletName: WalletName<'TokenPocket'>;
40
const TorusWalletName: WalletName<'Torus'>;
41
const TrustWalletName: WalletName<'Trust'>;
42
const XDEFIWalletName: WalletName<'XDEFI'>;
43
44
// Hardware Wallets
45
const LedgerWalletName: WalletName<'Ledger'>;
46
const TrezorWalletName: WalletName<'Trezor'>;
47
48
// Specialized Wallets
49
const KeystoneWalletName: WalletName<'Keystone'>;
50
const ParticleName: WalletName<'Particle'>;
51
const UnsafeBurnerWalletName: WalletName<'Burner Wallet'>;
52
```
53
54
## Complete Wallet Reference
55
56
### Browser & Mobile Wallets (Standard Features)
57
58
All these wallets extend `BaseMessageSignerWalletAdapter` and support transaction signing, message signing, and have empty configuration interfaces:
59
60
| Wallet Name | Adapter Class | Versioned Transactions | Special Features |
61
|-------------|---------------|----------------------|------------------|
62
| Alpha | `AlphaWalletAdapter` | ❌ Legacy only | Basic browser wallet |
63
| Avana | `AvanaWalletAdapter` | ✅ | Browser extension |
64
| Bitget | `BitgetWalletAdapter` | ✅ | Multi-chain wallet (also exports `BitKeepWalletAdapter` alias) |
65
| Clover | `CloverWalletAdapter` | ✅ | Browser extension |
66
| Coin98 | `Coin98WalletAdapter` | ❌ Legacy only | Request-based API |
67
| Fractal | `FractalWalletAdapter` | ✅ | Gaming-focused |
68
| Huobi | `HuobiWalletAdapter` | ✅ | Exchange wallet |
69
| HyperPay | `HyperPayWalletAdapter` | ✅ | Mobile wallet |
70
| Krystal | `KrystalWalletAdapter` | ✅ | DeFi-focused |
71
| Neko | `NekoWalletAdapter` | ✅ | Browser extension |
72
| Nightly | `NightlyWalletAdapter` | ✅ | Developer-focused |
73
| Nufi | `NufiWalletAdapter` | ✅ | Cardano + Solana |
74
| Onto | `OntoWalletAdapter` | ✅ | Identity-focused |
75
| Saifu | `SaifuWalletAdapter` | ✅ | Browser extension |
76
| Salmon | `SalmonWalletAdapter` | ✅ | Browser wallet |
77
| Sky | `SkyWalletAdapter` | ✅ | Browser extension |
78
| Spot | `SpotWalletAdapter` | ✅ | Trading-focused |
79
| Tokenary | `TokenaryWalletAdapter` | ✅ | Safari extension |
80
| TokenPocket | `TokenPocketWalletAdapter` | ✅ | Multi-chain mobile |
81
| Torus | `TorusWalletAdapter` | ✅ | Social login |
82
| Trust Wallet | `TrustWalletAdapter` | ✅ | Popular mobile wallet |
83
| XDEFI | `XDEFIWalletAdapter` | ✅ | Multi-chain browser |
84
85
### Premium Browser & Mobile Wallets (Enhanced Features)
86
87
| Wallet Name | Adapter Class | Special Features |
88
|-------------|---------------|------------------|
89
| Phantom | `PhantomWalletAdapter` | ✅ iOS deep linking, account change detection |
90
| Solflare | `SolflareWalletAdapter` | ✅ Network configuration, iOS support, MetaMask detection |
91
| Coinbase Wallet | `CoinbaseWalletAdapter` | ✅ Enterprise-grade, full transaction support |
92
93
### Hardware Wallets
94
95
These wallets extend `BaseSignerWalletAdapter` and support transaction signing only (no message signing):
96
97
| Wallet Name | Adapter Class | Base Class | Special Features |
98
|-------------|---------------|------------|------------------|
99
| Bitpie | `BitpieWalletAdapter` | `BaseSignerWalletAdapter` | Mobile & browser wallet |
100
| Coinhub | `CoinhubWalletAdapter` | `BaseSignerWalletAdapter` | Browser wallet |
101
| Ledger | `LedgerWalletAdapter` | `BaseSignerWalletAdapter` | WebHID transport, `getDerivationPath()` utility |
102
| MathWallet | `MathWalletAdapter` | `BaseSignerWalletAdapter` | Multi-chain wallet |
103
| SafePal | `SafePalWalletAdapter` | `BaseSignerWalletAdapter` | Hardware + software wallet |
104
| Solong | `SolongWalletAdapter` | `BaseSignerWalletAdapter` | Legacy browser wallet |
105
| Trezor | `TrezorWalletAdapter` | `BaseSignerWalletAdapter` | Trezor Connect, extensive configuration |
106
107
### Specialized Wallets
108
109
| Wallet Name | Adapter Class | Base Class | Special Features |
110
|-------------|---------------|------------|------------------|
111
| Keystone | `KeystoneWalletAdapter` | `BaseMessageSignerWalletAdapter` | QR-code signing, air-gapped |
112
| Particle | `ParticleAdapter` | `BaseMessageSignerWalletAdapter` | Social login, SDK access via `particle` property |
113
| Burner Wallet | `UnsafeBurnerWalletAdapter` | `BaseSignInMessageSignerWalletAdapter` | Sign-in with Solana, in-memory keypair |
114
115
### WalletConnect Integration
116
117
- Re-exports all functionality from `@walletconnect/solana-adapter`
118
- Specific exports depend on the WalletConnect library version
119
120
## Usage Patterns
121
122
### Wallet Selection Array
123
124
```typescript
125
import {
126
PhantomWalletAdapter,
127
SolflareWalletAdapter,
128
LedgerWalletAdapter,
129
UnsafeBurnerWalletAdapter,
130
} from "@solana/wallet-adapter-wallets";
131
132
const wallets = [
133
new PhantomWalletAdapter(),
134
new SolflareWalletAdapter({ network: WalletAdapterNetwork.Mainnet }),
135
new LedgerWalletAdapter(),
136
process.env.NODE_ENV === 'development' ? new UnsafeBurnerWalletAdapter() : null,
137
].filter(Boolean);
138
```
139
140
### Name-Based Wallet Detection
141
142
```typescript
143
import {
144
PhantomWalletName,
145
SolflareWalletName,
146
LedgerWalletName
147
} from "@solana/wallet-adapter-wallets";
148
149
const getWalletIcon = (walletName: WalletName) => {
150
switch (walletName) {
151
case PhantomWalletName:
152
return "phantom-icon.svg";
153
case SolflareWalletName:
154
return "solflare-icon.svg";
155
case LedgerWalletName:
156
return "ledger-icon.svg";
157
default:
158
return "default-wallet-icon.svg";
159
}
160
};
161
```
162
163
### Capability-Based Filtering
164
165
```typescript
166
import { BaseSignerWalletAdapter } from "@solana/wallet-adapter-base";
167
168
// Filter for hardware wallets only
169
const hardwareWallets = allWallets.filter(
170
wallet => wallet instanceof BaseSignerWalletAdapter
171
);
172
173
// Filter for wallets supporting versioned transactions
174
const modernWallets = allWallets.filter(
175
wallet => wallet.supportedTransactionVersions.has(0)
176
);
177
178
// Filter for Sign-in with Solana support
179
const siwsWallets = allWallets.filter(
180
wallet => 'signIn' in wallet
181
);
182
```
183
184
### Dynamic Wallet Loading
185
186
```typescript
187
// Lazy load wallet adapters
188
const loadWallet = async (walletName: string) => {
189
const module = await import("@solana/wallet-adapter-wallets");
190
191
switch (walletName) {
192
case 'Phantom':
193
return new module.PhantomWalletAdapter();
194
case 'Solflare':
195
return new module.SolflareWalletAdapter();
196
case 'Ledger':
197
return new module.LedgerWalletAdapter();
198
default:
199
throw new Error(`Unsupported wallet: ${walletName}`);
200
}
201
};
202
```
203
204
### Environment-Specific Wallets
205
206
```typescript
207
const getAvailableWallets = () => {
208
const wallets = [];
209
210
// Always available
211
wallets.push(new PhantomWalletAdapter());
212
wallets.push(new SolflareWalletAdapter());
213
214
// Hardware wallets (WebHID required)
215
if (typeof navigator !== 'undefined' && navigator.hid) {
216
wallets.push(new LedgerWalletAdapter());
217
}
218
219
// Development only
220
if (process.env.NODE_ENV === 'development') {
221
wallets.push(new UnsafeBurnerWalletAdapter());
222
}
223
224
return wallets;
225
};
226
```
227
228
## Transaction Version Support
229
230
### Legacy + Versioned (0) Support
231
232
Most modern wallets support both legacy and versioned transactions:
233
- Phantom, Solflare, Coinbase, Trezor, Ledger, Keystone, UnsafeBurner
234
- All other browser/mobile wallets (except Alpha, Coin98, Particle)
235
236
### Legacy Only Support
237
238
These wallets only support legacy transactions:
239
- Alpha (`AlphaWalletAdapter`)
240
- Coin98 (`Coin98WalletAdapter`)
241
- Particle (`ParticleAdapter`)
242
243
**Usage:**
244
245
```typescript
246
// Check transaction version support
247
const supportsVersioned = wallet.supportedTransactionVersions.has(0);
248
249
if (supportsVersioned) {
250
// Can use VersionedTransaction
251
const versionedTx = new VersionedTransaction(message);
252
await wallet.signTransaction(versionedTx);
253
} else {
254
// Must use legacy Transaction
255
const legacyTx = new Transaction();
256
await wallet.signTransaction(legacyTx);
257
}
258
```