After all our LA Tech Week 2025 crypto discussions, I’ve synthesized everything into a complete Beancount implementation guide. This brings together insights from our conversations on DeFi, NFTs, staking, mining, wash sales, and FBAR reporting.
The Complete Crypto Chart of Accounts
Based on all our discussions, here’s the comprehensive account structure:
; ============================================================================
; CRYPTO CHART OF ACCOUNTS - COMPLETE IMPLEMENTATION
; Based on LA Tech Week 2025 discussions
; ============================================================================
; ASSET ACCOUNTS
; ============================================================================
; Exchange Accounts (Centralized)
2024-01-01 open Assets:Crypto:Exchange:Coinbase:USD USD
2024-01-01 open Assets:Crypto:Exchange:Coinbase:BTC BTC
2024-01-01 open Assets:Crypto:Exchange:Coinbase:ETH ETH
2024-01-01 open Assets:Crypto:Exchange:Kraken:USD USD
2024-01-01 open Assets:Crypto:Exchange:Kraken:BTC BTC
; Foreign Exchanges (FBAR Reporting Required)
2024-01-01 open Assets:Crypto:Foreign:Binance:USDT USDT
fbar_required: true
institution_country: "Cayman Islands"
institution_address: "PO Box 309, Ugland House, Grand Cayman, KY1-1104"
2024-01-01 open Assets:Crypto:Foreign:Binance:BTC BTC
fbar_required: true
; Self-Custody Wallets (No FBAR)
2024-01-01 open Assets:Crypto:SelfCustody:Ledger:BTC BTC
custody_type: "hardware_wallet"
fbar_required: false
2024-01-01 open Assets:Crypto:SelfCustody:Metamask:ETH ETH
custody_type: "software_wallet"
; DeFi Protocol Positions
2024-01-01 open Assets:DeFi:Aave:DepositedUSDC USDC
2024-01-01 open Assets:DeFi:Aave:aUSDC aUSDC
description: "Aave interest-bearing USDC"
2024-01-01 open Assets:DeFi:Uniswap:V3:LP:ETH-USDC UNI-V3-LP
description: "Uniswap V3 liquidity pool position"
2024-01-01 open Assets:DeFi:Lido:stETH stETH
description: "Liquid staking ETH derivative"
; Staking Positions
2024-01-01 open Assets:Crypto:Staked:ETH ETH
staking_protocol: "Ethereum"
validator: "Coinbase"
2024-01-01 open Assets:Crypto:Staked:SOL SOL
staking_protocol: "Solana"
; NFT Holdings
2024-01-01 open Assets:NFT:Investment NFT
description: "NFT investments (generic tracking)"
2024-01-01 open Assets:NFT:Inventory:Unsold NFT
description: "Creator inventory - unsold NFTs"
; Mining Equipment
2024-01-01 open Assets:Mining:Equipment USD
2024-01-01 open Assets:Mining:AccumulatedDepreciation USD
; INCOME ACCOUNTS
; ============================================================================
; Trading Income
2024-01-01 open Income:CapitalGains:ShortTerm USD
2024-01-01 open Income:CapitalGains:LongTerm USD
; Staking & DeFi Income
2024-01-01 open Income:Staking:ETH USD
2024-01-01 open Income:Staking:SOL USD
2024-01-01 open Income:DeFi:YieldFarming USD
2024-01-01 open Income:DeFi:LiquidityPoolFees USD
; Mining Income (Business)
2024-01-01 open Income:Mining:Bitcoin USD
; NFT Income
2024-01-01 open Income:SelfEmployment:NFTSales USD
2024-01-01 open Income:SelfEmployment:NFTRoyalties USD
; EXPENSE ACCOUNTS
; ============================================================================
; Trading Expenses
2024-01-01 open Expenses:Fees:Exchange USD
2024-01-01 open Expenses:Fees:Gas USD
2024-01-01 open Expenses:Fees:Marketplace USD
; Mining Expenses (Schedule C)
2024-01-01 open Expenses:Mining:Electricity USD
2024-01-01 open Expenses:Mining:PoolFees USD
2024-01-01 open Expenses:Mining:Internet USD
2024-01-01 open Expenses:Mining:Repairs USD
2024-01-01 open Expenses:Mining:HomeOffice USD
2024-01-01 open Expenses:Mining:Depreciation USD
; NFT Creator Expenses (Schedule C)
2024-01-01 open Expenses:COGS:NFT USD
2024-01-01 open Expenses:NFT:Software USD
2024-01-01 open Expenses:NFT:Marketing USD
; Tax Expenses
2024-01-01 open Expenses:Taxes:Estimated USD
2024-01-01 open Liabilities:TaxPayable:Estimated USD
; ============================================================================
; COMMODITY DEFINITIONS
; ============================================================================
2024-01-01 commodity BTC
name: "Bitcoin"
asset_class: "Cryptocurrency"
2024-01-01 commodity ETH
name: "Ethereum"
asset_class: "Cryptocurrency"
2024-01-01 commodity USDC
name: "USD Coin"
asset_class: "Stablecoin"
2024-01-01 commodity USDT
name: "Tether USD"
asset_class: "Stablecoin"
2024-01-01 commodity SOL
name: "Solana"
asset_class: "Cryptocurrency"
2024-01-01 commodity stETH
name: "Lido Staked ETH"
asset_class: "Liquid Staking Derivative"
2024-01-01 commodity aUSDC
name: "Aave USDC"
asset_class: "DeFi Yield Token"
2024-01-01 commodity UNI-V3-LP
name: "Uniswap V3 LP Token"
asset_class: "Liquidity Pool Token"
2024-01-01 commodity NFT
name: "Non-Fungible Token"
asset_class: "Digital Asset"
2024-01-01 commodity MINER
name: "ASIC Mining Equipment"
asset_class: "Business Equipment"
Complete Transaction Examples
1. Exchange Purchase (Simple)
2025-10-20 * "Buy Bitcoin on Coinbase" #crypto-purchase
purchase_amount: 0.5 BTC
price_per_btc: 67000.00
total_cost: 33500.00
exchange_fee: 167.50
total_paid: 33667.50
Assets:Crypto:Exchange:Coinbase:BTC 0.5 BTC @ 67334.00 USD
Assets:Checking -33667.50 USD
2. Staking Reward (Income Recognition)
2025-10-20 * "Ethereum Staking Reward" #staking-income
reward_amount_eth: 0.05
eth_usd_rate: 3200.00
income_recognized: 160.00
tax_treatment: "ordinary_income"
Income:Staking:ETH -160.00 USD
Assets:Crypto:Staked:ETH 0.05 ETH @ 3200.00 USD
; Set aside for taxes
Liabilities:TaxPayable:Estimated -64.00 USD ; 40% estimated
Assets:Checking -64.00 USD
Assets:Checking:TaxSavings 64.00 USD
3. DeFi Yield Farming Deposit
2025-10-20 * "Deposit to Uniswap V3 Pool" #defi-lp
eth_deposited: 1.0
usdc_deposited: 3200.00
eth_price: 3200.00
total_value: 6400.00
lp_tokens_received: 1.0
Assets:Crypto:Exchange:Coinbase:ETH -1.0 ETH @ 3200.00 USD
Assets:Crypto:Exchange:Coinbase:USDC -3200.00 USDC
Assets:DeFi:Uniswap:V3:LP:ETH-USDC 1.0 UNI-V3-LP @ 6400.00 USD
4. NFT Sale (Creator - Schedule C)
2025-10-20 * "NFT Sale - Digital Artwork" #nft-creator
nft_id: "Sunset Dreams #7"
sale_price: 3500.00
gas_fee_minting: 42.00
marketplace_fee: 87.50
cost_of_goods_sold: 57.60 ; Gas + allocated overhead
net_proceeds: 3412.50
Income:SelfEmployment:NFTSales -3500.00 USD
Expenses:COGS:NFT 57.60 USD
Expenses:Fees:Marketplace 87.50 USD
Assets:NFT:Inventory:Unsold -57.60 USD
Assets:Checking 3412.50 USD
; Estimated tax (40%)
Liabilities:TaxPayable:Estimated -1400.00 USD
Assets:Checking -1400.00 USD
Assets:Checking:TaxSavings 1400.00 USD
5. Mining Income (Business)
2025-10-31 * "Bitcoin Mining Reward - October" #mining-income
btc_mined: 0.035
btc_usd_rate: 68500.00
gross_income: 2397.50
pool_fee_pct: 0.05
pool_fee_usd: 119.88
net_btc_received: 0.03325
Income:Mining:Bitcoin -2397.50 USD
Assets:Crypto:Exchange:Coinbase:BTC 0.03325 BTC @ 68500.00 USD
Expenses:Mining:PoolFees 119.88 USD
6. Tax Loss Harvesting
2025-12-15 * "Tax Loss Harvest - Sell ETH" #tlh
eth_sold: 10.0
cost_basis: 3650.00
total_cost_basis: 36500.00
sale_price: 3150.00
gross_proceeds: 31500.00
exchange_fee: 157.50
net_proceeds: 31342.50
capital_loss: 5157.50
Assets:Crypto:Exchange:Coinbase:ETH -10.0 ETH @ 3650.00 USD
Assets:Checking 31342.50 USD
Expenses:Fees:Exchange 157.50 USD
Income:CapitalGains:LongTerm 5157.50 USD ; Loss
2025-12-17 * "Tax Loss Harvest - Rebuy ETH" #tlh-rebuy
eth_bought: 9.95
purchase_price: 3160.00
total_cost: 31442.00
exchange_fee: 157.21
total_paid: 31599.21
new_cost_basis: 3176.51 ; Includes fees
Assets:Crypto:Exchange:Coinbase:ETH 9.95 ETH @ 3176.51 USD
Assets:Checking -31599.21 USD
7. FBAR Reporting Summary
2025-12-31 * "FBAR/Form 8938 Annual Summary" #fbar-2025
; Foreign exchange balances
binance_max_balance_usd: 158000.00
binance_max_month: "January"
bitfinex_max_balance_usd: 25000.00
aggregate_max_balance: 183000.00
; FBAR requirements
fbar_threshold: 10000.00
fbar_required: true
fbar_filed: true
fbar_filing_date: "2026-04-15"
; Form 8938 requirements
form_8938_threshold: 50000.00
form_8938_required: true
form_8938_filed: true
Essential Beancount Queries
Query 1: Tax Loss Harvesting Opportunities
SELECT
commodity,
sum(units) AS total_units,
cost(sum(position)) / sum(units) AS avg_cost_basis,
value(sum(position)) / sum(units) AS current_price,
value(sum(position)) - cost(sum(position)) AS unrealized_gain_loss,
(value(sum(position)) - cost(sum(position))) * 0.278 AS tax_impact
WHERE account ~ 'Assets:Crypto'
AND unrealized_gain_loss < 0
ORDER BY tax_impact DESC
Query 2: Staking Income YTD
SELECT
year,
sum(amount) AS total_staking_income
WHERE account ~ 'Income:Staking'
GROUP BY year
Query 3: Mining Business Profit/Loss
SELECT
sum(income) AS gross_mining_income,
sum(expenses) AS total_mining_expenses,
sum(income) + sum(expenses) AS net_profit_loss
WHERE account ~ 'Mining'
AND year = 2025
Query 4: FBAR Maximum Balance
SELECT
month,
sum(balance_usd) AS aggregate_foreign_balance
WHERE account ~ 'Foreign'
GROUP BY month
ORDER BY aggregate_foreign_balance DESC
LIMIT 1
Query 5: NFT Inventory Value
SELECT
count(units) AS unsold_nfts,
sum(cost_basis) AS inventory_value
WHERE account = 'Assets:NFT:Inventory:Unsold'
Complete Monthly Closing Checklist
For crypto accounting clients:
Week 1 (Days 1-7 of new month)
Exchange Activity:
☐ Export transaction history (Coinbase, Kraken, etc.)
☐ Import to Beancount (via custom scripts or manual entry)
☐ Reconcile balances (compare Beancount to exchange)
Staking & DeFi:
☐ Record staking rewards received
☐ Record DeFi yield farming distributions
☐ Update LP token values (mark-to-market)
Price Updates:
☐ Record month-end prices for all held crypto
☐ Calculate unrealized gains/losses
Week 2 (Days 8-14)
Income Recognition:
☐ Calculate total staking income for month
☐ Calculate mining income (if applicable)
☐ Calculate DeFi yield income
☐ Record NFT sales/royalties
Expense Tracking:
☐ Record exchange fees
☐ Record gas fees (Ethereum transactions)
☐ Record mining expenses (electricity, pool fees)
Week 3 (Days 15-21)
Tax Planning:
☐ Calculate YTD realized gains/losses
☐ Identify tax loss harvesting opportunities
☐ Calculate estimated tax due for quarter
☐ Prepare Form 1040-ES if needed
FBAR Tracking (Foreign Exchanges):
☐ Record month-end foreign exchange balances
☐ Convert to USD using month-end rates
☐ Update aggregate maximum tracker
Week 4 (Days 22-28)
Reporting:
☐ Generate monthly P&L statement
☐ Review with client (15-minute call)
☐ Update year-end tax projections
☐ Document any issues or questions
Client Communication:
☐ Send monthly summary report
☐ Alert on any tax planning actions needed
☐ Schedule quarterly review if due
Year-End (December) Special Tasks
Tax Loss Harvesting:
☐ Review all positions for unrealized losses
☐ Execute strategic sales to offset gains
☐ Rebuy positions (after 24-72 hours)
☐ Document all TLH transactions
FBAR Preparation:
☐ Identify maximum aggregate foreign balance
☐ Gather exchange addresses and account numbers
☐ Prepare FBAR filing documentation
Mining Business (if applicable):
☐ Calculate depreciation (MACRS or Section 179)
☐ Finalize home office deduction
☐ Prepare Schedule C
NFT Creators (if applicable):
☐ Count unsold NFT inventory
☐ Calculate COGS for year
☐ Prepare Schedule C
Form 8949 Preparation:
☐ Export all sales transactions
☐ Generate complete transaction list
☐ Prepare for tax software import
Common Pitfalls to Avoid
1. Mixing Personal and Business Crypto
Wrong: Using same wallet for trading (personal) and mining (business)
✓ Right: Separate accounts - Assets:Crypto:Personal vs Assets:Crypto:Business
2. Forgetting Gas Fees in Cost Basis
Wrong: Buy 1 ETH @ $3,000, ignore $50 gas fee, basis = $3,000
✓ Right: Buy 1 ETH @ $3,000 + $50 gas, basis = $3,050
3. Not Tracking Staking Income as Received
Wrong: Receive staking rewards, don’t report until sold
✓ Right: Report as income upon receipt, track basis separately
4. Incorrect Wash Sale Treatment
Wrong: Disallow crypto losses using 30-day wash sale rule
✓ Right: Crypto exempt from wash sale rules (as of 2025)
5. Missing FBAR for Foreign Exchanges
Wrong: Have $50K on Binance, don’t file FBAR
✓ Right: File FBAR if aggregate foreign crypto exceeds $10K
6. Using Wrong Tax Lot Method
Wrong: Switching between FIFO/LIFO year-to-year
✓ Right: Choose method (specific ID, FIFO, or LIFO) and apply consistently
7. Not Setting Aside for Taxes
Wrong: Receive $10K staking income, spend all proceeds
✓ Right: Set aside 40% ($4K) for estimated taxes immediately
Tool Recommendations
Beancount Ecosystem:
- Fava: Web interface for Beancount (essential)
- beancount-import: Automated transaction import
- beancount-price-sources: Automatic price fetching
Crypto Tax Software (as backup/validation):
- CoinTracker: Good for complex DeFi
- Koinly: UK-based, international support
- TaxBit: Enterprise-grade, expensive
Price Data:
- CoinGecko API: Free historical price data
- CoinMarketCap API: Alternative price source
Exchange Integrations:
- Most exchanges provide CSV export
- Some have APIs (Coinbase Pro, Kraken, Gemini)
- Write custom Python importers (or use beancount-import)
My Final Synthesis
After all our LA Tech Week discussions, here’s the complete crypto accounting workflow:
Foundation:
- Proper chart of accounts (separate by custody, exchange, activity type)
- Commodity definitions for all tokens
- Monthly closing process
Tax Compliance:
- Staking income: Report upon receipt (conservative)
- Mining: Schedule C if business classification
- NFTs: Schedule C for creators, Form 8949 for investors
- Tax loss harvesting: Use while available (2025-2026)
- FBAR: File conservatively for foreign exchanges
Record Keeping:
- Monthly Beancount entries
- Price updates end-of-month
- Quarterly tax planning
- Year-end comprehensive review
Professional Support:
- CPA for tax filing ($1,500-$5,000 for crypto returns)
- Tax attorney for FBAR issues (if needed)
- Bookkeeper for monthly tracking ($400-$850/month)
The bottom line: Crypto accounting is complex, but manageable with systematic Beancount implementation and professional guidance.
Bob Martinez
Small Business Bookkeeping
P.S. - I’m compiling the “Complete Beancount Crypto Starter Kit” with:
- Full chart of accounts template
- 50+ transaction examples
- All queries from our discussions
- Monthly closing checklist
- Year-end tax prep guide
If there’s interest, I’ll share on GitHub.
Thanks to everyone who contributed to these LA Tech Week discussions:
- finance_fred (financial analysis)
- tax_tina (tax compliance)
- accountant_alice (CPA practice management)
- bookkeeper_bob (practical implementation)
This has been incredibly valuable for the community!