Free tool

Would your crypto history survive a source-of-funds check?

When crypto proceeds land on a German bank account, the bank increasingly demands proof of the funds' origin: a closed chain from the first euro deposit through purchase, custody and transfers to the payout. Between the request and a frozen account there are often only weeks. This check shows you beforehand where your chain has holes.

100% in your browserWorks offlineNo upload
Private because local
In the browser

The analysis runs entirely on your machine. There is no server that could receive your files.

Works offline

You can disconnect from the internet before loading files. The check still works.

Nothing stored

Nothing is uploaded or stored. We count anonymously that an analysis ran, never its contents.

01
Load exports

Kraken ledger or generic CSV, several files together.

02
Chain checked locally

Transfers are matched, balances recomputed.

03
Close the gaps

Every gap names the missing document.

What gets checked

The check reads machine exports from your exchanges and wallets and reconstructs the chain a compliance desk wants to see: every crypto deposit has to be attributable to a known withdrawal from another exchange or your own wallet. Deposits without a documented source are the classic hole a proof fails on. In addition, the computed balance per exchange and asset is tracked: if it goes negative, the export starts too late and records are missing.

Supported formats

Kraken ledger · Generic CSV (date,venue,type,asset,amount)

For every other source there is a simple generic CSV format with the columns date,venue,type,asset,amount, where type is one of deposit, withdrawal or trade and withdrawals carry a negative sign. More exchange formats will follow.

Frequently asked questions

When does a bank demand proof of source of funds?
Under German anti-money-laundering law banks review conspicuous inflows; 10,000 euros is the commonly cited threshold, but proof can be demanded below it too. Notaries in property purchases and exchanges themselves ask as well.

Are screenshots of my accounts enough?
No. A screenshot proves a balance, not an origin. What is demanded are machine-generated full exports over the entire period and a traceable link between bank account, exchange account and wallet.

What do I do about a gap the check finds?
Every gap names concretely which document is missing: usually the full export of another source or an earlier period. Gaps that can no longer be closed, for instance because an exchange no longer exists, should be documented and, in doubt, handled with legal counsel before the bank asks.

Couldn't ChatGPT do this too?
A language model could attempt the analysis - but you would have to upload your complete financial history to a US provider, the result would differ on every run, and a chat transcript is worth nothing to a bank. This check demonstrably transmits nothing (it works offline), computes deterministically, and produces a file with checksums any recipient can verify with standard tools. The difference is not the analysis; it is the verifiable result.

Further reading

Crypto source-of-funds checks: what German banks demand · The file as an open format · The booking engine's rulebook · Stablecoin accounting in Germany: the guide

This tool structures your own records and is no substitute for legal advice in a specific case. Whether a proof satisfies a particular bank is decided by its compliance department; frozen accounts or gaps that cannot be closed belong with a specialised law firm.