Standard IRS crypto audit document request response


IRS Crypto Audit Document Request Response Packet (Standard Outline)

  • Taxpayer name
  • Last 4 of SSN/EIN
  • Exam year(s)
  • IRS notice/IDR number (if provided)
  • IRS examiner name + group (if known)
  • Date of submission
  • Prepared by (firm name + POA name)

Label: “Response to IRS Information Document Request (IDR) – Virtual Currency”


1) Table of Contents

Example:

  1. Cover Letter
  2. Summary of Crypto Activity (Audit Narrative)
  3. Transaction Reports (Gains/Losses)
  4. Cost Basis Support & Methodology
  5. Income Items (Staking/Mining/Airdrops)
  6. Exchange Statements & 1099s
  7. Wallet Records / On-Chain Transfers (Limited)
  8. Fiat In/Out & Bank Tie-Out
  9. Supporting Exhibits / Notes

2) Cover Letter / Attorney Transmittal Letter (1–2 pages)

Include:

  • Scope: “This packet responds to IDR dated ___ for TY ____.”
  • What’s included vs. excluded
  • Explanation of how records were produced
  • “If additional documents are needed, please identify the specific items requested.”

Key language to use:

  • “Produced pursuant to the IDR”
  • “In summary format, with source records available upon request”
  • “Transfers were separately identified as non-taxable where applicable”
  • “Method used: FIFO / Specific ID / etc.”

Goal: cooperative but controlled.


3) Audit Summary (Crypto Activity Narrative) (1–3 pages)

A plain-English summary an agent can understand.

Include:

  • Where the taxpayer bought/sold (exchanges used)
  • Whether they used:
    • DeFi
    • staking
    • NFTs
    • mining
  • How many wallets (just count, don’t overshare addresses unless requested)
  • Whether they moved crypto between exchanges/wallets (transfers)
  • How reporting was prepared (software + reconciliation process)

Add a 5–10 line bullet list:

  • Total disposals
  • Total proceeds
  • Total gains/losses
  • Total crypto income (if any)
  • Notes on any limitations (missing cost basis, lost records, etc.)

4) Gains/Losses Detail (Form 8949 Support Package)

This is the core deliverable.

Submit:

  • Form 8949 detail report (transaction-level)
  • Schedule D summary tie-out
  • A reconciliation page showing:
    • totals in report = totals reported on return

Best practice formatting:

  • Group by:
    • short-term vs long-term
    • exchange/source (Coinbase vs Kraken etc.)
  • Show columns like:
    • Date acquired
    • Date sold/disposed
    • Proceeds
    • Cost basis
    • Gain/loss
    • Notes (transfer, missing basis flag, etc.)

Goal: make it easy to match to the filed return.


5) Cost Basis Methodology & Substantiation (1–5 pages)

Submit:

  • One page explaining:
    • accounting method (FIFO, specific ID)
    • treatment of fees
    • handling of transfers
  • Summary of basis sources:
    • exchange trade confirmations
    • CSV exports
    • imported API history

Optional but strong:

  • “Basis Integrity Report”
    • list of transactions with “missing basis”
    • what was done to reconstruct it (if applicable)

⚠️ If basis is partially reconstructed:

  • describe the reconstruction process carefully
  • don’t over-claim certainty

6) Crypto Income Support (if applicable)

Use separate sections for clarity:

6A) Staking Rewards

Submit:

  • staking reward report by platform
  • total by year
  • how FMV was computed (timestamped prices or platform values)

6B) Mining (if business-like activity)

Submit:

  • income totals
  • expense summary (if Schedule C)
  • wallet deposits from pool (if available)

6C) Airdrops/Promos/Referral Bonuses

Submit:

  • issuer/platform report or exchange credit history

✅ Keep the income section distinct from capital gains.


7) Exchange Account Records

Submit:

  • End-of-year / annual statements (if available)
  • CSV exports for:
    • trades
    • deposits/withdrawals
  • Any 1099s received:
    • 1099-B
    • 1099-MISC
    • 1099-K (if any)
    • 1099-DA (if applicable)

