メインコンテンツへスキップ
Beancount.io Logo
暗号通貨のテンプレートと例

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

一般的な暗号通貨のシナリオ(取引、マイニング、ステーキング、エアドロップ、DeFiアクティビティなど)に対応した、実践的なBeancountテンプレートと実際の例を紹介します。

このガイドでは、一般的な暗号通貨のシナリオに対応した、実践的な 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 での暗号通貨会計の強固な基盤を提供します。特定のニーズと取引パターンに基づいてカスタマイズしてください。