Home / Playbook / Post

The Playbook

How to respond to a CP2000 notice for unreported crypto income

CP2000 IRS notices Response

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

1. What a CP2000 is and what it is not: proposed assessment vs. final liability

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

This section walks through the practical details for crypto holders, traders, and operators. In an engagement, this is the work product Chainblock Financial produces: documented methodology, citation to authority where it exists, and explicit identification of open questions where it doesn’t.

Key considerations

  • The specific rule, regulation, or guidance that applies — with citation.
  • Where the guidance is silent and a defensible position has to be taken.
  • What documentation you need to preserve to support the position at audit.
  • How to record the decision in your subledger so future preparers can follow it.

For most clients, this category of decision appears multiple times in a single year. Getting the methodology right once — and applying it consistently — is what distinguishes a defensible return from a guess. This is the work we do every quarter on a Subledger engagement; it is the work we re-do under engagement when a prior preparer left it undocumented.

2. Why crypto CP2000s are almost always overstated: the gross proceeds problem

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

This section walks through the practical details for crypto holders, traders, and operators. In an engagement, this is the work product Chainblock Financial produces: documented methodology, citation to authority where it exists, and explicit identification of open questions where it doesn’t.

Key considerations

  • The specific rule, regulation, or guidance that applies — with citation.
  • Where the guidance is silent and a defensible position has to be taken.
  • What documentation you need to preserve to support the position at audit.
  • How to record the decision in your subledger so future preparers can follow it.

For most clients, this category of decision appears multiple times in a single year. Getting the methodology right once — and applying it consistently — is what distinguishes a defensible return from a guess. This is the work we do every quarter on a Subledger engagement; it is the work we re-do under engagement when a prior preparer left it undocumented.

3. Building your response: documentation standards and format

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

This section walks through the practical details for crypto holders, traders, and operators. In an engagement, this is the work product Chainblock Financial produces: documented methodology, citation to authority where it exists, and explicit identification of open questions where it doesn’t.

Key considerations

  • The specific rule, regulation, or guidance that applies — with citation.
  • Where the guidance is silent and a defensible position has to be taken.
  • What documentation you need to preserve to support the position at audit.
  • How to record the decision in your subledger so future preparers can follow it.

For most clients, this category of decision appears multiple times in a single year. Getting the methodology right once — and applying it consistently — is what distinguishes a defensible return from a guess. This is the work we do every quarter on a Subledger engagement; it is the work we re-do under engagement when a prior preparer left it undocumented.

4. Calculating your actual liability against the IRS’s proposed figure

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

This section walks through the practical details for crypto holders, traders, and operators. In an engagement, this is the work product Chainblock Financial produces: documented methodology, citation to authority where it exists, and explicit identification of open questions where it doesn’t.

Key considerations

  • The specific rule, regulation, or guidance that applies — with citation.
  • Where the guidance is silent and a defensible position has to be taken.
  • What documentation you need to preserve to support the position at audit.
  • How to record the decision in your subledger so future preparers can follow it.

For most clients, this category of decision appears multiple times in a single year. Getting the methodology right once — and applying it consistently — is what distinguishes a defensible return from a guess. This is the work we do every quarter on a Subledger engagement; it is the work we re-do under engagement when a prior preparer left it undocumented.

5. Submitting the response: timing, format, and what to do if the IRS disagrees

A CP2000 is a mismatch notice, not a formal audit. It proposes additional tax based on information returns the IRS received that don’t match the return you filed. For crypto, this most commonly happens when exchange 1099s report gross proceeds without cost basis, making every disposal look like 100% gain. This post walks through the response process, how to document your actual cost basis, how to dispute an inflated proposed liability, and what the response should say.

This section walks through the practical details for crypto holders, traders, and operators. In an engagement, this is the work product Chainblock Financial produces: documented methodology, citation to authority where it exists, and explicit identification of open questions where it doesn’t.

Key considerations

  • The specific rule, regulation, or guidance that applies — with citation.
  • Where the guidance is silent and a defensible position has to be taken.
  • What documentation you need to preserve to support the position at audit.
  • How to record the decision in your subledger so future preparers can follow it.

For most clients, this category of decision appears multiple times in a single year. Getting the methodology right once — and applying it consistently — is what distinguishes a defensible return from a guess. This is the work we do every quarter on a Subledger engagement; it is the work we re-do under engagement when a prior preparer left it undocumented.


This is the work we do.

Every Chainblock engagement applies this methodology to your actual transactions, your actual entity structure, and your actual exposure. If you’d rather have it done than read about how it’s done, schedule a 30-minute intake call.

Schedule a call

Similar Posts