How to Document the Trail from Bank to Exchange to Crypto Wallet
The strongest pack connects each custody boundary with the record produced at that boundary instead of relying on one document to explain everything.
Written by: CryptoBankStatement editorial team
Last reviewed:
Product documentation review only. No legal, tax, financial, immigration or banking advice.
Primary sources
- Can my client use bitcoin to purchase property? — The Law Society
- AMLG11630: Source of Funds and Source of Wealth — HM Revenue & Customs
- Thematic review of source of funds and wealth compliance — Solicitors Regulation Authority
Document the trail in order: the bank statement showing money sent to the exchange, the exchange deposit and executed purchase, the exchange withdrawal record, the matching blockchain transaction into your public address, the wallet activity during self-custody, and any later exchange sale and bank receipt. Use dates, native-asset amounts, fiat amounts and transaction hashes to connect adjacent records.
No single statement covers the full journey. Bank records do not show on-chain custody, exchange records stop at the platform boundary, and a public-address statement cannot see private exchange trades or identify the account holder. Combine the records and explain legitimate differences caused by fees, spreads and timing.
Use the right record at each boundary
- Bank to exchange: bank statement plus the exchange fiat-deposit record
- Inside the exchange: exchange order, trade history or account statement
- Exchange to wallet: exchange withdrawal record plus the blockchain transaction hash
- During self-custody: public-address PDF and CSV with reconciled address activity
- Wallet back to exchange: blockchain transaction plus exchange deposit record
- Exchange to bank: sale record, fiat withdrawal and receiving bank statement
Create a one-page chronology
- Number every supporting document or file
- List events in date and time order
- Record both fiat and crypto amounts without rounding away differences
- Add transaction hashes for every on-chain boundary
- Label transfers between addresses you control
- Explain missing records and every material mismatch
Worked evidence chain
- Exhibit 1: bank statement shows £5,000 sent to the named exchange
- Exhibit 2: exchange statement shows the fiat deposit and BTC purchase
- Exhibit 3: exchange withdrawal record names the destination address and transaction ID
- Exhibit 4: Bitcoin address statement shows the matching receipt and later activity
- Exhibit 5: later exchange and bank records show the sale and receipt of GBP proceeds
What the reviewer is trying to understand
The question is broader than whether the final money arrived from a UK bank. Current SRA and HMRC guidance describes source of funds as understanding the activity that generated the specific money and evaluating whether the explanation and evidence make sense together.
How CryptoBankStatement can help
CryptoBankStatement supplies the self-custody section of the trail for supported BTC, ETH, Ethereum-mainnet USDC and Ethereum-mainnet USDT addresses. Preview for free, then unlock the PDF and CSV for £3.99. Pair the output with the exchange and bank records for the off-chain sections.
Important limitations
CryptoBankStatement is not a bank, accountant, solicitor, tax adviser, immigration adviser or financial adviser. This content is not legal, tax, financial, immigration or banking advice. The receiving institution decides what documents it accepts. The statement does not combine exchange accounts with wallets, perform blockchain-forensics screening, verify legal ownership or certify lawful origin.
Related pages
Continue reading
Frequently asked questions
- Which records connect a bank transfer to a crypto purchase?
- Use the bank payment, exchange fiat-deposit record and exchange trade or order record. A blockchain transaction begins later, when crypto leaves the exchange for a public address.
- How do I match an exchange withdrawal to my wallet?
- Compare the exchange withdrawal transaction ID, asset, destination address, amount and time with the public blockchain record and the incoming entry for your address.
- Why are the amounts different?
- Bank fees, exchange trading fees, withdrawal fees, spreads and price movement can create legitimate differences. Preserve the original figures and explain each documented deduction rather than editing amounts to match.
- Can CryptoBankStatement include my Coinbase or Kraken trades?
- No. Use the exchange's own statement or export for activity inside a custodial account. CryptoBankStatement covers supported public-address activity after withdrawal to self-custody.
- What if I used several exchanges and wallets?
- Create an inventory and a chronological index. Generate one statement per relevant supported address, include each exchange export, and map transfers using transaction hashes.