Перейти к основному содержимому

Шаблоны и примеры для криптовалют

В этом руководстве представлены практические шаблоны Beancount и реальные примеры для распространенных сценариев с криптовалютами. Копируйте и адаптируйте эти шаблоны для своих нужд учета криптовалют.

Базовый шаблон настройки

Шаблон структуры счетов

; =============================================================================
; ШАБЛОН НАСТРОЙКИ СЧЕТОВ КРИПТОВАЛЮТ
; =============================================================================

; Счета бирж
1970-01-01 open Assets:Crypto:Coinbase:USD
1970-01-01 open Assets:Crypto:Coinbase:BTC
1970-01-01 open Assets:Crypto:Coinbase:ETH
1970-01-01 open Assets:Crypto:Binance:USD
1970-01-01 open Assets:Crypto:Binance:BTC
1970-01-01 open Assets:Crypto:Binance:ETH
1970-01-01 open Assets:Crypto:Binance:BNB

; Счета кошельков
1970-01-01 open Assets:Crypto:Wallet:Ledger:BTC
1970-01-01 open Assets:Crypto:Wallet:Ledger:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:ETH
1970-01-01 open Assets:Crypto:Wallet:MetaMask:USDC

; Счета DeFi-протоколов
1970-01-01 open Assets:DeFi:Uniswap:ETH-USDC-LP
1970-01-01 open Assets:DeFi:Compound:cUSDC
1970-01-01 open Assets:Staking:Ethereum:ETH

; Счета доходов
1970-01-01 open Income:Crypto:Staking:ETH
1970-01-01 open Income:Crypto:Mining:BTC
1970-01-01 open Income:Crypto:Airdrops
1970-01-01 open Income:Crypto:DeFi:Yield
1970-01-01 open Income:CapitalGains:Crypto

; Счета расходов
1970-01-01 open Expenses:Crypto:Fees:Trading
1970-01-01 open Expenses:Crypto:Fees:Network
1970-01-01 open Expenses:Crypto:Fees:Withdrawal

; Определения валют
1970-01-01 commodity BTC
name: "Bitcoin"
asset-class: "cryptocurrency"

1970-01-01 commodity ETH
name: "Ethereum"
asset-class: "cryptocurrency"

1970-01-01 commodity USDC
name: "USD Coin"
asset-class: "stablecoin"

Шаблоны для торговли

Базовая покупка криптовалюты

; Шаблон: Купить криптовалюту на бирже
YYYY-MM-DD * "Купить [AMOUNT] [CRYPTO] на [EXCHANGE]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Assets:Crypto:[EXCHANGE]:USD -[TOTAL_COST] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD

; Пример: Купить 1 BTC на Coinbase
2024-01-15 * "Купить 1 BTC на Coinbase"
Assets:Crypto:Coinbase:BTC 1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD -45000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD

Продажа криптовалюты

; Шаблон: Продать криптовалюту на бирже
YYYY-MM-DD * "Продать [AMOUNT] [CRYPTO] на [EXCHANGE]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Income:CapitalGains:Crypto [GAIN] USD ; или Expenses:CapitalLoss:Crypto

; Пример: Продать 0.5 BTC с прибылью
2024-03-20 * "Продать 0.5 BTC на Coinbase"
Assets:Crypto:Coinbase:BTC -0.5 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 24000.00 USD
Expenses:Crypto:Fees:Trading 30.00 USD
Assets:Crypto:Coinbase:USD -30.00 USD
Income:CapitalGains:Crypto 1470.00 USD ; 24000 - 22500 - 30

Обмен криптовалюты на криптовалюту

; Шаблон: Обменять одну криптовалюту на другую
YYYY-MM-DD * "Обменять [AMOUNT1] [CRYPTO1] на [AMOUNT2] [CRYPTO2]"
Assets:Crypto:[EXCHANGE]:[CRYPTO1] -[AMOUNT1] [CRYPTO1] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:[CRYPTO2] [AMOUNT2] [CRYPTO2] {[NEW_PRICE] USD}
Income:CapitalGains:Crypto [GAIN] USD ; Налогооблагаемое событие
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD

; Пример: Обменять BTC на ETH
2024-02-10 * "Обменять 1 BTC на 20 ETH на Binance"
Assets:Crypto:Binance:BTC -1.0 BTC {46000.00 USD}
Assets:Crypto:Binance:ETH 20 ETH {2400.00 USD}
Income:CapitalGains:Crypto 2000.00 USD ; 48000 - 46000
Expenses:Crypto:Fees:Trading 40.00 USD
Assets:Crypto:Binance:USD -40.00 USD

