accounting
Journal Entry
A double-entry bookkeeping record that documents a financial transaction by debiting one or more accounts and crediting one or more accounts by equal amounts.
Journal entry in cryptocurrency accounting
A journal entry is the foundational unit of double-entry bookkeeping, a record that documents every financial transaction by simultaneously debiting one or more accounts and crediting one or more accounts for equal amounts. Journal entries are the basis of accurate financial reporting, ensuring that every inflow has a corresponding outflow and the accounting equation always balances.
The double-entry principle
Double-entry accounting rests on the fundamental equation:
Assets = Liabilities + Equity
Every transaction affects at least two accounts in equal and opposite ways:
- A debit increases asset and expense accounts; decreases liability, equity, and revenue accounts
- A credit decreases asset and expense accounts; increases liability, equity, and revenue accounts
This dual-sided structure creates a self-checking system: if total debits do not equal total credits, there is an error.
Basic journal entry structure
A standard journal entry contains:
| Field | Description |
|---|---|
| Date | Transaction date |
| Account (Debit) | Account being debited |
| Account (Credit) | Account being credited |
| Amount | Value in reporting currency |
| Memo | Description of the transaction |
| Reference | Transaction hash or external ID |
Cryptocurrency journal entry examples
Example 1: purchasing bitcoin
You buy 0.5 BTC for $15,000 plus a $10 gas fee.
| Date | Account | Debit | Credit |
|---|---|---|---|
| Jan 1 | BTC Asset | $15,010 | |
| Jan 1 | Cash / Bank | $15,010 |
The gas fee is capitalized into the cost basis of the BTC acquired.
Example 2: selling Ethereum at a gain
You sell 1 ETH (cost basis $2,000) for $3,200, paying a $12 gas fee. Net proceeds = $3,188.
| Date | Account | Debit | Credit |
|---|---|---|---|
| Mar 5 | Cash / Bank | $3,188 | |
| Mar 5 | Realized Gain | $1,188 | |
| Mar 5 | ETH Asset | $2,000 |
Example 3: receiving staking rewards
You receive 0.05 ETH in staking rewards worth $150 at time of receipt. This is ordinary income.
| Date | Account | Debit | Credit |
|---|---|---|---|
| Apr 10 | ETH Asset | $150 | |
| Apr 10 | Staking Income | $150 |
Example 4: swapping tokens (DEX trade)
You swap 100 USDC for 0.03 ETH (fair market value $95 due to slippage), paying $8 in gas.
| Date | Account | Debit | Credit |
|---|---|---|---|
| May 15 | ETH Asset | $95 | |
| May 15 | Gas Expense | $8 | |
| May 15 | USDC Asset | $100 | |
| May 15 | Realized Loss | $3 |
Why double-entry matters for crypto businesses
Individual investors often use simpler tracking methods, but businesses and funds processing cryptocurrency need double-entry bookkeeping because:
- Financial statements: Balance sheets, income statements, and cash flow statements require complete double-entry records
- Audit readiness: Auditors expect to trace every transaction to source documents and reconcile balances
- Tax accuracy: Correct classification of income vs. capital events depends on proper account mapping
- Multi-entity reporting: Organizations with multiple wallets, portfolios, or legal entities need consolidated books
- GAAP/IFRS compliance: Professional financial reporting standards require double-entry systems
Chart of accounts for crypto
A typical crypto accounting chart of accounts includes:
Assets
- Digital Asset: Bitcoin
- Digital Asset: Ethereum
- Digital Asset: Stablecoins
- DeFi LP Tokens
- Accounts Receivable
Liabilities
- Crypto Loans Payable
- Accounts Payable
Equity
- Contributed Capital
- Retained Earnings
Revenue
- Realized Gains on Crypto Sales
- Staking Income
- DeFi Yield Income
- Mining Income
Expenses
- Gas Fees
- Exchange Fees
- Realized Losses on Crypto Sales
How Tokenbooks generates journal entries
Tokenbooks creates double-entry journal entries for supported blockchain and exchange transaction flows:
- Reads on-chain and exchange data from connected integrations
- Classifies transactions (trade, transfer, staking, DeFi, NFT, etc.) using the accounting engine
- Maps transaction types to debit/credit accounts based on your chart of accounts
- Values transactions in your reporting currency using transaction-time valuation logic
- Produces ledger outputs and reporting views for selected periods
For a complete overview of crypto accounting workflows, see our crypto accounting guide.