Include a mini reconciliation page:

  • 1099 proceeds compared to reported proceeds
  • explain differences (transfers, internal movement, duplicate counts)

✅ IRS agents love reconciliations.


8) Wallet / On-Chain Support (Provide Only What’s Needed)

This is where people overshare.

Submit (clean + limited):

  • Wallet transaction logs only for relevant addresses
  • A transfer schedule showing:
    • date
    • asset
    • amount
    • from/to (masked or labeled)
    • TX hash (if requested)

Optional: blockchain explorer screenshots for a few key transfers if questioned.

⚠️ Do NOT dump full wallet history unless IDR requires it.
Instead provide:

  • “Wallet Transfer Summary Exhibit”
  • offer to expand if the agent identifies specific transfers needing proof

9) Fiat In/Out Tie-Out (Bank Reconciliation Summary)

The IRS often checks if crypto proceeds hit bank accounts.

Submit:

  • A spreadsheet summary:
    • exchange USD withdrawals to bank deposits (dates + amounts)
    • large deposits explained
  • Only the relevant bank statement pages that show the deposits/withdrawals tied to exchanges (highlighted)

✅ Best practice: label as “Exhibit – Fiat Flow Tie-Out.”


10) Issues Log / Exceptions (Optional but Powerful)

If something is imperfect, don’t hide it—control it.

Submit:

  • “Exceptions & Limitations Disclosure”
    • missing early exchange records
    • lost wallet access
    • unsupported basis on certain coins
    • stale tokens / chain migrations

Tone: factual and calm.


11) Exhibit Binder (Organized Attachments)

Suggested naming convention:

  • Exhibit A – Gains/Losses Report (8949 detail)
  • Exhibit B – Schedule D tie-out
  • Exhibit C – Cost Basis Methodology memo
  • Exhibit D – Exchange annual statements
  • Exhibit E – CSV exports (trades)
  • Exhibit F – Crypto income summary
  • Exhibit G – Transfer schedule
  • Exhibit H – Fiat in/out tie-out
  • Exhibit I – 1099s

✅ Keep exhibits consistent with the table of contents.


What NOT to Submit (unless specifically demanded)

This is where most clients accidentally hurt themselves.

🚫 Do not submit:

  • Full raw wallet history for all addresses (especially unrelated years)
  • Screenshots of entire accounts with balances and unrelated tokens
  • Private keys / seed phrases (ever)
  • Full KYC/identity docs unless requested (passport, selfies, etc.)
  • Chat logs with exchanges (unless relevant to missing records)
  • Your entire tax prep file / internal workpapers beyond what’s needed
  • “Every CSV you downloaded” with duplicates and no explanation
  • Big unstructured zip files with no index
  • Legal analysis or positions you don’t want to lock in prematurely

How to Present it Cleanly (the “examiner-proof” formatting)

Best delivery format:

  • One PDF for narrative sections (Cover Letter + Summary + Methodology + Reconciliations)
  • Plus clearly named attachments:
    • “Exhibit_A_8949_Detail.pdf”
    • “Exhibit_E_Trades_CSV.zip” (only if asked for CSVs)

Use page numbers + exhibit labels
Example footer: “TY2022 Crypto IDR Response – Exhibit A – Page 1 of 48”

Highlight key totals

  • Put totals in boxes or bold rows
  • Make sure numbers tie to the return

Use a “tie-out sheet”
A 1-page reconciliation of:

  • return totals
  • report totals
  • any variance explained

Avoid speculation
Use “to the best of taxpayer’s records” where appropriate.


Bonus: Short “IDR Response Checklist” (Quick Internal Use)

Before sending:

  • Matches audit year(s) only
  • Totals tie to filed return (or amendment strategy set)
  • Basis method explained clearly
  • Transfers separated from disposals
  • Income separated from gains
  • 1099 reconciliation included
  • Exhibits labeled and referenced
  • No overproduction / irrelevant personal data

Contact us