Guide

Préparer soi-même son dossier d'origine du patrimoine : le guide pas à pas

Ce guide est publié en anglais uniquement.

This is the long version: one case, worked end to end, from the first export to the file you send. It assumes you have read How to write a source of wealth file the bank can check, which sets out the five pages and why they are in that order. This guide fills them in.

It is written for the case you can reasonably do yourself: one exchange, one or two wallets you control, no DeFi, nothing that has disappeared. If that is not your history, read the traps in part two before you start. You may still choose to do it yourself, but you should know what you are taking on.

The case this guide follows

Anna transferred EUR 10,000 from her salary account to an exchange in March 2020, in two payments. She bought 1.4 BTC across two orders that month. In June 2020 she withdrew the lot to a hardware wallet and has not moved it since. It is now worth roughly EUR 130,000. She wants to sell 0.5 BTC and send about EUR 45,000 to her bank for a house deposit.

Part one: the walkthrough

Step 0. Write your story before you open anything

Half a page, plain language, before the first export: when you first bought, with what money, where, what you did with it, what you want to do now. Date every sentence you can.

This is not the final text. It is the map you check every document against. The person who starts from a written story finds their own gaps; the person who starts from the exports drowns in them.

Step 1. Draw the perimeter

Before any figures, write down what counts as you: every exchange account you have ever opened and every blockchain address you have ever controlled. Include the ones that are empty, closed or forgotten.

That list does more than catalogue your accounts. It draws a line. Everything inside it is you moving your own value around, which changes nothing about how much you own. Everything crossing it is a flow in or out, and every flow has a counterparty who has to be named. Get the line wrong and your own transfers read as sales, and money you already owned reads as money arriving from a stranger.

RefPlatform or walletTypeAccount or addressActive
AExchangeAccount in your name, verifiedUser ID or emailMar 2020 to today
BHardware walletSelf-custody, BTCbc1q...x7Jun 2020 to today

For Bitcoin, a wallet usually generates a fresh address for every receipt. List every address that has received funds, or provide the wallet's extended public key so the bank can derive them. For Ethereum and Solana one address per wallet is normal.

Step 2. Get the data the bank will actually check

A source of wealth file is not a scrapbook of screenshots. What a reviewer wants is the underlying data and a way to verify it independently. Three things carry almost all of the weight:

  • Your addresses. From Step 1. The chain is public, so once the bank has them it can see every movement without being shown it.
  • Your exchange records. Full history, account opening to today, for deposits, trades and withdrawals. Export as CSV, and keep the exchange's own reference numbers, since that is the language its support desk speaks. Some banks will ask for read-only access instead of a file; give access to data, never to trading or withdrawals.
  • Your bank statements. Official PDF statements, not app screenshots, for the months when money went out to the exchange and for the months when the proceeds come back. They confirm the same movements from the side the bank already trusts.

Documents beyond that earn their place only where the data cannot speak for itself: a deed of inheritance, a loan agreement, a contract of sale, a confirmation email from a platform that has since closed, the paperwork behind an event on page five. Assemble those carefully. Do not spend a weekend printing explorer pages the bank can open itself.

Two things are worth having in any case: the exchange's verification confirmation, showing the account is in your name and when it was verified, and proof that a self-custody wallet is yours. For the second, most wallets can sign a short message such as "I, Anna Example, confirm control of this address on 4 September 2026 for [bank]". A small test transfer on a date the bank names works too. Ask which they prefer rather than guessing.

Step 3. Reconcile: show that the data is complete

Before anything is explained, it has to add up. Reconciliation is the check that the history you are about to narrate actually produces the balance you say you hold. Three tests, and for a case like Anna's you can do all three with a pen.

Leg one, bank to exchange. Every transfer on your statement appears as a deposit on the exchange, same amount, within a few days.

Date sentAmountDate creditedAmountMatches
2 Mar 2020EUR 6,000.003 Mar 2020EUR 6,000.00Yes
16 Mar 2020EUR 4,000.0017 Mar 2020EUR 4,000.00Yes

Then check that what you deposited, minus what the purchases cost including fees, leaves the residual you can actually see on the exchange. Anna: EUR 10,000 in, EUR 9,999 spent, EUR 1 sitting there. Small residuals are normal. Unexplained ones are not.

Leg two, exchange to wallet. Every crypto withdrawal appears on the chain, arriving at an address on your list. The quantity arriving equals the quantity withdrawn minus the network fee.

