Solana is fast, cheap, and home to a lot of DeFi, NFT and memecoin activity. It's also one of the hardest chains to put a tax report together for, and the reason is worth understanding before you start.
A single Solana transaction can do several things at once, and what those things mean depends entirely on which app you were using. Read without that context, everything flattens into money in and money out. That's how depositing into a lending app gets recorded as a sale you never made, and how getting your account deposit back looks like income you never earned.
Kryptos reads Solana app by app. It recognises which one you were using and labels the transaction with what happened, so the right tax treatment follows. Here's what that covers.
What you get out of the box

Pick your import method.
On Solana
- Open your Solana wallet. Phantom, Solflare and Backpack all work.
- Copy your wallet address.
- Do the same for every wallet you've used, including any you used once for a single mint. Solana apps hold your funds in accounts linked to your wallet, so a missing wallet means a missing position.
On Kryptos
- Go to Kryptos.io and sign up with your Google account.
- From the menu, click Integrations.
- Click Add Integration and search for Solana.
- Click the Solana icon, then choose Import using Address.
- Give the wallet a name, paste your address, and click Import Your Transactions.
Solana apps Kryptos reads
Each of these is recognised on sight, so the transaction gets labelled with what happened rather than guessed at.
Trading
- Jupiter, including recurring buys, limit orders and its perps
- Raydium, both its pools and its launchpad
- Orca, including liquidity and farms
- Meteora, across its different pool types
- Serum, Saber, Step Finance, SolFi, DFlow, Lince Finance, OKX and STEPN's exchange
Lending and borrowing
- Kamino, lending and vaults
- MarginFi
- Solend and Save Finance
- Drift, alongside its perps and vaults
- Jupiter Lend
- Tulip, Francium leveraged farming, and Apricot
Staking
- Staking SOL directly, including rewards and claims
- Marinade liquid staking
- Pyth staking
- Quarry and Sunny farms
- ORE mining, Nosana and Helium rewards
Perps and options
- Drift
- Jupiter Perps
- PsyOptions and Synthetify
NFT marketplaces
- Magic Eden
- Tensor, including compressed NFTs and trades
- Metaplex mints
- Solanart, SolSea, Alpha Art, DigitalEyes, Foxy and Bonfida auctions
Memecoins and launchpads
- Pump.fun and PumpSwap
- Moonshot and Boop.fun
- Presales and new pools
Moving between chains
- Wormhole
- Mayan
- deBridge
Payments and shared wallets
- Streamflow payment streams
- Vesting schedules and Bonfida claims
- Squads shared wallets
Generating your report
Open Reports from the menu, choose what you need and download it. Kryptos applies the rules for the country you've set. For how DeFi and staking income are treated where you file, see the USA crypto tax guide or the UK crypto tax guide. If you've moved funds between Solana and Ethereum, adding your Ethereum wallet lets both halves match up.
Manage your Solana portfolio with Kryptos.
Labelled by app, not guessed at
The same transaction shape can be a trade, a deposit or a reward depending on which app you used. Kryptos recognises the app, so a Jupiter route is a trade, a Marinade deposit is a stake, and a Kamino withdrawal isn't mistaken for income.
Memecoin volume without the mess
Pump.fun and PumpSwap generate a lot of small trades in a hurry. Each one is still a disposal that needs a value attached. They come through labelled rather than landing as a pile of unknown transfers.
DeFi positions that add up
Lending on Kamino or MarginFi, farming, staking with Marinade: putting money into an app isn't selling it, and what comes back is income. Getting that split right is the difference between a report you can file and one you redo by hand.
Audit-ready, automatically.
Once your wallets and exchanges are connected, generating a tax report takes a single click. Open Reports from the menu, choose your jurisdiction, and download.
Depositing isn't selling
Supplying assets to a lending app moves them, but you keep the exposure. Recorded as a trade instead, every deposit would create a gain that never happened. Reading the app is what prevents that.
Staking rewards are income
Rewards from staking, whether direct or through Marinade, count as income at what they were worth when you got them. Liquid staking adds a wrinkle: the token you hold in return is a separate asset from the SOL behind it.
Account deposits coming back aren't income
Closing a Solana account returns the small deposit you paid to open it. It arrives looking like a payment, but it's your own money coming back.
Moving between chains isn't a sale
Wormhole, Mayan and deBridge move assets between Solana and other chains. You still own the asset, so the two halves are matched up rather than counted as a sale on one side and a purchase on the other.
Read-only by design.
- Kryptos only ever needs your public wallet address
- A public address is read-only. It can't move or spend anything
- We never ask for your recovery phrase or private key
- Remove a wallet whenever you like, and its data goes with it
If something doesn't sync.
Add every wallet that touched it. Solana apps hold your funds in accounts linked to your wallet, so a missing wallet means a missing part of the position.
Solana wallets receive unwanted tokens sent by strangers. They show up, but they don't belong in your cost basis and you can exclude them.
Copy the whole thing straight from your wallet app, with no spaces at either end.
Still stuck? Email support@kryptos.io or open live chat from the app.
