Perpblock

✦ Tax engine

Tax engine, not tax export.

Every disposal carries lot ID, where the asset came from, accounting method, and the on-chain receipt hash. When your exchange sends a 1099-DA in January, you upload it and we produce a variance report. IRS Form 8949 export, Koinly integration, CoinTracker integration. Built for the problem your CPA actually faces.

Tax engine · IRS Form 8949

Part I — Short-term disposals

BTC+$4,388
basis: $43,821proceeds: $48,209acq: 2025-03-12disp: 2025-04-08
0x8e3b...f14a
ETH+$250
basis: $2,890proceeds: $3,140acq: 2025-04-02disp: 2025-04-29
0x2c7f...a391
SOL+$53
basis: $148proceeds: $201acq: 2025-03-28disp: 2025-05-01
0xd44e...8b2c
All disposals anchored · export ready

The problem

Your CPA is asking a harder question than you think.

About half of every tax professional's crypto clients come in with data gaps. Lost exchange access. Missing cost basis on transferred-in assets. DeFi protocols that don't issue statements. CSV exports that cut off mid-year. Wallet history that includes thousands of small transactions across multiple chains.

Form 1099-DA — the new IRS reporting form effective for tax year 2025 — reports your proceeds to the IRS but not your cost basis for assets you transferred in. If you can't substantiate basis, the IRS may treat it as zero, turning your entire proceeds into taxable gain. A user with $500K in proceeds and no documented basis could be taxed on the full $500K instead of the $50K actual gain.

This is a documentation problem, not a math problem. The math is easy. The documentation is hard.

1099-DA

Upload yours. We'll match it.

When your exchange sends you a 1099-DA in January, you upload it to Perpblock. The reconciliation engine compares it against our internal trade record, line by line, and produces a variance report. Where the exchange's number matches ours, you have audit-defensible evidence on the blockchain. Where the numbers differ, you see exactly why — wrong methodology assumption, missing transfer leg, timing difference, fee-handling delta.

1. Upload your 1099-DA — PDF or CSV from your exchange.

2. The engine extracts per-transaction proceeds, acquisition dates, and cost basis.

3. Every transaction is matched against our anchored trade record.

4. Differences are surfaced with explanations.

5. For each variance: accept our number, the exchange's number, or escalate to your CPA.

The IRS sees one number. Your CPA sees the work behind it. You sign the return knowing the documentation is real.

1099-DA reconciliation2 variances found
Trade IDBTC-2025-0408-1142BTC-2025-0408-1142
Proceeds$48,209.00$48,209.00
Acquisition date2025-03-122025-03-12
Cost basis$43,821.00N/A — basis unknown
MethodFIFON/A

Cost basis not reported by exchange. Accept our anchored basis or escalate to CPA.

Provenance

Every disposal. Every lot. Every source.

Every disposal we record carries five pieces of provenance:

Lot ID

Unique identifier of the specific lot being disposed.

Acquisition source

How the lot was acquired: CEX buy, DEX swap, transfer in, staking reward, airdrop, mining, or other.

Acquisition date & basis

When the lot was acquired and at what cost.

Accounting method

Which method was used for this lot's disposal: FIFO (default), HIFO, LIFO, or specific-ID.

On-chain anchor hash

The blockchain receipt anchoring the disposal trade. Auditable independently.

Your CPA can audit any disposal in seconds. We answer with provenance and a verifiable on-chain receipt.

Lot provenance · disposal record
Lot IDBTC-2025-0312-0847
Acquisition sourceCEX buy · Coinbase
Acquisition date & basis2025-03-12 · $43,821
Accounting methodFIFO (default)
On-chain anchor hash0x8e3b...f14a ✓

Harvesting

Harvest where it makes sense. Not as a separate workflow.

Most platforms treat tax-loss harvesting as an optional add-on for the user to remember. Our harvesting is integrated with the strategy you're already running. The AI watches your active strategies and identifies specific lots where realized loss harvesting would offset gains elsewhere in your portfolio — accounting for wash-sale considerations, the specific holding period of the lot, and the strategy's expected re-entry timing.

The daily portfolio thesis flags harvestable opportunities for the day.

The AI proactive alerts email you when a harvest window opens.

The dashboard shows a "harvestable losses" tile with the specific lots and the offsetting tax impact.

Wash-sale note: Crypto-specific wash-sale rules are evolving. The IRS currently treats crypto as property (not security), so the 30-day wash-sale rule technically does not apply — but that position may change. Our harvesting flow surfaces both interpretations.

Your harvests are part of your strategy, not a separate February panic.

Harvestable losses · today
ETH-PERP−$1,840

Offsets $1,840 BTC gain

Clean under current rules
SOL-PERP−$620

Offsets $620 staking income

Clean under current rules

Total harvestable loss today: −$2,460

Export

One file. Two parts. Correctly separated.

Form 8949 has two parts: Part I for short-term capital gains/losses (held one year or less), Part II for long-term (held more than one year). Most crypto tax tools dump everything into one CSV and require your CPA to sort it. Our export separates them correctly out of the box.

Part I — short-term

Every disposal of an asset held one year or less. With lot ID, acquisition date, acquisition cost, disposal date, proceeds, gain/loss.

Part II — long-term

Every disposal of an asset held more than one year. Same fields.

Supporting schedule

Per disposal: accounting method footnote, on-chain anchor hash, link to public verifier.

Wash-sale flags

Where wash-sale handling has been applied, flagged with the specific 30-day window.

Reconciliation note

Where a 1099-DA was reconciled, the resolved position is documented with the source decision.

The export is correct on the first download. Your CPA doesn't reformat it.

IRS Form 8949 export
PART I — Short-term capital gains/losses
BTC2025-03-122025-04-08$43,821$48,209+$4,388
ETH2025-04-022025-04-29$2,890$3,140+$250
PART II — Long-term capital gains/losses
BTC2023-11-082025-02-14$34,210$96,400+$62,190
Correctly separated · anchor hashes attached · ready to import

Integrations

Native, not CSV workarounds.

Most crypto tax software accepts CSV imports from exchanges and wallets. The CSV path is fine for simple cases and fragile for complex ones. We have native integrations with Koinly and CoinTracker — the full lot-level record, including on-chain anchor hashes, pushed directly into your tax-software account.

KoinlyNATIVE

Full lot-level record pushed directly. On-chain hashes included.

CoinTrackerNATIVE

Full lot-level record pushed directly. On-chain hashes included.

TurboTaxCSV

IRS Form 8949 CSV export. Standard import path.

H&R BlockCSV

IRS Form 8949 CSV export. Compatible import.

The integration is native. The data lands clean.

Honest limits

The honest limits.

Not a tax preparer.

We provide the data your CPA needs. We do not file returns on your behalf.

Not a tax advisor.

Specific tax-strategy questions belong with your CPA. We are software.

Not every wallet.

Trades through Perpblock get full lot-level treatment. Imported wallet history is best-effort — we flag ambiguities in the export.

US only today.

US Form 8949, Koinly, and CoinTracker today. Non-US frameworks (UK SA108, Canadian Schedule 3, etc.) are on the roadmap.

The tax engine ships honesty about its limits.

Common questions

Answers to what your CPA will ask.

Get started

Your CPA pulls one file.

The tax engine is what makes the rest of the platform investable for HNW users. The numbers don't matter if you can't substantiate them at filing.

Tax export included on every paid plan. 1099-DA reconciliation and lot-level provenance in Wave 2.