DateAssetWithdrawnFeeReceivedToTransaction
12 Jun 2020BTC1.40000.00021.3998bc1q...x7 (B)a3f9...e1

The balance check. The other two tests follow movements. This one tests the whole account at once. For each wallet and each exchange account, take every movement in and out that your history contains, run them forward from zero, and compare the result with the balance the explorer or the exchange shows today.

RefBalance todayBalance the history impliesDifferenceDifference %
A, exchangeEUR 1.00EUR 1.000.000.0%
B, hardware wallet1.3998 BTC1.3998 BTC0.00000.0%

A difference of a few cents on a dust balance is noise and can be stated as such. A difference you can see in the percentage column means one of three things, and you have to find out which: a wallet you have not listed, a movement your data does not contain, or a price you have applied wrongly. Every one of those is a question the reviewer would have asked, so it is cheaper to answer it now.

This is also the whole reason a case like Anna's can be done by hand. Two movements, each one followable from end to end, two accounts that reconcile exactly. Add a second exchange and a third wallet and the number of joins grows far faster than the number of accounts.

Step 4. Split the balance into what created it

The single most useful thing you can do for a reviewer is separate two things and never mix them:

  • Money and token flows. Everything that crossed the perimeter from Step 1: your own fiat in, anything sent to you by somebody else, everything withdrawn back out.
  • Investment gains. What the activity inside that perimeter added or took away, with nothing crossing the line.

In a real history those two split further, and it is worth using the same seven categories a reviewer will use, because an amount left in the wrong one is the fastest way to be asked a question you cannot answer.

CategoryWhat belongs in it
Fiat flowsMoney from your bank into a platform, and proceeds paid back out to a bank
Third-party crypto flowsCoins sent to you by somebody else, and coins you sent to somebody else
DeFi flowsValue moved into and out of protocols: lending, liquidity, staking contracts, bridges
Capital gainWhat price movement added or removed, realised and unrealised
Other revenuesStaking and interest rewards, mining, airdrops and free distributions, forks, cashback, rebates, referral bonuses, refunds
Margin tradingProfit or loss on leveraged positions, separately from ordinary gains
FeesNetwork and platform fees paid along the way

The two categories people forget are other revenues and fees. Other revenues is where wealth that was never bought ends up: the airdrop from 2021, four years of staking rewards, a fork you never claimed until you did. It is often the difference between a balance that adds up and one that does not, and it usually carries a tax question with it. Fees, individually trivial, are the reason a long history never quite balances to the cent.

Every category is a different question from the reviewer. Money in asks whose. Gains ask how. Other revenues ask from what, and whether it was declared.

The test that closes the step. Add the seven together. They should account for what you hold today. Whatever is left over is unexplained balance, and unexplained balance is precisely what a source of wealth file exists to remove.

CategoryAnna, EUR
Fiat flows, net+10,000
Third-party crypto flows, net0
DeFi flows, net0
Capital gain+120,001
Other revenues0
Margin trading0
Fees-2
Explained129,999
Held today129,999
Unexplained0, or 0%

One line on page four: "EUR 10,000 of my own money went in, nothing came out, and the rest is appreciation." That is the answer to how EUR 10,000 became EUR 130,000, and it is checkable in a minute. A history with a dozen assets will not produce a round zero, and it does not need to. What it needs is an unexplained remainder below ten percent of the balance, and a named reason for the part that is not explained.

Then build the position at the dates that matter: each purchase, the withdrawal, each 31 December, and the date of the file. Pick one price source, name it, state the time of day you take the close, quote everything in euros, and never switch source mid-file. Where the exchange quoted you in euros at the moment of purchase, use its own figure for that row and say so.

DateEventChangeHeldPrice EURSourceValue EUR
5 Mar 2020Purchase+0.85000.85007,050Exchange5,993
19 Mar 2020Purchase+0.55001.40007,270Exchange10,178
12 Jun 2020Withdrawal, network fee-0.00021.39988,400Price source11,758
31 Dec 2020Year end01.399823,700Price source33,175
31 Dec 2021Year end01.399840,900Price source57,252
Date of fileToday01.3998[today]Price source[today]

Step 5. Name the origin of anything that arrived from outside

Step 4 sorted the value into categories. This step attends to one of them, because it is the one a reviewer reads first: everything that crossed your perimeter inwards and did not come from your own bank account.

Fiat you sent yourself is the easy case, evidenced by the statement that shows it leave. Coins that arrived from somebody else are the hard case, and the reviewer's default reading of an unexplained incoming transfer is not a generous one. So each material one gets a named origin and a line of evidence.

