The IRS has clarified in their October 9, 2019 virtual currency FAQs (applies retroactively) that virtual currency can be accounted for using either first-in first-out (FIFO) or specific identification (specific ID).*
*highest-in-first-out (HIFO) and last-in-first-out (LIFO) are subsets of Specific ID accounting.
The simplest and most conservative method is FIFO. FIFO means that the first coin that you purchase (chronologically) is the first coin counted for a sale.
With specific identification, you identify exactly which coin is being spent at transaction time. This can be ad-hoc or according to a pattern (e.g., highest-in-first-out [HIFO], last-in-first-out [LIFO], etc.). CoinTracker offers options for automatically accounting by HIFO and LIFO. By default, CoinTracker sets new accounts to HIFO, as this method generally results in the lowest tax bill.
In order to use specific ID, the IRS states the following requirements:
"You may identify a specific unit of virtual currency either by documenting the specific unit’s unique digital identifier such as a private key, public key, and address, or by records showing the transaction information for all units of a specific virtual currency, such as Bitcoin, held in a single account, wallet, or address. This information must show (1) the date and time each unit was acquired, (2) your basis and the fair market value of each unit at the time it was acquired, (3) the date and time each unit was sold, exchanged, or otherwise disposed of, and (4) the fair market value of each unit when sold, exchanged, or disposed of, and the amount of money or the value of property received for each unit."
CoinTracker tax plans generate the detailed records you need to meet the specific ID requirements by the IRS.
In other (non-US) countries:
Australia: the ATO requires specific identification when possible, otherwise FIFO
Germany: follows the same rules as the USA
UK: follows share matching
You can change your cost basis method in the CoinTracker Settings. If you have questions, please consult your tax professional for guidance on your personal situation.
Disclaimer: CoinTracker is provided for informational purposes only. This service is not intended to substitute for tax, audit, accounting, investment, financial, nor legal advice. For financial, tax, or legal advice please consult your own professional. The information on CoinTracker is subject to change without notice. All information is provided "as is." CoinTracker disclaims any responsibility for the accuracy or adequacy of any positions taken by you in your tax returns. Please see our full disclaimer.