Statement Methodology & Definitions
How crypto statements are generated using public blockchain data
Overview
This statement is generated using publicly available blockchain data retrieved in read-only mode. No private keys, signing permissions, or wallet access are required. All data is sourced directly from public blockchain networks.
Data Sources
Source: Public blockchain data (read-only access)
Networks Supported:
- Bitcoin — Native BTC transactions
- Ethereum — ETH and ERC-20 tokens (including USDC, USDT)
Ethereum data is retrieved from Etherscan (account transaction lists, including internal transactions) and Alchemy (historical balances, transaction receipts, and supporting transfer queries), in read-only mode. Bitcoin data is sourced from public Bitcoin APIs. No custodial or exchange data is included.
Balance Definitions
Opening Balance
The blockchain balance immediately prior to the selected statement start.
- Native Ethereum: independently queried using
eth_getBalanceat the historical boundary block immediately before the selected period. - ERC-20 (USDC, USDT): independently queried at the corresponding historical boundary block using the token contract's
balanceOfmethod. - Bitcoin: derived from confirmed address activity and UTXO accounting up to the statement boundary.
Closing Balance
The wallet balance at the end of the selected period, after all transactions and network fees within the period have been applied.
Balance Reconciliation
Opening Balance + Total Inflows − Total Outflows − Network Fees = Closing Balance. Native ETH reconciliation uses exact integer wei. ERC-20 USDC/USDT reconciliation uses exact integer token base units. These integer values are used for accounting before decimal formatting is applied for presentation.
Transaction Processing
Ordering: Confirmed transactions are ordered by blockchain confirmation position. Bitcoin uses block height, then transaction position within the block. Ethereum uses block number and log index. Running balances follow this canonical order. Same-block Bitcoin transactions that share a block timestamp are not ordered by transaction-id lexicography.
Network Fees: Network fees (gas fees for Ethereum, transaction fees for Bitcoin) are shown as separate line items and deducted from balances. Bitcoin miner fees are defined at the transaction level rather than per input address. Bitcoin does not assign fee portions to individual addresses or inputs. When the statement address provides all inputs, the full network fee is attributed to that address and labelled Network Fee. When a transaction contains inputs from multiple addresses, CryptoBankStatement allocates a proportional share (round_half_up(actualTransactionFeeSats × addressInputSats ÷ transactionTotalInputSats), integer satoshi arithmetic) for address-level accounting. That allocated share is labelled Allocated Network Fee and is not the total miner fee of the containing Bitcoin transaction. The underlying total transaction fee remains on-chain derivable as total inputs minus total outputs.
Contract Interactions (Ethereum): For Ethereum-based assets, token deposits and withdrawals may involve smart contract calls. Fee adjustments are applied where necessary to avoid double-counting. Native Ethereum activity includes wallet-originated transactions even where the transaction transfers zero ETH, because such contract calls may still consume gas. Transaction-history coverage is checked against the selected block range and supporting on-chain signals; an unexplained balance or nonce movement is not treated as complete activity.
All transactions are included based on confirmed blockchain data. Pending or unconfirmed transactions are excluded.
Fiat Valuation
Historical Pricing: Fiat values (GBP, USD, EUR, AED, INR) are estimated using historical market pricing data from third-party APIs where available.
Coverage: Pricing coverage may be complete or partial depending on asset, network, and date range.
Limitations: Fiat valuations are for informational purposes only and do not constitute financial or tax advice. Actual market prices may vary.
Timezone & Dates
Timezone: All timestamps are displayed in UTC (Coordinated Universal Time) unless otherwise specified.
Date Format: Date formatting may vary based on selected statement format (International, UK, US, EU, UAE) but does not affect calculations or included transactions.
Statement Format
Statements can be generated in multiple formats (International, UK, US, EU, UAE) which control:
- Date formatting (YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY)
- Minor wording differences (e.g., “Closing Balance” vs “Ending Balance”)
Format selection affects presentation only and does not change calculations, included transactions, or statement content.
Scope & Limitations
Single Wallet, Single Asset: Each statement covers one wallet address and one asset (e.g., BTC, ETH, USDC, or USDT) per statement period.
Self-Custody Only: Statements are designed for self-custody wallets (e.g., MetaMask, Ledger, hardware wallets). Exchange and custodial wallets are not supported.
Maximum Period: Statements can cover up to 5 years of transaction history.
Transaction Volume: For accountant readability, statements are limited to 2,500 transactions per period. High-activity wallets (lifetime activity above 50,000 transactions) are not supported as they typically belong to exchanges or service providers rather than personal users.
Important Information
Not Tax Advice
This statement is provided for informational purposes only and does not constitute tax, legal, accounting, or financial advice. Consult a qualified professional for guidance on your specific situation.
No Regulatory Approval
This service is not regulated, approved, or endorsed by any financial authority, tax authority, or government agency. Generated statements are not official documents.
Acceptance
We do not claim or guarantee that banks, accountants, auditors, or any other third parties will accept these statements. Acceptance is at the sole discretion of the recipient.
User Responsibility
Users are responsible for verifying the accuracy of generated statements and ensuring compliance with applicable laws and regulations in their jurisdiction.
Questions?
This methodology is provided for transparency and clarity. For technical questions about statement generation, please review the documentation or return to the homepage.