DateValue EURFromWhat it wasWhat shows it
14 Feb 202118,400Exchange, account in own nameProceeds of an earlier sale, moved to self-custodyExchange statement, chain record
3 Aug 202225,000Named individualGift from a parentWritten gift record, the giver's bank trail
9 Nov 20236,100Client, businessInvoice settled in stablecoinInvoice, contract, the declaration it appears in

What counts as material is a judgement, and the honest version of it is this: rank every incoming transfer by value and work down until what remains would not change a reviewer's view of the case. Ten transfers that each move a few euros do not need ten paragraphs. One transfer that moves a fifth of your wealth needs a good one. A file that narrates every small movement and glosses the large ones reads as evasive, however long it is.

Where the money did not come from crypto at all, what proves it depends on what it was:

Where it came fromWhat shows it
Salary or savingsPayslips, bank statements, employment letter, tax statement
Business profitsAccounts, dividend statements, register of ownership
Sale of an asset, property or a carSale contract or deed, receipt, tax confirmation
Sale of a company or an equity stakeInvestment documents, cap table, exit statement
Gift or inheritanceThe deed or a written gift record, the giver's bank trail, legal transfer documents
A loanThe loan contract and the transfer that follows it
Earlier crypto activityExchange statements, the chain record, any tax declaration it appears in

Where you stop. You explain the people and platforms you dealt with directly: who sent it to you, and why. You are not expected to explain where your counterparty's money came from before it reached them. That question exists, and the bank's own screening tools address it, but it is not yours to answer and a file that tries to answer it will not finish.

Step 6. Say what you left out

Any history of length carries noise: tokens worth nothing that appeared unasked, spam and advertising tokens sent to a public address, dust left behind by a swap, an NFT distributed to everybody who once used a protocol. Cleaning it out is right. Leaving it out silently is not, because a reviewer who finds a transaction in your wallet that is missing from your file has to decide whether it was noise or whether it was hidden.

So keep a short list: what you excluded and the rule you used. Three or four lines is enough.

Example. "Excluded from the analysis: 34 token receipts with no market value, none of which was ever sold or moved, listed in the annex by transaction hash; and eleven dust balances below EUR 1. No excluded item was disposed of and none contributes to the balance above."

The same applies to the losses. A speculative run through a dozen tokens that ended where it started, or worse, is a story about your appetite for risk and not about your wealth. It belongs in the file as a line, not as forty pages of trades. Most of it landed in losses is a complete sentence when it is true.

Step 7. Write the five pages

One side of A4 each where you can. Short declarative sentences. Every figure carries a reference to the evidence behind it.

Page one

What you hold, and what you are asking for

"I hold 1.3998 BTC in a hardware wallet I control, worth approximately EUR 130,000 at 4 September 2026. I intend to sell 0.5 BTC and transfer approximately EUR 45,000 to my account [IBAN] at [bank] in [month]. The remaining 0.8998 BTC stays where it is."

Page two

Wallets and reconciliation

The perimeter from Step 1, with who controls each entry and how that is shown. Then the three tests from Step 3: the two legs, and the balance check with its difference column. Close with the holding sentence: the address shows the arrival and nothing after it, and the balance today equals what arrived.

Page three

Origin of wealth

Where the fiat came from, in euros, with the statement that shows it leaving: "Between 2 and 16 March 2020 I transferred EUR 10,000 in two payments from my salary account to my verified exchange account. The funds were salary saved over the preceding 18 months." Then the table from Step 5 for anything that arrived from somebody else, or the single sentence that nothing did.

Page four

How the wealth was created

The seven categories from Step 4 with a figure against each, the explained line and the percentage. Then the position over time, the named price source, and two closing lines: total fiat in, value today.

Page five

Significant events and open points

Events first: a theft, a lost wallet, an exchange that collapsed with your balance in it, an inheritance or gift mid-history, a divorce settlement, a large purchase that took value out. Each dated, with what it did to the balance. Then the exclusions from Step 6, then what you cannot prove, why, and what you did about it. Anna's reads: "No significant events. No open points: both movements can be followed end to end."

Step 8. Declare, check, send

A source of wealth file is a statement you are making, not a report somebody produced about you, and it should end by saying so. Sign and date something close to this:

The declaration

"The wallets and accounts listed in this file are owned or controlled by me. I have made reasonable efforts to include all of them, and where data is missing or incomplete I have identified the gap rather than passed over it. The explanations here reflect my understanding of my own history. To the best of my knowledge the funds described are not derived from criminal activity."

