加密货币模板与示例
本指南提供实用的 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