Шаблоны для переводов

Перевод с биржи на кошелек

; Шаблон: Перевести криптовалюту с биржи на кошелек
YYYY-MM-DD * "Перевести [AMOUNT] [CRYPTO] с [EXCHANGE] на [WALLET]"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:Wallet:[WALLET]:[CRYPTO] [AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Expenses:Crypto:Fees:Withdrawal [FEE] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[FEE] [CRYPTO] {[COST_BASIS] USD}

; Пример: Перевести BTC на Ledger
2024-01-20 * "Перевести 1 BTC с Coinbase на Ledger"
Assets:Crypto:Coinbase:BTC -1.0 BTC {45000.00 USD}
Assets:Crypto:Wallet:Ledger:BTC 1.0 BTC {45000.00 USD}
Expenses:Crypto:Fees:Withdrawal 0.0005 BTC {45000.00 USD}
Assets:Crypto:Coinbase:BTC -0.0005 BTC {45000.00 USD}

Перевод между биржами

; Шаблон: Перевод между биржами
YYYY-MM-DD * "Перевести [AMOUNT] [CRYPTO] с [EXCHANGE1] на [EXCHANGE2]"
Assets:Crypto:[EXCHANGE1]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE2]:[CRYPTO] [AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Expenses:Crypto:Fees:Network [FEE] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE1]:[CRYPTO] -[FEE] [CRYPTO] {[COST_BASIS] USD}

; Пример: Перевести ETH с Coinbase на Binance
2024-02-05 * "Перевести 10 ETH с Coinbase на Binance"
Assets:Crypto:Coinbase:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Binance:ETH 10 ETH {2500.00 USD}
Expenses:Crypto:Fees:Network 0.01 ETH {2500.00 USD}
Assets:Crypto:Coinbase:ETH -0.01 ETH {2500.00 USD}

Шаблоны для стейкинга

Стейкинг Ethereum

