What a Solana wallet actually holds
Solana stores all state in a key-value store where each key is a 32-byte address and each value is an account. A wallet address is an Ed25519 public key, and the wallet's job is to keep the matching private key and sign with it.[2]
Every account has the same five fields: lamports, data, owner, executable and rent_epoch. Only the account's owner program can change its data or debit its lamports, which is why a wallet signature is needed to move SOL out of your address. Every account must also hold a refundable minimum balance: (data size + 128) x 3,480 lamports per byte-year x 2 years.[2]
Most consumer wallets back the key with a seed phrase. Lose it and no support desk can restore the account, which is the trade-off of self-custody.
Tokens live in separate token accounts
SOL sits in your main account, but every other token, such as USDC, lives in a token account. A mint account defines the token, and a token account records the owner, the mint and the amount. One token account holds one token and has one owner.[3]
This is the reason Solana wallets sometimes show a small extra charge the first time you receive a token. The wallet or the sender has to create an associated token account for that mint, and that account must hold a minimum storage balance.[4]
What a transfer costs: a worked example
Solana's fee formula is a base fee of 5,000 lamports per signature plus an optional priority fee. Half of the base fee is burned and half goes to the validator; the priority fee goes 100% to the validator. The fee is charged whether the transaction succeeds or fails.[5]
A standard associated token account under the original Token Program is 165 bytes and needs a minimum storage balance of 2,039,280 lamports, or 0.00203928 SOL, at the current cluster storage rate. That matches the account storage formula: (165 + 128) x 3,480 x 2.[4]
So sending USDC to a friend who has never held USDC, with one signature and no priority fee, costs 5,000 lamports in fees plus 2,039,280 lamports locked in the new token account: 2,044,280 lamports, or about 0.00204 SOL. The 2,039,280 lamports are not burned: closing the empty token account sends them to the destination named in the close instruction, which is not automatically the original payer. A second USDC transfer to the same friend costs only the 5,000-lamport fee, which is 0.000005 SOL.[4]
| Case | Fee | Storage deposit |
|---|---|---|
| Send SOL | 5,000 lamports | None |
| Send USDC, recipient already has a USDC account | 5,000 lamports | None |
| Send USDC, recipient has no USDC account | 5,000 lamports | 2,039,280 lamports (refundable) |
Phantom and Solflare
Phantom started on Solana and now covers Solana, EVM networks, Sui and Bitcoin in one app. It runs as a browser extension and on iOS and Android, shows scam-token warnings, and is listed in the US App Store. Its help center lists a 0.85% fee on most in-app swaps, so a $200 swap inside Phantom carries a $1.70 Phantom fee on top of network costs.[6]
Solflare is Solana-only. It runs on iOS, Android, the web and as a browser extension, supports Ledger and Keystone hardware wallets, and has in-app SOL staking and swaps. Its card notes that the swap fee is not published in its docs, and the US App Store lists Solrise Research Ltd as the seller.
See also: Phantom review · Solflare review · Phantom alternatives · MetaMask vs Phantom
Multichain wallets that also support Solana
Several wallets that started elsewhere now hold Solana accounts. MetaMask, from Consensys, has added Solana accounts next to its EVM networks. Coinbase Wallet and Zerion cover EVM networks and Solana, with Zerion built around a portfolio view of tokens and DeFi positions.
Exodus supports Bitcoin, Ethereum, Solana and many other networks and works with Trezor and Ledger devices. OKX Wallet and TokenPocket also list Solana among many chains. If you already use one of these for Ethereum, a second Solana-only app may not be needed.
See also: MetaMask · Exodus · Zerion · Best software wallets
How to choose
Start with where you will use it. Solana's directory filters wallets by platform. In its September 2, 2026 update, the Solana-native set counted 14 wallets on iOS, 14 on Android and 8 as Chrome extensions, with 9 tagged for hardware support and 4 for multisig. The counts change as listings are added.[1]
Then decide how much you will keep there. For amounts you cannot afford to lose, pair the software wallet with a hardware wallet; Solflare's card lists Ledger and Keystone, and Exodus lists Trezor and Ledger. For frequent trading, compare swap fees: Phantom publishes 0.85%, while Solflare does not publish one.[6]
Finally, review what you approve. A Solana wallet signs whatever transaction the app builds, so read the simulation or warning screen before you confirm.
See also: Best hardware wallets
Priority fees and failed transactions
On busy days a wallet may add a priority fee. Solana computes it as the compute unit price times the compute unit limit, divided by 1,000,000 and rounded up, in lamports, and the whole priority fee goes to the validator.[5]
With the docs' own sample values, a limit of 300,000 compute units at a price of 1 micro-lamport per unit gives 300,000 / 1,000,000 = 0.3, rounded up to 1 lamport. Raising the price to 10,000 micro-lamports on the same limit would add 3,000 lamports, which still totals less than 0.00001 SOL with the 5,000-lamport base fee.[5]
The fee is deducted from the fee payer before execution and is charged even if the transaction fails. A wallet that retries a failing swap five times pays five base fees.[5]
Solana's directory also tags wallets by recovery model: in its September 2, 2026 update, the Solana-native set had 25 self-custody wallets, 1 MPC wallet and 4 with social recovery.[1]
The bottom line
If you only use Solana and want staking plus Ledger or Keystone support, Solflare fits. If you also hold assets on EVM chains, Sui or Bitcoin, Phantom covers them in one app but charges 0.85% on most in-app swaps, so compare that with the fee of a DEX you would use directly before a large trade. Whichever you pick, keep at least 0.003 SOL for fees and new token accounts, which covers one fresh USDC account and a few transfers.[4]
Educational content, not financial advice. Crypto assets are volatile; do your own research.