Solana Tax Guide

Alex
Alex15 min read
Verified
Solana Tax Guide

Solana Tax Guide

The 2024 bull run was a historic year for Solana, which cemented itself as the de facto home not just for memecoins, but innovation, speed, great UX, and cutting reply guy remarks from Twitter heavyweights on a daily basis. If you used Solana in the past 2 years, chances are you’ve got a lot of transactions to sort through, and Awaken is here to help.

In this guide, we'll walk through the tax implications of popular Solana activities—airdrops, swaps, providing liquidity, staking, and more. We'll also cover exactly how to handle these transactions in Awaken, how we help you stay compliant, and tips for troubleshooting common reporting issues.

Airdrops

If you had any activity on Solana in the past year, you’re nearly guaranteed to have received at least a couple of airdrops. Some of the biggest in 2024 include Kamino, Drift, Jupiter, WEN, Wormhole, and PENGU, to name a few.

How are Airdrops Taxed?

  • Airdrops are considered taxable income. This means you'll owe taxes based on the total USD value of your airdrop at the time you claimed it.

How to Report Your Airdrops with Awaken Tax

  1. Find Your Airdrop Transactions

    • Search for the ticker of the token received on the transactions tab.

    • Order your transactions by date.

    • Open the initial transaction when you first received the tokens.

  2. Apply the Airdrop Label

    • Select “Airdrop” from the drop-down menu in the bottom left of the transaction.

  3. Confirm the Correct Cost Basis

    • Ensure that the cost basis matches the exact USD value of the tokens at the time you claimed your airdrop.

    • If the value is incorrect:

      • Hover over “more” next to the ticker symbol and select "edit transfer."

      • Enter the claimed tokens' total USD value in the “fiat” field.

By carefully following these steps, you'll ensure your Solana airdrops are accurately reported.

Swapping

Awaken handles more than 99% of swaps automatically, without requiring any manual work from the user.

Labels

  • “Coin Swap” refers to transactions where you send one token and receive another in the same transaction.

  • “Coin Buy” is used only for transactions where you receive a token, but don’t send one in return. This happens occasionally, particularly on cross-chain swaps.

  • “Coin Sell” applies in the opposite situation, when you send but don’t receive anything. If you have a “Coin sell” transaction, there should be a requisite “Coin buy” transaction.

How are Token Swaps Taxed?

  • Swaps involve both a sale and a purchase: When you trade one token for another, you're effectively selling the first token and buying the second.

  • The new token's cost basis is equal to the USD value of the token you sold at the exact time of the swap.

Calculating Profit and Loss

  • Profit or loss from the swap is determined by comparing the sale price of the token sold to its original cost basis.

  • Formula: Profit/loss = sale price - original cost basis

Short-term vs. Long-term Capital Gains

  • Short-term gains: tokens you held for less than 1 year.

  • Long-term gains: tokens you sold after holding for more than 1 year.

  • In most countries around the world, short-term gains are taxed considerably higher than long-term gains. In the US, short-term gains are taxed as high as 37%, while long-term gains are only taxed at 20% or less, depending on your income.

Troubleshooting Swaps Checklist

✅ Verify all swaps labeled “Coin Swap.”

✅ Double-check bridging transactions (ensure token IDs match).

✅ Confirm correct timestamps and USD valuations.

Tracking Cost Basis & Resolving Errors

On the rare occasion that a swap is mispriced or incorrectly identified as short-term gains rather than long-term gains, it usually means there is an error in tracking your trading history of the token.

To identify any potential missing data

  1. Navigate to the transactions tab, click the search bar, and type the ticker symbol into the “Assets” drop-down menu.

  2. Double-check each trade’s cost-basis and sell price. This includes all transaction types, including buys, receives, and airdrops. Pay close attention to bridging transactions and transfers between a CEX account and a private wallet.

  3. If you a transaction has no cost-basis, or is pulling cost-basis data from incorrect prior transactions, that needs to be corrected.

  4. You can edit the cost-basis manually by typing in the correct USD value, but it’s usually better to correct the underlying cause instead.

Possible causes

  1. Erroneous labels. Sometimes changing labels manually can trip up Awaken. If you manually labeled any of the prior transactions, the first step is to delete the label and recalculate your account.

  2. Tokens not linked. If you bridge your tokens from one chain to another, or send them from a CEX to a private wallet, they may be accidentally interpreted as different tokens. To double-check this, hover over “more” and select “edit asset” in each transaction. Make sure the token name, ticker, and coingecko ID at the bottom all match. If you need to make any corrections, recalculate your account afterwards.

Providing Liquidity

Liquidity pools are pairs of tokens deposited into a pool and used to trade against each other. They are the foundation of decentralized exchanges. If you’ve ever traded on a DEX like Orca, Jupiter, or Raydium, your trades were facilitated by underlying liquidity pools.

Providing liquidity, or “LPing,” is when users deposit tokens into these pools and earn trading fees proportional to their deposit.

Labels

There are two types of labels for adding and removing liquidity, and each has different tax implications.

  1. “Add/Remove Liquidity Swap.” This label refers to transactions where you receive a placeholder NFT that represents your deposit. You receive it when you deposit, and you return it when you withdraw.

  2. “Deposit/Withdraw Liquidity.” Use these labels when you don’t receive a placeholder NFT representing your deposit.