That paragraph does real work. It tells the reviewer which parts are evidence and which parts are your account of events, and it converts an omission you disclosed into a known limitation rather than something found later.

Then assemble: one PDF, the five pages, an index of what is attached, then the attachments in order. Keep the exchange exports where you can send them separately, and name the addresses in the file rather than printing the chain.

Then read it as though somebody else wrote it and you have been asked to find the hole. Better still, hand it to a friend who knows nothing about your crypto. Six questions:

  1. Does every euro you brought in and out of the exchanges appear on a bank statement in your name?
  2. Does the file list every address you control and every account you have used, with a way for the bank to pull that data itself?
  3. Does the balance on the explorer today match what pages one and four say you hold?
  4. Do the seven categories on page four add up to what you say you hold, with the unexplained remainder amount below ten percent of the balance and named?
  5. Is every jump in the balance either explained by a movement or named as an event?
  6. And if the gains are large, can you explain your tax position on them, confirmed by somebody qualified rather than by you?

Six yeses and you have a file that can be reviewed rather than returned. The bank will still run its own checks, including a blockchain analytics screen of your addresses for illicit activity, and it may still come back with questions. What it should not come back with is a question you could have answered before you sent it.

Send it before they ask, with the request to open the conversation about the incoming transfer. A file that arrives with the question is somebody who is ready. A file that arrives three weeks after it is somebody who is scrambling.

Part two: the traps

Everything above rests on two movements that can be followed end to end. Below are the five things that most often break that, each with a real case behind it. Names, amounts and dates are changed.

Trap one: transfers between your own wallets that look like sales

Move coins from one wallet you own to another and the exchange, the tax tool and the chain each see only their half. A tool that watches coins leave a wallet it knows, and does not recognise the destination, books a disposal at that day's price and a purchase when they arrive somewhere else. Your file then contains gains that never happened and a tax question you cannot answer.

This is the perimeter from Step 1 failing in the most expensive way: a movement inside the line, counted as a movement across it. What it costs you by hand is listing every address you have ever controlled before you touch a single transaction, then checking every outgoing movement against that list. The number of checks grows with every wallet, and so does the chance of missing one.

Case. A client moved 2 ETH between his own wallets in 2021 to try an application. His tax report booked a sale at EUR 3,800 and a purchase at the same price, inventing a EUR 4,600 gain. The bank asked why a gain of that size was missing from his tax return, and the file went back for two months.

Trap two: withdrawals with no network stated

Many tokens exist on several networks at once. A stablecoin can leave an exchange on Ethereum, Tron or Solana, and older exports record only "withdrawal, 1,200 USDT" with an address and no network. Until you know which chain it left on, nobody can find it, and the officer sees money leaving and arriving nowhere.

What it costs you by hand: opening the withdrawal detail page for every such movement, or raising a support ticket. Some exchanges answer in a day. Some no longer hold the data.

Case. A 2022 withdrawal of 1,200 USDT showed no network. Three support tickets over five weeks established that it had left on Tron. Until then the file showed money that had vanished, and the client's mortgage offer expired in the meantime.

Trap three: tokens that no longer trade

A token bought in 2017 may be listed nowhere, have no price feed, or have migrated to a new contract under a different name. Your wallet still shows a balance, no source can value it, and from the bank's side money went into something with no visible exit.

What it costs you by hand: identifying each one, documenting what it was, what you paid and what became of it, and stating it on page five rather than letting the bank find the hole. If it migrated, you need the announcement and the new contract address to show the position survived.

Case. A client held a 2017 token bought for EUR 9,000 that now trades nowhere. His summary listed the purchase and never the outcome, so the bank read EUR 9,000 as unexplained. One paragraph about the project's closure, with the last announcement attached, closed the point.

Trap four: historic prices

Every snapshot needs a price, and the older the date the shakier it gets. The exchange quoted you in dollars while you think in euros. The trade confirmation and a public source disagree. Two public sources disagree with each other by several percent on the same day. A swap between two tokens had no fiat price at all and one has to be derived.

Nobody expects you to be right to the cent. They expect one convention, stated, used everywhere, so that your own figures agree with each other. This is also where the split in Step 4 gets genuinely hard: capital gain is the difference between two prices, so every shaky price becomes a shaky gain, and once value has moved around several assets what was your own money and what is growth on top of it stop being easy to tell apart.

