Contact Us

What I Expect of a Crypto Gain Service

Most crypto investors find crypto gain calculation services intimidating. 

What I Expect of a Crypto Gain Service

Investors get paralyzed trying to calculate their gain. New clients tell me this regularly. These services assume the taxpayer can resolve unclassified transactions, zero-cost basis sales, and unmatched transfers by themselves.

However, this is not a reasonable assumption. They are investors, not bookkeepers. In this article, I am calling for a higher level of function from these services in terms of ease of use, accuracy, and better report generation.

Why Focus on Out-Of-The-Box Simplicity? 

My benchmark for simplicity is the ‚Äúout-of-the-box‚ÄĚ experience of these services. It should be made as simple as this:

  1. Enter transaction CSVs, APIs, and wallet addresses
  2. Make global tax and calculation settings
  3. Run a reconciliation wizard to ask meaningful reconciliation questions
  4. Print tax and audit reports

I know gain calculation is very complicated. Artificial Intelligence techniques will be needed to create the simplicity needed for a powerful out-of-the-box experience. 

Why Must The Experience Be ‚ÄúOut-Of-The-Box‚ÄĚ Simple?

The IRS will primarily be doing an ‚Äúout-of-the-box‚ÄĚ calculation when they run their calculations of your gains. I have defended dozens of crypto traders in IRS audits.¬†Here is what the IRS does. They give your transaction records and wallet addresses to an outside contractor who does the calculations. The contractor will not resolve unclassified transactions, nor will they fix the missing cost basis or aggressively resolve unmatched transfers. They do a brute force assessment from the data itself, and the taxpayer will have to defend against this.

When taxpayers make an adjustment or reconciliation of the transactions using a crypto gain service, they create discrepancies that will later need explanation during an IRS audit. The IRS will deny adjustments without evidence. In my experience, most traders have no documentary evidence to support their adjustments. 

Better Global Settings Improve the Experience

What are global settings? 

 These are key tax and calculation settings that change the results which are calculated.

The user should be forced to make these settings before being allowed to make manual adjustments. These settings should be clearly available from the main page. Regrettably, many services bury these settings in a tax menu. 

The settings are a list of tax choices that the taxpayer makes about how the service does the calculation. There may be defaults based on which country the taxpayer is reporting in. Some settings may be global, affecting all years. Some settings affect only one tax year, but these should be very clear and easy to set. 

Services should not enforce IRS positions by limiting the taxpayer from choosing minority tax positions. Help screens can explain the impact of the choices and recommend defaults. These options should represent the full diversity of tax choices. 

Here is a non-exhaustive list of possible settings 

  1. Basis selection is used, FIFO, LIFO, HIFO, ZERO, or a proprietary method for selecting which coin is used in a sale. [1]
  2. Single or multiple depots. Sometimes called universal or account. [2]
  3. Treat blockchain addresses (DeFi) as depots separate from CeFi.
  4. Treating airdrops and hard forks as income or as non-taxable events, such as a gift. If not all treated as income, the investor should be allowed to select which tokens are treated as non-taxable events. This allows for gift and wage treatment. [3] [4]
  5. Treatment of mining and staking income as either income or non-taxable events. [5] [6]
  6. Treat futures income as all short-term, all long-term gain, or 60/40 in anticipation of future regulation of exchanges. [7] [8]
  7. These settings should give known security and governance tokens security treatment. 
  8. Enforce a 30-day wash sale rule globally or on selected tokens. [9]
  9. Aggregating multiple trades where the same coin is bought and sold on the same day for high-frequency traders. This helps make Form 8949 manageable.
  10. Treat all NFTs or only selected NFT collections as collectibles subject to a 28% tax. [10] [11]
  11. Allow selecting collections of NFTs as business income rather than investor income. [13]
  12. Treat wrapping of coins as a taxable exchange or not. [12]
  13. Treat liquidity pool deposits and withdrawals as taxable exchange or not. [12] 
  14. Treat yield farms as a separate financial instrument rather than a changing pool of assets.
  15. Treat rebasing tokens as a separate financial instrument rather than a changing pool of assets. 
  16. Allow specifying a tax year start and end date, if not calendar year.
  17. Permit like-kind exchange section 1031 treatment for pre-2018 crypto-to-crypto trades. 
  18. Include transaction fees with the trade information on each entry on Form 8949. 

Reconciliation Should be Automated

After transaction data is loaded and global settings verified, then reconciliation decisions must be made. This is the phase where taxpayers become terrified and don’t know what to do. All gains services need greater automation. This should be a transparent, step-by-step process, such as a reconciliation wizard.