How LPing is taxed

Depositing into a liquidity pool and receiving liquidity provider (LP) tokens in return is considered a taxable event in the US, and is taxed like a swap. The gain or loss is calculated based on the difference between the deposited assets' original purchase price (cost basis) and their USD value at the time of deposit.

When you withdraw your tokens from the pool, the gain/loss is calculated by deducting the total USD amount withdrawn from the total amount deposited. So if you deposit SOL and USDC into a pool, and the SOL increases in value by 20%, the extra 20% is considered capital gains.

If your position is not represented by a placeholder NFT, depositing and withdrawing the principal is not considered a taxable event.

Rewards

Any rewards that you earn for your LP position are considered taxable income. This is functionally the same as interest earned in a bank account. In some cases, rewards are withdrawn separately and are easy to calculate. In others, they are withdrawn at the same time as your deposit, and need to be manually calculated.

Troubleshooting LP Transactions

✅ Occasionally, Awaken may mistakenly label a withdrawal as rewards income. Always review your LP withdrawals and correct this error if you find it.

✅ If you see this bug, click the pencil icon next to the income field, and write in the correct USD value of only the rewards earned from the transaction.

Jupiter

Jupiter is Solana’s most popular aggregator for token swaps, offering DCA (dollar-cost averaging), limit orders, and standard token swaps.

How it's taxed

  • Swaps: Taxed as described above under token swaps.

  • Limit Orders: Taxable at the moment your order executes, not when placed. Unfulfilled orders are non-taxable.

  • DCA: Each automated purchase is considered an individual buy event, setting a unique cost basis.

How to report in Awaken

Jupiter swaps are handled automatically. Limit and DCA orders should be double-checked for accurate execution timestamps.

Troubleshooting DCA & Limit Orders

✅ Verify that all timestamps and USD values are accurate

✅ Ensure that cancelled and unfulfilled limit orders are either deleted or labeled “non-taxable”

Staking Rewards & MEV

Staking Deposits: Typically, standard staking deposits (locking SOL directly) aren't taxable events in the U.S. However, liquid staking swaps (trading SOL for LST tokens) are taxable because you're exchanging one token for another.

Labels

  • “Staking Deposit/Unstaking Withdraw” refers to classic staking, where you lock your tokens with a validator and receive rewards. These transactions are not taxable events.

  • “Claim Rewards” refers to transactions where you received your staking rewards. These transactions are taxed as earned income.

  • “Staking Swap/Unstaking Swap” refers to trading your SOL for LSTs like JitoSOL. These transactions are taxed as swaps, so you will incur capital gains/losses.

Troubleshooting Staking

✅ Occasionally, Awaken may mistakenly label a staking withdrawal as rewards income. Always review your staking withdrawals and correct this error if you find it.

✅ If you see this bug, click the pencil icon next to the income field, and write in the correct USD value of only the rewards earned from the transaction.

NFT Trading

NFT trades are taxed just like regular token swaps, and are treated the same way in Awaken.

Every time you trade an NFT, you sell one asset and acquire another. The total gain/loss is calculated based on the cost basis at the time of purchase. The same rules apply for short-term and long-term gains as well.

Labels

  • NFT Buy” refers to transactions where you trade SOL, USDC, or another crypto token for an NFT.

  • “NFT Sell” refers to selling the NFT and receiving a crypto token in return.

  • “NFT Swap” refers to trading one NFT for another.

Handling Unfulfilled or Cancelled NFT Bids

If you place a bid on an NFT, but your order isn't filled (the NFT is not acquired), both the bid and the cancellation transaction can be labeled as "non-taxable." This will remove any tax implications for these transactions.

Perps/Futures Transactions

Awaken tracks perps/futures trades by tallying the total value of all open positions as buys, and the total value of all closed positions as sales.

Labels

  • “Open Position” refers to the transaction where you open a trade.

  • “Close Position” refers to closing the transaction.

For example, if you open a 5x long of SOL at a total value of $500, our system calculates this as an expense, or a $500 loss. If you close the position at a total value of $750, it will be calculated as a $750 profit. Together, the transactions will equate to a $250 gain.

Troubleshooting Perps/Futures

✅ It is important to go through your entire transaction history and make sure labels are correctly applied.

✅ If you find any discrepancies or believe your total calculation isn’t accurate, please reach out to us.

Limitations of Tracking Perps/Futures Trades

Wherever possible, we recommend handling your perpetual and futures transactions outside of Awaken. Ideally, you will be able to download your tax reports directly from the platform where you executed these trades.

Understanding perps/futures trades by parsing on-chain data is extremely difficult, and these trades can confuse our system and cause miscalculations.

Many perps/futures platforms generate your trading data for you, and some allow you to download your tax documents directly. These platforms have your full transaction history, making it much easier to calculate your tax obligations. If you use a platform that doesn’t provide your tax documents, let them know they should!

Summary

At Awaken, we aim to make doing your taxes an easy, pain-free process. Follow this guide to simplify your taxes, and always feel free to contact our Awaken support team if you encounter any issues. We're here to ensure your tax reporting is accurate and stress-free!

Solana Tax Guide