跳转到主要内容
加密货币模板与示例

加密货币模板与示例

实用的 Beancount 模板和真实示例,涵盖常见的加密货币场景,包括交易、挖矿、质押、空投和 DeFi 活动。

本指南提供实用的 Beancount 模板和真实示例,涵盖常见的加密货币场景。 复制并调整这些模板,以满足你自己的加密货币记账需求。

探索实时加密货币账本示例:

基础设置模板

账户结构模板

; =============================================================================
; CRYPTOCURRENCY ACCOUNT SETUP TEMPLATE
; =============================================================================
 
; 交易所账户
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: "比特币"
  asset-class: "cryptocurrency"
 
1970-01-01 commodity ETH
  name: "以太坊"
  asset-class: "cryptocurrency"
 
1970-01-01 commodity USDC
  name: "美元币"
  asset-class: "stablecoin"

交易模板

基础加密货币购买

; Template: 在交易所购买加密货币
YYYY-MM-DD * "在 [EXCHANGE] 购买 [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
 
; Example: 在 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

加密货币出售

; Template: 在交易所出售加密货币
YYYY-MM-DD * "在 [EXCHANGE] 出售 [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  ; or Expenses:CapitalLoss:Crypto
 
; Example: 出售 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

加密货币之间的交易

; Template: 一种加密货币交易为另一种
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  ; Taxable event
  Expenses:Crypto:Fees:Trading          [FEE] USD
  Assets:Crypto:[EXCHANGE]:USD         -[FEE] USD
 
; Example: 将 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

转账模板

从交易所转账到钱包

; Template: 将加密货币从交易所转账到钱包
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}
 
; Example: 将 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}

跨交易所转账

; Template: 在交易所之间转账
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}
 
; Example: 将 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}

质押模板

以太坊质押

; Template: 质押 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}
 
; Example: 质押 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}

质押奖励

; Template: 接收质押奖励
YYYY-MM-DD * "[CRYPTO] 质押奖励 - [PERIOD]"
  Assets:Staking:[PROTOCOL]:[CRYPTO]    [AMOUNT] [CRYPTO] {[PRICE] USD}
  Income:Crypto:Staking:[CRYPTO]        [VALUE] USD
 
; Example: 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 流动性提供

; Template: 增加流动性到 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}
 
; Example: 增加 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 借贷

; Template: 提供资产给 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}
 
; Example: 提供 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}

挖矿模板

挖矿奖励

; Template: 接收挖矿奖励
YYYY-MM-DD * "[CRYPTO] 挖矿奖励 - [POOL/SOLO]"
  Assets:Crypto:Mining:[CRYPTO]     [AMOUNT] [CRYPTO] {[PRICE] USD}
  Income:Crypto:Mining:[CRYPTO]     [VALUE] USD
 
; Example: 比特币挖矿奖励
2024-01-15 * "BTC 挖矿奖励 - Slush Pool"
  Assets:Crypto:Mining:BTC    0.01 BTC {45000.00 USD}
  Income:Crypto:Mining:BTC   450.00 USD

挖矿费用

; Template: 挖矿运营费用
YYYY-MM-DD * "挖矿 [EXPENSE_TYPE] - [PERIOD]"
  Expenses:Crypto:Mining:[EXPENSE_TYPE]  [AMOUNT] USD
  Assets:Checking                       -[AMOUNT] USD
 
; Example: 挖矿电力成本
2024-01-31 * "挖矿电力 - 1 月"
  Expenses:Crypto:Mining:Electricity  800.00 USD
  Assets:Checking                    -800.00 USD

空投模板

代币空投

; Template: 接收代币空投
YYYY-MM-DD * "来自 [PROJECT] 的 [TOKEN] 空投"
  Assets:Crypto:Wallet:[WALLET]:[TOKEN]  [AMOUNT] [TOKEN] {[PRICE] USD}
  Income:Crypto:Airdrops                 [VALUE] USD
 
; Example: UNI 代币空投
2024-03-01 * "来自 Uniswap 的 UNI 空投"
  Assets:Crypto:Wallet:MetaMask:UNI  400 UNI {8.00 USD}
  Income:Crypto:Airdrops            3200.00 USD

高级模板

闪电贷套利

; Template: 闪电贷套利
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

跨链桥

; Template: 跨链桥接资产
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}
 
; Example: 将 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}

税务优化模板

税收亏损收割

; Template: 税收亏损收割 - 以亏损出售 [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
 
; Example: 收割 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

长期资本收益

; Template: 长期资本收益出售
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
 
; Example: 长期 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

对账模板

每月余额验证

; Template: 每月余额断言
YYYY-MM-DD balance Assets:Crypto:[EXCHANGE]:[CRYPTO]  [EXPECTED_BALANCE] [CRYPTO]
YYYY-MM-DD balance Assets:Crypto:Wallet:[WALLET]:[CRYPTO]  [EXPECTED_BALANCE] [CRYPTO]
 
; Example: 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

价格更新

; Template: 每日价格更新
YYYY-MM-DD price [CRYPTO] [PRICE] USD
 
; Example: 每日价格
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. 替换占位符(显示在 [BRACKETS] 中)为实际值
  3. 调整账户名称 以匹配你的账户结构
  4. 根据需要 添加元数据 以进行税务报告或追踪
  5. 在完成条目前 验证计算

最佳实践

  • 使用一致的命名约定
  • 在元数据中包含交易 ID
  • 彻底记录复杂的交易
  • 验证汇率和价格
  • 定期备份你的文件

这些模板为 Beancount.io 中的加密货币记账提供了坚实的基础。 根据你的具体需求和交易模式自定义它们。