Reconciliations should use artificial intelligence and adaptive learning techniques to make recommendations for treating unknown coins, uncategorized transactions, and zero-cost basis sales. 

The out-of-the-box experience goal encourages getting recommendations correct without having the user override them.  The process should ask straightforward questions, so the user understands what is requested of him. Tweaking of individual trades should be discouraged. 

Generation of Tax Filing Reports

The primary purpose of these services is to generate the documentation required by the IRS. This documentation falls into two categories: what is needed to file a tax return and what is needed to defend the return in an audit. 

These services like to call themselves ‚Äúcrypto tax software,‚ÄĚ which is misleading. None of them calculate taxes. They calculate capital gain and taxable income from crypto investments.¬†

Most taxpayers don’t understand what is required to report their cryptos on their tax returns. Services must do a complete job at providing users with the results they require. This includes:

  • Providing all output files in a single zip file download (not email). Some services require 20-30 mouse clicks to download all reports. It is too easy for the typical user to overlook something.
  • The individual filenames should indicate the tax year, basis method, and the applicable IRS form/schedule name if appropriate.
  • The zip file should include a date and time stamp in the filename to help keep different runs straight. Gains services should include their name in the zip file name because some clients can‚Äôt remember which service they used to file in past years.

Gains services should provide the following tax filing report files to the user in my professional tax opinion

Why is a summary of investment activity needed? 

(1) Because a taxpayer cannot evaluate if the software has done a good job from Form 8949 alone or from a portfolio value displayed in the application. The summary, at a minimum, should list:

  • The income sources such as the exchange API or CSV file names provided; manual transaction uploads; blockchain addresses uploaded.
  • The global settings used.
  • The total portfolio value and inventory of coins at the beginning and end of the year.
  • Other statistics characterize which exchanges and DeFi instruments the taxpayer used during the year. This tells the story of his investment activity during the year.

(2) Forms 8949 and 8824 should be separate CSV files for short-term, long-term, and collectible holdings. Gains services should organize these files to match the columns of the IRS forms and limit the values to two decimal points.

(3) The report of crypto income should be subtotaled and sorted by income type. This is income that would be reported on 1040 schedules 1, B, C, or E.

(4) The estimated maximum balance information needed for the FBAR FinCEN Form 114. This form is due when the tax return is filed. Neither the IRS nor FinCEN have authoritatively excluded cryptocurrency exchanges or networks from a reporting obligation. Failure to file this form when required is a $10,000 penalty. Any exchange or network not clearly U.S.-based should be listed. Gains services should provide this information for the FinCEN 114 form until FinCEN clarifies the reporting regulation. [14]

(5) The IRS has not authoritatively excluded cryptocurrency exchanges or networks from the reporting obligation from The information related to Form 8938. Failure to file this form when required has severe consequences. There is a $10,000 penalty for failure to file; the statute of limitations on auditing a return is suspended, and a 40% accuracy penalty can be assessed if audited. [15] [16] [17]

To complete Form 8938 part V, the gains services need to provide the estimated maximum account balances on all non-U.S.-based crypto accounts. Form 8938 part VI should be an aggregated estimated value of all cryptocurrency financial instruments (including DeFi) used during the year. Gains services should provide this information for Form 8938 until the IRS clarifies the reporting requirement.

Generation of Audit Defense Reports

When a crypto tax return is selected for an audit, the IRS demands many files to verify the crypto gain and income reported. A taxpayer who only purchases the tax filing reports without buying the tax audit reports is wasting money. Usually, in audits, we must recalculate all the gains/income because the original job done by the taxpayer is undefendable. 

Why is the original work undefendable? 

Because they don’t have the original inputs files used to create the reports. Most don’t remember if they did a complete job. They have no record of what tweaks and adjustments they made. Sometimes there is no record of what settings they used. Nor is the service responsible for maintaining these documents.

These audit defense files should be provided as a single zip file via download, not email. At a minimum, these files should include:

(1) All transaction input files. 

This would allow recreating the service results:

  • Exchange transaction files in the original format provided by the exchange.
  • Transactions received via API should be output as a CSV file because API keys are time-sensitive, and the IRS has legal issues handling API keys. The gains service should state that the CSV file is a faithful and accurate export of all the transactions retrieved from the API.
  • All wallet address used for transaction input should be listed.
  • All manual transactions uploaded by file by customer. This would include the uploading of a prior year‚Äôs closing report. This¬†should also include the source of price data and could include initial inventory positions.¬†
  • A list of all blockchain and addresses used to input transactions.¬†
  • All manual adjustments should be output as a file to allow automatic reapplication of the adjustments.

