How Are Crypto Capital Gains Taxed?

Crypto capital gains are taxed on each disposition, at a rate that depends on how long you held the asset. Sell, trade, or spend a digital asset and you have a gain or loss equal to proceeds minus basis; held one year or less it is short-term and taxed at ordinary rates, held more than a year it is long-term and taxed at preferential rates. Moving your own crypto between your own wallets is not a disposition and not a taxable event.

The short version

  • Each disposition (sell, trade, or spend) is a taxable event. Gain or loss equals proceeds minus basis.
  • Short-term (held one year or less) is taxed at ordinary rates. Long-term (held more than a year) is taxed at preferential rates.
  • Basis is your cost plus acquisition fees. Accurate basis is what keeps you from overpaying.
  • You choose lots by FIFO or specific identification, and specific identification requires records that prove which lot you sold.
  • Wallet-to-wallet transfers of your own crypto are not dispositions. Only a change in ownership or a disposal triggers gain.

What counts as a disposition

Because crypto is property (Notice 2014-21), the tax hinges on disposing of it, not on cashing out to dollars. Selling for fiat is a disposition. So is trading one token for another, and so is spending crypto to buy goods or services, even a coffee. Each of these realizes gain or loss against the basis of what you gave up. The move that is not a disposition is transferring your own coins between wallets or accounts you control, because ownership has not changed. Confusing a transfer with a sale is one of the most common ways people invent phantom gains.

Short-term vs long-term

The holding period sets the rate. If you held the asset for one year or less before disposing of it, the gain is short-term and taxed at your ordinary income rates. Hold for more than a year and the gain is long-term, taxed at the lower long-term capital-gains rates. The clock starts the day after you acquired the asset and runs to the day you dispose of it. For assets acquired at different times, each lot carries its own holding period, which is why lot tracking and rate treatment are the same problem.

How to figure basis

Basis is what you have in the asset: generally the amount you paid plus acquisition costs such as fees. For crypto received as income, like staking rewards or airdrops, basis is the value that was already taxed as income when you received it. Getting basis right is the whole game, because gain is proceeds minus basis, and an understated basis means an overstated gain and an overpayment. When you hold multiple lots, you either use FIFO, treating the earliest lot as sold first, or specific identification, choosing the exact lot, which requires records that identify it at the time of sale.

Losses and how they offset gains

Capital losses are not wasted. They offset capital gains of the same character first, and net capital losses can then offset a limited amount of ordinary income, with the remainder carried forward to future years. This is what makes loss harvesting worthwhile, and it is one reason clean records pay off: a loss you cannot document is a loss you cannot use. All of this is reported on Form 8949 and carried to Schedule D, where gains and losses are netted.

What I actually see

The most common error is missing basis. Someone sells after years of activity, cannot produce acquisition records, and defaults to a low or zero basis that overstates the gain. They pay tax on value that was never profit.

The second is the crypto-to-crypto blind spot. People know selling for dollars is taxable but treat token-for-token trades as invisible. Every swap is a disposition, and a year of active trading can hide dozens of unreported events.

The third is confusing transfers with sales. Exchange exports sometimes label an internal move as a disposal, and the holder either reports a gain that did not happen or cannot tell which entries were real sales. The split between transfer and sale has to be maintained deliberately.

Where this goes wrong

The return is built at tax time from exchange CSVs that no longer agree with each other. Basis is guessed, holding periods are approximate, transfers are mixed in with sales, and specific identification is claimed without the records to support it. Each shortcut nudges the gain in a direction nobody can defend. The reliable fix is to track lots, basis, and holding periods as you go, so the return is a summary of records rather than a reconstruction of memory.

The decision rule

  1. Record basis and acquisition date for every lot when you buy or receive it, including fees and income-taxed value.
  2. Treat every disposition as taxable: sales, crypto-to-crypto trades, and spending alike.
  3. Keep your own transfers out of the gain calculation, and label them so exports do not turn them into phantom sales.
  4. Choose FIFO or specific identification deliberately, and keep the records specific identification requires.
  5. Report on Form 8949 and Schedule D, netting losses against gains and carrying forward what is left.

If you cannot state the basis and holding period of what you sold, your capital-gains number is an estimate, and estimates tend to run against you.

Where this sits

Capital gains is where every earlier record either pays off or fails. Specific identification decides which lot and which rate. Reconstructing cost basis is the recovery job when records are thin. Separating transfers from sales keeps phantom gains out of the total. It all reports through Crypto Taxes.

Sources

Related

Last updated: 5 August 2026.

This article is general education, not legal, tax, or investment advice. Tax outcomes depend on your facts, your records, and current law, which is still developing for digital assets. Talk to a qualified CPA about your own situation.

Sources

    Jake Claver

    Written by

    Jake Claver

    Family office professional working on how substantial holdings are held, structured and passed on. Qualified Family Office Professional. Finance degree, University of North Texas. Board member, Arkansas Blockchain Council. Author of Wealth in Numbers and Infinite Banking for Crypto Investors.