メインコンテンツまでスキップ

暗号通貨のテンプレートと例

このガイドでは、一般的な暗号通貨のシナリオに対応した、実践的な 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] を購入"
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

; 例: Coinbase で 1 BTC を購入
2024-01-15 * "Coinbase で 1 BTC を購入"
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] を売却"
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 * "Coinbase で 0.5 BTC を売却"
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 * "Binance で 1 BTC を 20 ETH と取引"
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] を振替"
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}

; 例: Ledger に BTC を振替
2024-01-20 * "Coinbase から Ledger に 1 BTC を振替"
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 * "[取引所1] から [取引所2] へ [AMOUNT] [CRYPTO] を振替"
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}

; 例: Coinbase から Binance に ETH を振替
2024-02-05 * "Coinbase から Binance に 10 ETH を振替"
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 * "Ethereum 2.0 で 32 ETH をステーキング"
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] ステーキング報酬 - [期間]"
Assets:Staking:[PROTOCOL]:[CRYPTO] [AMOUNT] [CRYPTO] {[PRICE] USD}
Income:Crypto:Staking:[CRYPTO] [VALUE] USD

; 例: ETH ステーキング報酬
2024-02-01 * "ETH ステーキング報酬 - 1月"
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 * "Compound に [AMOUNT] [TOKEN] を供給"
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}

; 例: Compound に USDC を供給
2024-01-20 * "Compound に 10000 USDC を供給"
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] マイニング報酬 - [プール/ソロ]"
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 * "マイニング [費用タイプ] - [期間]"
Expenses:Crypto:Mining:[EXPENSE_TYPE] [AMOUNT] USD
Assets:Checking -[AMOUNT] USD

; 例: マイニングの電気代
2024-01-31 * "マイニング電気代 - 1月"
Expenses:Crypto:Mining:Electricity 800.00 USD
Assets:Checking -800.00 USD

エアドロップテンプレート

トークンエアドロップ

; テンプレート: トークンエアドロップを受け取る
YYYY-MM-DD * "[プロジェクト] からの [TOKEN] エアドロップ"
Assets:Crypto:Wallet:[WALLET]:[TOKEN] [AMOUNT] [TOKEN] {[PRICE] USD}
Income:Crypto:Airdrops [VALUE] USD

; 例: UNI トークンエアドロップ
2024-03-01 * "Uniswap からの UNI エアドロップ"
Assets:Crypto:Wallet:MetaMask:UNI 400 UNI {8.00 USD}
Income:Crypto:Airdrops 3200.00 USD

高度なテンプレート

フラッシュローンアービトラージ

; テンプレート: フラッシュローンアービトラージ
YYYY-MM-DD * "フラッシュローンアービトラージ - [戦略]"
; フラッシュローン
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

クロスチェーンブリッジ

; テンプレート: チェーン間で資産をブリッジ
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}

税金最適化テンプレート

タックスロスハーベスティング

; テンプレート: タックスロスハーベスティング - [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]

; 例: 1 月の残高検証
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. エントリを確定する前に計算を確認します

ベストプラクティス

  • 一貫した命名規則を使用する
  • トランザクション ID をメタデータに含める
  • 複雑なトランザクションを徹底的に文書化する
  • 為替レートと価格を確認する
  • ファイルの定期的なバックアップを維持する

これらのテンプレートは、Beancount.io での暗号通貨会計の強固な基盤を提供します。特定のニーズと取引パターンに基づいてカスタマイズしてください。