BTC-Herkunft: Open-Source-Tool für den Herkunftsnachweis eurer Bitcoin (Haltefrist, Finanzamt, Altbestand)

Hallo zusammen, hallo Blocktrainer-Team,

ich möchte euch ein Projekt vorstellen, an dem ich die letzten Wochen gearbeitet habe: BTC-Herkunft, ein lokales Open-Source-Tool, das aus euren Wallets einen prüffähigen Herkunftsnachweis für das Finanzamt erstellt.

Hintergrund

Das Finanzministerium hat einen Referentenentwurf in Umlauf gebracht, nach dem die einjährige Haltefrist für ab 2027 angeschaffte Kryptowerte wegfallen soll. Beschlossen ist noch nichts. Falls es so kommt, wird der saubere Nachweis für den Altbestand entscheidend. Das BMF-Schreiben vom 06.03.2025 stellt außerdem klar, dass die bloße Angabe von Adressen oder xpubs als Nachweis nicht ausreicht. Die Blockchain liefert Zeitpunkt und Menge, aber nicht, wem die Coins gehören und woher sie wirtschaftlich stammen.

Was das Tool macht

Ihr fügt die öffentlichen xpubs eurer Wallets ein (Ledger, BitBox, Trezor, alles mit Standard-xpub/ypub/zpub). Das Tool betrachtet alle Wallets zusammen und unterscheidet Zuflüsse von außen, Umbuchungen zwischen euren eigenen Wallets und Abflüsse nach außen. Daraus entsteht:

  • Einzelbetrachtung je Coin: Jeder UTXO wird über alle Umbuchungen hinweg verfolgt, das Anschaffungsdatum bleibt erhalten (BMF Rz. 61).
  • Abgleich mit Börsenexporten: CSV-Exporte von Relai, Bison, Bitvavo, Strike, BitGo, 21bitcoin, Coinbase und Binance liefern echte Kauf- und Verkaufsdaten und benennen die Gegenstellen.
  • Jahres-Resümee: möglicher Gewinn oder Verlust je Jahr, getrennt nach Haltedauer unter und über einem Jahr, mit Gebühren als Werbungskosten.
  • PDF „Herkunftsanalyse Bitcoin“ mit Mengenabstimmung gegen die UTXOs auf den Satoshi. Belegte Werte und Ersatzwerte sind klar getrennt. Fehlt ein Kaufnachweis, steht dort „Kaufnachweis fehlt“ und keine stille Kostenbasis von 0.
  • Finanzamt-Fassung: belegt jede Veräußerung prüfbar, enthält aber keine Bestände, keine xpubs, keine Adressen und keine Transaktions-IDs ohne Bezug zu einer Veräußerung.
  • Altbestand nach Reformentwurf: Coins werden als Alt- oder Neubestand gekennzeichnet, dazu gibt es ein eigenes PDF „Nachweis Altbestand“ je Coin.
  • Label-Packs für bekannte Adressen von FTX, Mt. Gox, Celsius, BlockFi, Voyager und Binance. Gerade bei pleitegegangenen Börsen hilft das, Zuflüsse überhaupt zuzuordnen.

Privatsphäre

  • Das Tool läuft komplett lokal, die API bindet nur an 127.0.0.1. Es gibt keinen Account und keine Cloud.
  • Es werden nie Seeds oder private Schlüssel verwendet, nur öffentliche xpubs.
  • Die Sitzung liegt nur im Arbeitsspeicher. Beim Beenden ist alles weg. Berichte werden nur auf Klick erzeugt, nichts landet automatisch auf der Platte.
  • Eure Börsenexporte legt ihr selbst in einen privaten Ordner, den das Tool nur liest.
  • Wichtig: Für die Blockchain-Abfragen nutzt das Tool einen Electrum-Server. Standardmäßig ist das ein öffentlicher Server, und der sieht eure Adressen. Wer das nicht möchte, trägt seinen eigenen Node oder Electrum-Server ein. Das empfehle ich ausdrücklich.

Warum jetzt

Uns bleibt womöglich nicht mehr viel Zeit, um sauber zu dokumentieren, woher die alten Coins stammen. Börsenexporte, alte Auszahlungsmails und Kontoauszüge sind heute noch greifbar. Wie FTX gezeigt hat, kann sich das schnell ändern. Mein Tipp, auch unabhängig vom Tool: Ladet jetzt die vollständigen Historien bei allen Börsen herunter, auch bei alten Konten, und sichert Auszahlungsbestätigungen als PDF.