Case. A 2017 purchase was priced by the exchange in dollars. The client converted at the year-average rate, his tax report used the daily rate, and the cost basis differed by 8 percent between two documents in the same file. The bank asked which was true, and the answer was a full re-pricing.

Trap five: the platform that no longer exists

If you bought somewhere that has closed, been acquired or gone bankrupt, there is nothing to export. What survives is your bank statement showing the money leave, any confirmation emails you kept, and the chain record of the withdrawal if you ever moved the coins off. The leg from euros to coins has a record on one side and a memory on the other.

What it costs you by hand: searching old mailboxes, reconstructing the purchases from the transfers and the arrivals, and stating plainly on page five what cannot be documented. Banks understand that platforms fail. They do not accept silence about it.

Case. A client's first 3 BTC were bought in 2016 on a platform that closed in 2019. A bank statement showing EUR 1,900 leaving, a wallet showing 3 BTC arriving four days later, and one surviving confirmation email were accepted together with a written explanation. It took two weekends of searching an old mailbox to find them.

What the traps have in common

Each one is a movement that cannot be followed end to end, or a figure with two defensible values. Anna's case has none. A five-year history with two exchanges and three wallets has dozens, and every one has to be found, resolved and written up before the officer finds it. Each one also leaves a residue in the same place: the unexplained line at the bottom of Step 4.

The work is not harder in kind. It is harder in quantity, and quantity is where a weekend turns into a month.

Part three: when to stop doing it yourself

Be honest with yourself before you start. If any of these is true, the method above still applies, but expect weeks rather than a weekend, and expect the first version to come back with questions.

  • More than one exchange, or more than two wallets.
  • You have ever moved coins between your own wallets.
  • DeFi, staking, lending, liquidity pools, NFTs or bridges, even once.
  • Wealth that was never bought: mined, airdropped, earned as income, gifted or inherited.
  • A token that no longer trades, or that migrated.
  • A platform that closed, or an account you can no longer reach.
  • A withdrawal whose network or transaction you cannot find.
  • A completion date or a mortgage offer you cannot move.
  • A bank has already asked questions, or has already refused you once.

The last one matters most. A refusal is not a neutral event: the second file has to answer the questions the first one raised, with a reviewer who is already sceptical. If you are going to hand a bank a source of wealth file, hand them a complete one.

There is a plain cost question too. Two weekends is a reasonable price for a case like Anna's. A month of evenings, ending in a file that may still come back, is not a reasonable price for anything.

One part you cannot do at all

Everything in part one is work you can do with patience. The screening is not. A bank checking a set of addresses is asking whether any of them has dealt, directly or at one remove, with a sanctioned entity, a mixer, a darknet market, a scam, a gambling platform or an exchange with no customer checks. Answering that needs an attribution database that names the entity behind an address, and those are licensed to institutions.

Two things follow, and both are worth knowing before you send anything.

The first is that a clean-looking history is not the same as a clean result. Attribution coverage is much thinner on the deposit side than the withdrawal side, because the addresses that sent you money are more often unlabelled than the exchanges you sent money to. An address with no label is an address nobody has identified, not an address that has been cleared.

The second is that these results are a snapshot. An address rated low risk today can be reclassified next month when the entity behind it is identified, which is why a screen run two months before your file arrives is worth less than one run the week it does.

You can still do the sensible part yourself: know which platforms your money came from and went to, and be ready to explain any counterparty that is not an exchange in your own name. If a screen does come back with a flag, the reviewer's question is never only whether it is there, it is what you say about it.

Part four: finding out how big your case is

Two things exist for the moment you are not sure, and they answer different questions.

The readiness check is free and takes two minutes. Eight questions, and it comes back green, amber or red, pointing at the specific gaps a reviewer would find first. It tells you how exposed you are. It does not write anything for you.

The Simple check is a wealth summary, not a source of wealth declaration. You supply the addresses of your Bitcoin, Ethereum and Solana wallets, and it returns the crypto side of Step 3 and Step 4 already done for them: what you hold, whether the data adds up wallet by wallet, how much of the balance the categories explain and how much is left over, the split between third-party crypto flows, DeFi, capital gain and other revenues, your inflows and outflows month by month, and the counterparties you dealt with most, with written commentary on what it found. It does not see your exchange accounts or your bank, so the fiat legs stay yours to reconcile. It is the fastest way to see your own history the way a reviewer will see it, and to find out whether the file you are planning to write by hand is the file your case needs.

Where a case needs the full claim file, the pricing page sets out what that is and what it costs. What each way of getting there actually costs, including doing nothing, is set out here.