If you made money in cryptocurrency as a US citizen, you must report your income to the IRS and pay taxes on it.
Figuring out what your income is can be tricky, especially when you are trading cryptocurrencies directly for other cryptocurrencies (e.g., trading bitcoin for litecoin rather than trading bitcoin for dollars).
This article examines how to calculate how much you made on cryptocurrency and what information you will need to provide to your CPA or for preparing your taxes yourself.
If you are a US citizen and you make money, you owe taxes on it. If you don’t tell the IRS that you made money on cryptocurrency trading and they later find out, you may have to pay back taxes, interest, and penalties and, in certain cases, you may be subject to criminal penalties.
If you’re wondering how the IRS could ever find out that you made money in cryptocurrency trading, the IRS recently served a summons on the leading exchange Coinbase to obtain all of their transaction records within a particular period of time. If you traded through Coinbase during the relevant period, the IRS knows about it. They are likely to continue to gather trading information from the exchanges, and many believe they will bring the hammer down on people who have failed to report cryptocurrency gains.
This blog post will introduce you to the basics of cryptocurrency taxation and will help you identify what information you need to gather in order to properly report your gains to the IRS. Gathering this information in advance and giving a list of your trades to your CPA will reduce the costs of having your taxes done or the time you’ll spend doing your taxes if you’re using something like TurboTax.
The Simple Case: USD to BTC and Back Again
The good news: when you buy bitcoin or any other coin directly with dollars through Coinbase, you do not owe any taxes. Buying bitcoin is not, in tax parlance, a “taxable event”. You should keep a record of your purchase,1 since the number of dollars you paid for it will be important when you sell the bitcoin.
The bad news: when you sell your bitcoin for dollars, that is a so-called taxable event and, if the price of bitcoin has increased since you purchased it, you will owe taxes. How much you owe depends on a few things.
First, you’ll need to figure out how much money you made on these trades. The amount of money you made is called your “gain”. You are taxed on your gain. Figuring out the amount of your gain is really the toughest part of this whole exercise.
If you buy 1 bitcoin for $7,000 and sell it a month later for $10,000, your gain is $3,000. This is a pretty simple example, so the fact that you made $3,000 might be obvious. But, to break it down, in tax parlance this means you have a $7,000 “basis” in your bitcoin. Your basis is what the asset cost you. Here, the asset is bitcoin and it cost you $7,000 to buy it.
When you sell your bitcoin for $10,000, that is your “amount realized”. The amount realized is how much you sold the asset for.
Gain equals the amount realized minus basis. This fundamental equation is important, so I’ll say it again. Gain equals amount realized minus basis.
In this case, gain equals $10,000 (amount realized) minus $7,000 (basis). Your gain is $3,000.
Rigorously identifying basis and amount realized and subtracting the two may seem pedantic. But thinking in the discrete terms of gain, amount realized and basis will be crucial in more complex situations.
Here is a slightly more complex example. If you buy 1 bitcoin for $7,000, a week later you buy 1 more bitcoin for $8,000, and a week after that you sell 1 of your 2 bitcoins for $10,000, how much money did you make? What is your gain?
Gain equals amount realized minus basis.
The amount realized, plainly, is $10,000 since that is the amount you sold your bitcoin for. But is your basis $7,000 or is it $8,000? That depends on which bitcoin you sold, since you paid different prices for each of them. You want to have sold your second bitcoin. A higher basis means your gain will be lower. And lower gain means a less amount of income to tax. Since bitcoins are all the same, how can you “choose” which one you are selling?
There are two basic approaches to choosing which bitcoin you are selling, and by extension, which basis you are using. The first is “first-in first-out”, also known as “FIFO”. In this approach, you sell the oldest bitcoin you have available. If the value of an asset is increasing, FIFO is a relatively conservative approach that will generally result in lower basis and therefore higher gains and taxes.
The other approach to choosing which bitcoin you are selling is called “specific identification”. With this, you specifically trace which asset you are selling, usually with a view to minimizing your gains.2
The specific identification approach is generally better in terms of reducing your taxes, since you can choose to sell bitcoins that have a higher basis. But it requires significantly better recordkeeping and will increase the time or cost of the preparation of your taxes.
The IRS has not issued any guidance about whether any method is required for cryptocurrency gains, so it is possible that they may mandate the use of FIFO or some other method. If you want to be conservative and avoid the risk that the IRS disallows the specific identification method, go with FIFO, even if it means paying more taxes in the short term.
What is the tax rate?
Now you know what your gain is, i.e., you know how much money you made when you sold your bitcoin. How much do you owe in taxes?
This depends on if you held the coin for more than a year. If you did, you get what’s called the “long term capital gains” tax rate. If you did not, you must pay the (sometimes significantly higher) “short term capital gains tax rate”.
The short term capital gains tax rate is just your ordinary income tax rate which, in 2018, ranges from 10% to 37% depending on your overall income from the year.
The long term capital gains tax rate ranges, in 2018, from 0% to 20%, depending on your overall income from the year. As you can see, the difference between short term and long term capital gains treatment can make an enormous difference in the overall performance of your portfolio in a particular year.
This short term versus long term capital gains tax rate issue dovetails with the FIFO versus specific identification methods described above for identifying the basis in your bitcoin. Although use of the FIFO method may increase the amount of gain you report, it may also avail you of the long term capital gains rate since you would be selling an asset you have held for a longer period of time.
If you have a significant amount of money invested in cryptocurrency, it would be a good idea to ask a CPA to analyze your trades to determine the best approach for calculating basis in light of the differences between short term and long term capital gains rates.
The Complicated Case: Altcoin Trades
A more complex tax situation occurs if you trade one cryptocurrency directly for another on an exchange (e.g., like Binance). Up until the end of 2017, many believed that such coin-to-coin trades were not taxable events and that only trades of coin-to-dollars (or other government-backed currency) were events that needed to be reported on your tax return.3
This way of thinking was attractive because it meant that you really only needed to track what Coinbase reports: the dollar amount you paid for coins, and the dollar amount you sold it for. And, you only needed to worry about reporting anything to the IRS or paying taxes if you ultimately ever sold any coins back to dollars.
Ths IRS has never blessed this approach, and the Republican tax bill signed into law at the tail end of 2017 makes clear that it is not acceptable.
Thus, you will need to understand how to report each and every coin-to-coin trade.
The basic principle is this: trading one coin for another is like selling the first coin for dollars and then immediately buying the second coin with dollars.
Take the example of exchanging a bitcoin for a litecoin. If you buy 1 bitcoin for $7,000. Then, one month later, you exchange 1 bitcoin for 100 litecoin. What is your gain?
Gain equals amount realized minus basis.
Determine Amount Realized
The amount realized is how much you sold your bitcoin for. The key is that the amount realized must be in dollars. You sold your bitcoin for 100 litecoins, not dollars. It follows that the amount realized is the dollar value of 100 litecoins. The dollar value of a litecoin is called the “fair market value”. To obtain this fair market value of litecoin, you’ll need, essentially, the dollar price of litecoin at the time of the exchange. You can find historical prices for cryptocurrencies on websites like Coinmarketcap.4
You may have also realized that there is another way to obtain the amount realized. The fair market value of bitcoin is the dollar value of what you received when you sold your 1 bitcoin. Since you sold 1 bitcoin for 100 litecoin, the fair market value of bitcoin should exactly equal the fair market value of 100 litecoin.5 Therefore, if you can determine the value of 1 bitcoin at the time of the exchange or the value of 100 litecoins of the time of the exchange, you’ve found your amount realized.
In this case, if the fair market value of a bitcoin is $10,000, that would be your amount realized. The fair market value of litecoin should also be very close to $100, since 100 of those $100 litecoins should equal the value of a $10,000 bitcoin. However you slice it, your amount realized is $10,000.
The basis in this case is easy to find. It’s what you paid for your bitcoin back when you bought it. In this example you paid $7,000. That’s your basis in your bitcoin.
If you have multiple bitcoins with different bases, see the discussion above regarding FIFO vs specific identification to determine the basis in your bitcoin. In this case, it is simple since there is only 1 bitcoin with a basis of $7,000.
If your amount realized is $10,000 and your basis is $7,000, subtract basis from amount realized to calulcate the gain. Doing the math, your taxable gain on your trade of 1 bitcoin for 100 litecoins is $3,000.
Take note of the fact that you owe taxes on $3,000 of gain even though you never actually received any dollars, you only received litecoin.
Basis in the New Litecoins
If you later sell your litecoins for dollars or trade them in another coin-to-coin trade, you already know how to calculate the amount realized on that trade – the fair market value of the litecoins sold or the new coins purchased. But what is the basis in the litecoins you sold or traded?
The answer is that your new litecoins have the basis of their fair market value at the time they were acquired. If you obtained them back when you traded 1 bitcoin for 100 litecoins, your 100 litecoins have a basis of $10,000 or, each litecoin has a basis of $100. This is, of course, the amount realized in that earlier trade. In other words, the amount realized from the transaction where you acquired the litecoins becomes the basis of your litecoins for the next time you transact with those litecoins.
This may seem complicated, but if you stop and think about it, it should make intuitive sense. If the basis in your new litecoins were any lower, you would end up reporting more income than you actually made on your trades and would pay taxes on money you never made.
A large part of your recordkeeping is keeping track of the basis of your coins and how it changes as you trade coins with other coins.
If this all seems very complicated to you or if you have a complicated history of cryptocurrency trades, it may make the most sense to engage an experienced CPA to help you prepare your taxes. The CPA will need a record of your cryptocurrency trades to figure out the gain on your trades and the amount of tax you owe. If you’d prefer to prepare your taxes yourself using something like TurboTax, you will still need a list of your trades. You can produce this list by hand in a spreadsheet or use some of the free options out there like bitcoin.tax or cointracking.info.
To help me with my own taxes, I have been working on an open source cryptocurrency portfolio and tax analyzer nicknamed “mistbat” that pulls your trades from the various exchanges to help produce this tax report for you an your CPA.6
If you have filed your tax return for 2017 or a prior year and did not properly report income from your cryptocurrency trades, consult with a CPA about whether it makes sense to file an amendment to your tax return to avoid additional problems down the road.
In a future blog post, we’ll examine how blockchain fees and Coinbase fees impact the tax landscape. We’ll also look at how to treat coins for which you’ve lost the private key, coins which have been stolen, and coins that you spend on goods and services.
If your recordkeeping was less than stellar, Coinbase should have the ability to produce a report of your trades for you. ↩
There is a third approach called “average cost” where you do not identify specific assets that you are selling; rather you average the basis of your assets at the time of the sale. If you use this approach you are locked into it for future years. It is not yet clear that the IRS allows this approach to be used for cryptocurrencies. ↩
The theory behind this was that a trade of, say, bitcoin into litecoin is a “like-kind exchange” under the tax code, and you do not recognize taxable gain at the time of the trade. Instead, you would now own the litecoin with a basis equal to the basis you had in your former bitcoin: the basis would “carry over”. When you ultimately sold your litecoin back into dollars, you would use that carried-over basis to calculate your gain. ↩
The historical prices reported on most sites like Coinmarketcap only report daily open, close, high, and low. It is difficult to find minute-by-minute (or even hour-by-hour) prices for coins. Taking a reasonable estimate (perhaps the midpoint of the high and low for that particular day if that day was not volatile) is likely to be sufficient for tax reporting purposes. ↩
If the fair market value of 1 bitcoin did not exactly equal the fair market value of 100 litecoins, you would not be able to (or it would be irrational for you to) make that particular trade. This ignores the relatively small impact of transaction fees and exchange arbitrage opportunities. ↩
If you are a developer, pull requests are very welcome. ↩