Offene Frage an euch und das Team

Die entscheidende Frage für das Projekt: Akzeptiert ein Finanzamt einen solchen Bericht aus Blockchain-Daten und Börsenexporten als Nachweis? Und wie geht es mit gut begründeten Ersatzwerten um, wenn eine Börse wie FTX nicht mehr existiert?

Wer schon Erfahrungen mit dem Finanzamt oder mit Steuerberatern zu dem Thema hat, teilt sie bitte gern hier. Und liebes Blocktrainer-Team: Falls ihr das Thema interessant findet, würde ich mich freuen, wenn ihr es mal in einem Podcast oder Video aufgreift. Eine Einschätzung aus eurem Steuerberater-Netzwerk wäre für alle hier Gold wert.

Code & Mitmachen

Das Projekt steht unter MIT-Lizenz auf GitHub:

Für Windows gibt es eine Schritt-für-Schritt-Anleitung vom ZIP-Download bis zum PDF (ANLEITUNG.md), unter Linux und macOS läuft es ebenfalls. Feedback, Kritik, Issues und Pull Requests sind herzlich willkommen, besonders zu Börsenexporten, die noch fehlen.

Hinweis: Ich bin kein Steuerberater. Das Tool ist keine Steuerberatung, sondern soll euch helfen, eure Unterlagen sauber aufzubereiten.

Viele Grüße
Uwe

9 „Gefällt mir“

Danke @you2we , super Idee. Schade nur, dass sie nicht für Linux gedacht ist. Wie aufwendig wäre eine Linux Version?

das Ding läuft auch unter Linux oder MACOS… python als Worker und node/JS für das UI

Claude schreibt schnell noch ein Startscript

1 „Gefällt mir“

Die Idee finde ich natürlich super, nur habe ich etwas Bedenken meinen xpub irgendwo einzugeben.

Muss mich erstmal einlesen was dadurch für Risiken entstehen

das ist genau der Punkt des Tools. das bleibt alles im RAM solange du nicht von Hand speicherst.

Du kannst vieles im local Ordner ablegen… aber das steht allen in den md Files. Für mich tut es das tool und ich wollte es nur teilen und hoffendlich die Meinung eines non-KI Steuer-Experten bekommen.

ich finds super toll, dass Du es teilst, werde es mir die Tage auch definitiv mal anschauen

1 „Gefällt mir“

ich habe jetzt noch Claude gebeten den Code etwas besser aufzuteilen damit es nicht eine fette Datei ist… dann können vielleicht interessierte an den Teile arbeiten, die sie voran bringen wollen…

Es ist jetzt noch ein Steuerreport dabei, den Ihr gemeinsam mit Eurem Steuerberater als Grundlage für die Steuererklärung nutzen könnt.

Falls es hier einen Steuerberater gibt, wäre ich um Feedback dankbar

Ich habe es mal getestet: Wenn ich eine Wallet hinzufüge und die Adresse eingebe kommt: xpub… kommt unbekanntes Adressformat…

Werde für mein kleines Tool auch einen kleinen Threads in der Rubrik starten. Ist an dieser Stelle der falsche Ort gewesen, da es hier um das Tool von @you2we gehen soll. Daher habe ich meinen vorherigen Post entfernt. @idefix bezieht sich dein gefundener Fehler auf das ursprüngliche Projekt oder auf meinen Post?

Sorry für die Verwirrung meinerseits. :head_shaking_vertically:

Genau, wollte eine Wallet hinzufügen und mal testen.

also ich benutze es sowohl mit xpub als auch mit Adresse.

wenn Du eine cold wallet hast, solltest du mit xpub arbeiten, da sich aus der xpub mehrere Adressen ableiten. Wenn Du z.B. mir Relai Arbeitest hast du aber dort auch eine richtige Blockchain Adresse, die du ebenfalls eintragen kannst…

Macht das was ich jetzt auf die schnelle hingeschmiert hab sinn für Dich?

ich würde es gerne testen und einsetzen, aber ich habe einen Mac. Bin etwas zu blöd dafür, geht es irgendwie auch leichter?

Opus 5.5 sollte doch mittlerweile so gut sein, dass man daraus ein HTML basteln kann. Damit wird es dann OS unabhängig.

… verstehe ich jetzt nicht… Frontend ist html.

Schau mal ins README… Da steht wie es unter Linux/NacOS läuft