calculating-crypto-taxes
Calculate cryptocurrency tax obligations with cost basis tracking, capital gains computation, and Form 8949 generation. Use when calculating crypto taxes, generating tax reports, comparing cost basis methods, or identifying taxable events. Trigger with phrases like "calculate crypto taxes", "generate tax report", "cost basis FIFO", "capital gains", "Form 8949", or "crypto taxable events". allowed-tools: Read, Write, Bash(crypto:tax-*) version: 2.0.0 author: Jeremy Longshore <jeremy@intentsolutions.io> license: MIT
Allowed Tools
No tools specified
Provided by Plugin
crypto-tax-calculator
Calculate crypto taxes with FIFO/LIFO methods and generate tax reports
Installation
This skill is included in the crypto-tax-calculator plugin:
/plugin install crypto-tax-calculator@claude-code-plugins-plus
Click to copy
Instructions
# Calculating Crypto Taxes
## Overview
Calculate cryptocurrency tax obligations from transaction history. Supports multiple cost basis methods (FIFO, LIFO, HIFO), identifies taxable events (trades, staking, airdrops), and generates Form 8949 compatible reports.
**DISCLAIMER**: This tool provides informational calculations only, not tax advice. Consult a qualified tax professional for your specific situation.
## Prerequisites
Before using this skill, ensure you have:
- Transaction history exported as CSV from your exchanges (Coinbase, Binance, Kraken, etc.)
- Python 3.8+ installed
- Understanding of your tax jurisdiction's crypto rules
## Instructions
### Step 1: Prepare Transaction Data
Export your transaction history from each exchange as CSV. Supported formats:
| Exchange | Export Location |
|----------|-----------------|
| Coinbase | Reports โ Tax documents โ Transaction history CSV |
| Binance | Orders โ Trade History โ Export |
| Kraken | History โ Export |
| Generic | See `{baseDir}/references/exchange_formats.md` for column mapping |
### Step 2: Run Basic Tax Calculation
Execute the tax calculator with your transaction file:
```bash
python {baseDir}/scripts/tax_calculator.py --transactions your_trades.csv --year 2025
```
This uses FIFO (IRS default) and outputs:
- Total capital gains/losses
- Short-term vs long-term breakdown
- Summary of taxable events
### Step 3: Choose Cost Basis Method
Compare different methods to understand tax implications:
```bash
python {baseDir}/scripts/tax_calculator.py --transactions trades.csv --compare-methods
```
Or specify a method:
| Method | Flag | Description |
|--------|------|-------------|
| FIFO | `--method fifo` | First In First Out (IRS default) |
| LIFO | `--method lifo` | Last In First Out |
| HIFO | `--method hifo` | Highest In First Out (minimize gains) |
### Step 4: Generate Tax Report
Create Form 8949 compatible CSV:
```bash
python {baseDir}/scripts/tax_calculator.py --transactions trades.csv --method fifo --year 2025 --output form_8949.csv --format csv
```
Output includes:
- Description of property
- Date acquired
- Date sold
- Proceeds
- Cost basis
- Gain or loss
### Step 5: Handle Income Events (Optional)
For staking, airdrops, or mining income:
```bash
python {baseDir}/scripts/tax_calculator.py --transactions all_events.csv --income-report
```
This identifies:
- Staking rewards (valued at receipt)
- Airdrops (valued at receipt)
- Mining income
- DeFi yield
### Step 6: Multi-Exchange Consolidation
Combine multiple exchange exports:
```bash
python {baseDir}/scripts/tax_calculator.py --transactions coinbase.csv binance.csv kraken.csv --year 2025
```
The tool:
- Merges all transactions
- Sorts by date
- Calculates unified cost basis
- Handles transfers between exchanges
## Output
### Tax Report (Form 8949)
```
============================================================
CRYPTO TAX REPORT - 2025
============================================================
SHORT-TERM CAPITAL GAINS/LOSSES (< 1 year)
------------------------------------------------------------
Description Acquired Sold Proceeds Cost Gain/Loss
0.5 BTC 03/15/25 06/20/25 $52,500 $47,500 $5,000
2.0 ETH 04/01/25 08/15/25 $7,200 $6,400 $800
------------------------------------------------------------
Short-term Total: $5,800
LONG-TERM CAPITAL GAINS/LOSSES (>= 1 year)
------------------------------------------------------------
Description Acquired Sold Proceeds Cost Gain/Loss
1.0 BTC 01/10/24 02/15/25 $95,000 $42,000 $53,000
------------------------------------------------------------
Long-term Total: $53,000
============================================================
SUMMARY
------------------------------------------------------------
Total Proceeds: $154,700
Total Cost Basis: $95,900
Net Capital Gain: $58,800
Short-term Gains: $5,800
Long-term Gains: $53,000
============================================================
```
### Income Report
```
CRYPTO INCOME - 2025
------------------------------------------------------------
Type Date Asset Quantity FMV (USD)
Staking 01/15/25 ETH 0.05 $160.00
Staking 02/15/25 ETH 0.05 $175.00
Airdrop 03/01/25 ARB 100 $150.00
------------------------------------------------------------
Total Income: $485.00
```
## Error Handling
See `{baseDir}/references/errors.md` for comprehensive error handling.
Common issues:
- **Missing columns**: Verify CSV format matches exchange template
- **Unknown transaction type**: Review and manually categorize
- **Insufficient lots**: Check for missing buy transactions
## Examples
See `{baseDir}/references/examples.md` for detailed usage examples.
### Quick Examples
**Basic tax calculation**:
```bash
python tax_calculator.py --transactions trades.csv --year 2025
```
**HIFO to minimize gains**:
```bash
python tax_calculator.py --transactions trades.csv --method hifo --year 2025
```
**JSON output for processing**:
```bash
python tax_calculator.py --transactions trades.csv --format json --output tax_data.json
```
**Verbose with lot details**:
```bash
python tax_calculator.py --transactions trades.csv --verbose --show-lots
```
## Configuration
Settings in `{baseDir}/config/settings.yaml`:
- **Default method**: Cost basis method (fifo, lifo, hifo)
- **Tax year start**: January 1 (US) or fiscal year
- **Exchange formats**: Column mappings for CSV parsing
- **Holding period**: Days for long-term (default: 365)
## Resources
- IRS Virtual Currency Guidance: https://www.irs.gov/businesses/small-businesses-self-employed/virtual-currencies
- Form 8949 Instructions: https://www.irs.gov/instructions/i8949
- CoinGecko API for historical prices