(2) A report showing the cost bases and sources of funds for each detailed line item listed on the 8949 forms. 

  • This report should correspond line-for-line with Form 8949.¬†

The source of funds is what was given up to purchase lots of coins, quantity, price, date, and the exchange. In an audit, the IRS has to prove income (proceeds from sales). The taxpayer is responsible for proving expense (cost basis) and source of funds. This report does that.  The information specified in IRS Virtual Currency FAQ #40 does not satisfy this reporting requirement. 

(3) A beginning and end of the year inventory of lots showing the coin purchase, date, price, initial lot size remaining, lot size, source of funds, and the cost basis.

  • The source of funds¬†is what was given up to purchase lots of coins, the currency, quantity, price, date, and the exchange.

 (4) An inventory of coins at the end of the year. 

  • This inventory is a total of each type of coin by exchange and wallet. The user would use this to reconcile against the actual inventory. The nature of single depot calculation causes the inventory by an exchange to become inaccurate. For several reasons, the inventory counts of coins on exchanges become disconnected from reality. The same way a retail store does a physical inventory count to correct the inventory records, an investor needs to do the same reconciliation.

(5) A report listing the global settings and reconciliation choices used to generate the output files. 

  • Any proprietary method for basis calculation should also include a clear explanation of how that method is applied in this report.¬†

(6) A report to reconcile the 1099-K forms from U.S. exchanges listing the total proceeds, costs, fiat deposits, fiat withdrawals, and the total value of transfers in and out in USD by the exchange. 

  • These reports are needed to resolve CP2000 audits related to exchange 1099-K forms.¬†

(7) The CSV versions of the 8949, 8824, and other income. While these are provided with the tax filing reports, including them again here is essential to keep this in sync with the cost basis and source of funds report. 

  • These should be a format to match the IRS forms.¬†

(8) List of blockchain addresses involved in transfers to and from the taxpayer’s exchanges and wallets. 

  • Auditors have treated transfers from unknown addresses as taxable income. If the addresses are from known exchange addresses, they should be listed as such.¬†

Other Features Which Are Not Mandatory

These gains services offer tax-loss harvesting tools and portfolio monitoring features. However, portfolio monitoring invites users to tweak data throughout the year, introducing errors when the tax is reported. In my professional opinion, it is best to have a separate tool for this purpose or the ability to reverse adjustments made.

A tax loss harvesting tool allows determining when assets can be sold as long-term capital assets for tax purposes. This tool requires that portfolio monitoring be active.

An accounting firm portal to access client accounts should support multiple staff with varied permissions and point-in-time backup and restore ability.


The tax filing and audit defense reports are critical to correctly reporting crypto income and defending in an audit. An out-of-the-box user experience is critical to having a higher success rate using the service.


[1] IRS Virtual Currency FAQ #39

[2] Section 1012(c)

[3] IRS Rev Ruling 2019-24

[4] Chamberlain, David and Mock, Rodney P. and Kisska-Schulze, Kathryn, Disappearing Forks and Magical Airdrops (2019). TAX NOTES FEDERAL, NOVEMBER 4, 2019,

 [5] Sutherland, Abraham, Cryptocurrency Economics and the Taxation of Block Rewards (November 4, 2019). 165 Tax Notes 749 (Part 1; Nov. 4, 2019), 165 Tax Notes 953 (Part 2; Nov. 11, 2019), 

[6] Sutherland, Abraham, Tax Treatment of Block Rewards: A Primer (December 18, 2020).


[7] Section 1(h)

[8] Section 1256

[9] Section 1091

[10] Section 1(h)

[11] Section 408(m)

[12] Section 1222

[13] Section 1221(a)(3)

[14] 31 CFR 1010.350

[15] Section 6038D

[16] Section 6501(c)(8)

[17] Section 6622(j)(2)

About the Author

Clinton Donnelly is the founder of Donnelly Tax Law and CryptoTaxAudit. He is a leading expert on income taxes for crypto traders in the US. He has been preparing crypto returns since 2018, and most of his clients are large traders. Clinton has defended traders over 24 times in IRS audits of crypto income. He has authored five books and is a popular speaker.

CryptoTaxAudit provides tools for the average crypto trader to protect their wealth from the IRS.'s Audit Defense membership guarantees that our experts will defend the member if they are selected for an IRS audit of their crypto income reporting. They also offer a DeFi Tax Benchmark service for individuals, as shown in this report.