Complete Beancount Setup for Crypto Accounting: LA Tech Week 2025 Synthesis

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
:cross_mark: 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
:cross_mark: 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
:cross_mark: Wrong: Receive staking rewards, don’t report until sold
✓ Right: Report as income upon receipt, track basis separately

4. Incorrect Wash Sale Treatment
:cross_mark: 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
:cross_mark: Wrong: Have $50K on Binance, don’t file FBAR
✓ Right: File FBAR if aggregate foreign crypto exceeds $10K

6. Using Wrong Tax Lot Method
:cross_mark: 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
:cross_mark: 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:

  1. Proper chart of accounts (separate by custody, exchange, activity type)
  2. Commodity definitions for all tokens
  3. Monthly closing process

Tax Compliance:

  1. Staking income: Report upon receipt (conservative)
  2. Mining: Schedule C if business classification
  3. NFTs: Schedule C for creators, Form 8949 for investors
  4. Tax loss harvesting: Use while available (2025-2026)
  5. FBAR: File conservatively for foreign exchanges

Record Keeping:

  1. Monthly Beancount entries
  2. Price updates end-of-month
  3. Quarterly tax planning
  4. Year-end comprehensive review

Professional Support:

  1. CPA for tax filing ($1,500-$5,000 for crypto returns)
  2. Tax attorney for FBAR issues (if needed)
  3. 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!

Bob, this synthesis is outstanding! Let me add the strategic financial planning layer that ties everything together.

The Complete Crypto Financial Planning Framework

After all our LA Tech Week discussions, here’s how to integrate crypto into comprehensive financial planning:

Portfolio Allocation:

  • Crypto: 5-15% of investable assets maximum
  • Within crypto allocation:
    • 70% major cryptos (BTC, ETH)
    • 20% mid-cap alts (SOL, AVAX, etc.)
    • 10% speculative (DeFi, NFTs, new protocols)

Tax Optimization Strategy:

  • Use tax loss harvesting (2025-2026 while available)
  • Hold positions >1 year for long-term rates
  • Offset staking/DeFi income with capital losses
  • Target 15-20% effective tax rate on crypto gains

Risk Management:

  • Never invest more than you can afford to lose
  • Rebalance quarterly (take profits when crypto >20% allocation)
  • Maintain 6-12 months emergency fund in stablecoins
  • Use stop-losses for speculative positions

ROI Benchmarking:

  • Bitcoin: Target 20-30% annual return
  • Staking: 4-8% APY (compare to risk-free rate)
  • DeFi yield farming: 10-15% after fees/gas/taxes
  • Mining: 15-25% ROI (including equipment depreciation)

Thank you all for this incredible knowledge-sharing from LA Tech Week!

Fred Wilson, CFA

Bob’s synthesis is perfect. Let me add the final tax compliance checklist:

Year-End Crypto Tax Checklist 2025

By December 15:
☐ Review all positions for tax loss harvesting opportunities
☐ Execute strategic sales to optimize tax liability
☐ Calculate estimated Q4 payment (due January 15, 2026)

By December 31:
☐ Finalize all trades for year
☐ Reconcile all exchange accounts
☐ Calculate total realized gains/losses
☐ Document all staking income received
☐ Review FBAR requirements for foreign exchanges

By February 28:
☐ Receive Form 1099-DA from U.S. exchanges
☐ Reconcile 1099-DA to your records
☐ Export complete transaction history
☐ Calculate final tax liability

By April 15:
☐ File Form 1040 with Schedule 1, Schedule D, Form 8949
☐ File Schedule C if mining/NFT business
☐ File Form 8938 if foreign crypto exceeds thresholds
☐ File FBAR (FinCEN Form 114) if foreign crypto exceeds $10K
☐ Make final estimated payment or pay balance due

Conservative tax planning = Better sleep at night.

Tina Chen, EA

This has been an incredible series of discussions! Bob’s synthesis pulls it all together perfectly.

For CPAs: The Crypto Opportunity

The market:

  • 52 million Americans own crypto (16% of population)
  • Average holding: $30,000
  • Most have NO tax professional helping them

The service offering:

  • Basic crypto tax prep: $1,500-$3,000
  • DeFi/NFT complex returns: $5,000-$10,000
  • Monthly bookkeeping: $400-$850/month
  • FBAR compliance: $500-$1,000
  • Audit defense: $300/hour

The competitive advantage:

  • Most CPAs refuse crypto clients (opportunity for specialists)
  • Complexity creates high barriers to entry
  • Clients willing to pay premium fees
  • Recurring annual revenue (not one-time)

Thank you everyone for these LA Tech Week insights. This is the future of tax practice.

Alice Thompson, CPA