; Шаблон: Застейкать ETH
YYYY-MM-DD * "Застейкать [AMOUNT] ETH"
Assets:Crypto:Wallet:MetaMask:ETH -[AMOUNT] ETH {[PRICE] USD}
Assets:Staking:Ethereum:ETH [AMOUNT] ETH {[PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[PRICE] USD}

; Пример: Застейкать 32 ETH
2024-01-10 * "Застейкать 32 ETH на Ethereum 2.0"
Assets:Crypto:Wallet:MetaMask:ETH -32 ETH {2500.00 USD}
Assets:Staking:Ethereum:ETH 32 ETH {2500.00 USD}
Expenses:Crypto:Fees:Network 0.01 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.01 ETH {2500.00 USD}

Награды за стейкинг

; Шаблон: Получить награды за стейкинг
YYYY-MM-DD * "[CRYPTO] Награды за стейкинг - [PERIOD]"
Assets:Staking:[PROTOCOL]:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Income:Crypto:Staking:[CRYPTO] [VALUE] USD

; Пример: Награды за стейкинг ETH
2024-02-01 * "Награды за стейкинг ETH - Январь"
Assets:Staking:Ethereum:ETH 0.08 ETH {2600.00 USD}
Income:Crypto:Staking:ETH 208.00 USD

Шаблоны для DeFi

Предоставление ликвидности в Uniswap

; Шаблон: Добавить ликвидность в пул Uniswap
YYYY-MM-DD * "Добавить ликвидность в пул [TOKEN1]-[TOKEN2]"
Assets:Crypto:Wallet:MetaMask:[TOKEN1] -[AMOUNT1] [TOKEN1] {[PRICE1] USD}
Assets:Crypto:Wallet:MetaMask:[TOKEN2] -[AMOUNT2] [TOKEN2] {[PRICE2] USD}
Assets:DeFi:Uniswap:[TOKEN1]-[TOKEN2]-LP [LP_AMOUNT] [LP_TOKEN] {[LP_PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[ETH_PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[ETH_PRICE] USD}

; Пример: Добавить ликвидность ETH-USDC
2024-01-15 * "Добавить ликвидность в пул ETH-USDC"
Assets:Crypto:Wallet:MetaMask:ETH -10 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:USDC -25000 USDC
Assets:DeFi:Uniswap:ETH-USDC-LP 100 UNI-V3-ETH-USDC {500.00 USD}
Expenses:Crypto:Fees:Network 0.02 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.02 ETH {2500.00 USD}

Кредитование в Compound

; Шаблон: Предоставить активы в Compound
YYYY-MM-DD * "Предоставить [AMOUNT] [TOKEN] в Compound"
Assets:Crypto:Wallet:MetaMask:[TOKEN] -[AMOUNT] [TOKEN]
Assets:DeFi:Compound:c[TOKEN] [C_AMOUNT] c[TOKEN] {[C_PRICE] USD}
Expenses:Crypto:Fees:Network [FEE] ETH {[ETH_PRICE] USD}
Assets:Crypto:Wallet:MetaMask:ETH -[FEE] ETH {[ETH_PRICE] USD}

; Пример: Предоставить USDC в Compound
2024-01-20 * "Предоставить 10000 USDC в Compound"
Assets:Crypto:Wallet:MetaMask:USDC -10000 USDC
Assets:DeFi:Compound:cUSDC 500 cUSDC {20.00 USD}
Expenses:Crypto:Fees:Network 0.008 ETH {2500.00 USD}
Assets:Crypto:Wallet:MetaMask:ETH -0.008 ETH {2500.00 USD}

Шаблоны для майнинга

Награды за майнинг

; Шаблон: Получить награды за майнинг
YYYY-MM-DD * "[CRYPTO] Награда за майнинг - [POOL/SOLO]"
Assets:Crypto:Mining:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Income:Crypto:Mining:[CRYPTO] [VALUE] USD

; Пример: Награда за майнинг Bitcoin
2024-01-15 * "Награда за майнинг BTC - Slush Pool"
Assets:Crypto:Mining:BTC 0.01 BTC {45000.00 USD}
Income:Crypto:Mining:BTC 450.00 USD

Расходы на майнинг

; Шаблон: Операционные расходы на майнинг
YYYY-MM-DD * "Майнинг [EXPENSE_TYPE] - [PERIOD]"
Expenses:Crypto:Mining:[EXPENSE_TYPE] [AMOUNT] USD
Assets:Checking -[AMOUNT] USD

; Пример: Затраты на электроэнергию для майнинга
2024-01-31 * "Электроэнергия для майнинга - Январь"
Expenses:Crypto:Mining:Electricity 800.00 USD
Assets:Checking -800.00 USD

Шаблоны для аирдропов

Аирдропы токенов

; Шаблон: Получить аирдроп токенов
YYYY-MM-DD * "[TOKEN] Аирдроп от [PROJECT]"
Assets:Crypto:Wallet:[WALLET]:[TOKEN] [AMOUNT] [TOKEN] {[PRICE] USD}
Income:Crypto:Airdrops [VALUE] USD

; Пример: Аирдроп токенов UNI
2024-03-01 * "Аирдроп UNI от Uniswap"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops 3200.00 USD

Расширенные шаблоны

Арбитраж с использованием мгновенных кредитов (Flash Loan)

; Шаблон: Арбитраж с использованием мгновенного кредита
YYYY-MM-DD * "Арбитраж с использованием мгновенного кредита - [STRATEGY]"
; Мгновенный кредит
Assets:Crypto:Temp:FlashLoan [LOAN_AMOUNT] [TOKEN]
Liabilities:DeFi:[PROTOCOL]:Flash -[LOAN_AMOUNT] [TOKEN]

; Выполнение арбитража
Assets:Crypto:Temp:FlashLoan -[LOAN_AMOUNT] [TOKEN]
Assets:Crypto:Temp:Arbitrage [RETURN_AMOUNT] [TOKEN]

; Возврат мгновенного кредита
Liabilities:DeFi:[PROTOCOL]:Flash [LOAN_AMOUNT] [TOKEN]
Assets:Crypto:Temp:Arbitrage -[LOAN_PLUS_FEE] [TOKEN]

; Прибыль
Assets:Crypto:Wallet:[WALLET]:[TOKEN] [PROFIT] [TOKEN]
Income:Crypto:Arbitrage [PROFIT_USD] USD

Межсетевой мост (Cross-Chain Bridge)

; Шаблон: Перевод активов между сетями
YYYY-MM-DD * "Перевести [AMOUNT] [TOKEN] из [CHAIN1] в [CHAIN2]"
Assets:Crypto:[CHAIN1]:[TOKEN] -[AMOUNT] [TOKEN] {[PRICE] USD}
Assets:Crypto:[CHAIN2]:[TOKEN] [AMOUNT] [TOKEN] {[PRICE] USD}
Expenses:Crypto:Bridge:Fees [FEE] [TOKEN] {[PRICE] USD}
Assets:Crypto:[CHAIN1]:[TOKEN] -[FEE] [TOKEN] {[PRICE] USD}

; Пример: Перевод ETH в Polygon
2024-02-05 * "Перевести 5 ETH из Ethereum в Polygon"
Assets:Crypto:Ethereum:ETH -5 ETH {2600.00 USD}
Assets:Crypto:Polygon:ETH 5 ETH {2600.00 USD}
Expenses:Crypto:Bridge:Fees 0.01 ETH {2600.00 USD}
Assets:Crypto:Ethereum:ETH -0.01 ETH {2600.00 USD}

Шаблоны для оптимизации налогов

Сбор убытков для оптимизации налогов (Tax Loss Harvesting)

; Шаблон: Сбор убытков для оптимизации налогов - Продать [CRYPTO] в убыток
YYYY-MM-DD * "Сбор убытков для оптимизации налогов - Продать [CRYPTO] в убыток"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[HIGH_COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Expenses:CapitalLoss:Crypto [LOSS] USD

; Пример: Сбор убытков ADA
2024-12-15 * "Сбор убытков для оптимизации налогов - Продать ADA в убыток"
Assets:Crypto:Binance:ADA -1000 ADA {0.60 USD}
Assets:Crypto:Binance:USD 445.00 USD
Expenses:Crypto:Fees:Trading 5.00 USD
Assets:Crypto:Binance:USD -5.00 USD
Expenses:CapitalLoss:Crypto 150.00 USD

Долгосрочный прирост капитала

; Шаблон: Продажа с долгосрочным приростом капитала
YYYY-MM-DD * "Долгосрочная продажа - [CRYPTO] удерживалась > 1 года"
date-acquired: "[PURCHASE_DATE]"
holding-period: "[DAYS] days"
Assets:Crypto:[EXCHANGE]:[CRYPTO] -[AMOUNT] [CRYPTO] {[COST_BASIS] USD}
Assets:Crypto:[EXCHANGE]:USD [PROCEEDS] USD
Expenses:Crypto:Fees:Trading [FEE] USD
Assets:Crypto:[EXCHANGE]:USD -[FEE] USD
Income:CapitalGains:LongTerm [GAIN] USD

; Пример: Долгосрочная продажа BTC
2025-02-01 * "Долгосрочная продажа - BTC удерживалась 382 дня"
date-acquired: "2024-01-15"
holding-period: "382 days"
Assets:Crypto:Coinbase:BTC -1.0 BTC {45000.00 USD}
Assets:Crypto:Coinbase:USD 55000.00 USD
Expenses:Crypto:Fees:Trading 50.00 USD
Assets:Crypto:Coinbase:USD -50.00 USD
Income:CapitalGains:LongTerm 9950.00 USD

Шаблоны для сверки

Ежемесячная проверка баланса

; Шаблон: Ежемесячные утверждения баланса
YYYY-MM-DD balance Assets:Crypto:[EXCHANGE]:[CRYPTO] [EXPECTED_BALANCE] [CRYPTO]
YYYY-MM-DD balance Assets:Crypto:Wallet:[WALLET]:[CRYPTO] [EXPECTED_BALANCE] [CRYPTO]

; Пример: Проверка баланса за январь
2024-01-31 balance Assets:Crypto:Coinbase:BTC 2.5 BTC
2024-01-31 balance Assets:Crypto:Binance:ETH 15.0 ETH
2024-01-31 balance Assets:Crypto:Wallet:Ledger:BTC 1.0 BTC

Обновления цен

; Шаблон: Ежедневные обновления цен
YYYY-MM-DD price [CRYPTO] [PRICE] USD

; Пример: Ежедневные цены
2024-01-15 price BTC 45000.00 USD
2024-01-15 price ETH 2500.00 USD
2024-01-15 price ADA 0.50 USD

Инструкции по использованию

  1. Скопируйте соответствующий шаблон для вашего типа транзакции
  2. Замените заполнители (указанные в [КВАДРАТНЫХ СКОБКАХ]) фактическими значениями
  3. Настройте имена счетов в соответствии со структурой ваших счетов
  4. Добавьте метаданные по мере необходимости для налоговой отчетности или отслеживания
  5. Проверьте расчеты перед завершением ввода

Лучшие практики

  • Используйте согласованные соглашения об именах
  • Включайте идентификаторы транзакций в метаданные
  • Тщательно документируйте сложные транзакции
  • Проверяйте обменные курсы и цены
  • Регулярно создавайте резервные копии ваших файлов

Эти шаблоны обеспечивают прочную основу для учета криптовалют в Beancount.io. Настройте их в соответствии с вашими конкретными потребностями и моделями торговли.