or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

browser-mobile-wallets.mdhardware-wallets.mdindex.mdspecialized-wallets.mdwallet-list.md

wallet-list.mddocs/

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

```