Vaultonaut

So berechnet Vaultonaut deine Erträge

Vaultonaut zeigt keine Zahlen, die es von einem Protokoll übernimmt und hübsch macht. Der Ertrag deiner Position wird aus deiner eigenen Transaktionshistorie neu berechnet. Diese Seite beschreibt, wie — genau genug, dass du eine angezeigte Zahl selbst nachrechnen könntest, und offen genug, dass du siehst, wo die Daten es nicht hergeben.

Was berechnet wird

Für eine öffentliche Wallet-Adresse rekonstruiert Vaultonaut je Vault:

  • die offene Position — gehaltene Anteile und der Gegenwert in der Einheit des Vaults,
  • den bisherigen Ertrag dieser Position, in der Einheit des Vaults und in Währung,
  • die Rendite auf das Eingezahlte sowie die realisierte APY über die Zeit,
  • den Verlauf: Wert, Netto-Einzahlung und Ertrag je Tag,
  • Merkl-Kampagnen-Rewards, je Token und je Vault, getrennt geführt.

Der Netto-APY eines Vaults wird nicht berechnet, sondern vom jeweiligen Protokoll übernommen — dazu weiter unten der eigene Abschnitt.

Datenquellen

Ausgewertet werden drei Vault-Protokolle und eine Reward-Quelle. Vaultonaut ist mit keinem von ihnen verbunden und wird von keinem beauftragt oder unterstützt.

  • Morpho — Vault V1 und V2, über die GraphQL-API von Morpho: Vaultliste, Kennzahlen, Anteilspreis-Historie und das Transaktionsprotokoll einer Adresse.
  • Accountable — Kredit- und RWA-Vaults, über deren eigene API. Positionen, Bewegungen und Anteilspreise stammen dort ausschließlich aus dieser API.
  • Yuzu — gehebelte ERC-4626-Vaults. Vaultliste und Tages-APY über Yuzus API; das Transaktionsprotokoll wird zusätzlich direkt von der Chain gelesen, in Blockfenstern über die Ereignisse des Vault-Vertrags.
  • Merkl — Kampagnen-Rewards: verdient, abgeholt, abholbar und ausstehend, je Token.
  • Ein Ethereum-RPC-Endpunkt — für Bestände, die sich direkt on-chain prüfen lassen (siehe unten), und für den Log-Scan bei Yuzu.
  • Wechselkurse: für die Anzeige in Euro ein aktueller Tageskurs; für den Steuerreport der EZB-Referenzkurs des jeweiligen Stichtags, weil ein im März zugeflossener Betrag mit dem Kurs vom März umzurechnen ist und nicht mit dem von heute.

Ein Unterschied, der auf den Seiten auch ausgewiesen wird: Morpho- und Yuzu-Vaults sind ERC-4626, ihre Bestände lassen sich also unabhängig von der API direkt am Vertrag nachrechnen. Accountables Verträge sind das nicht — dort ruhen die Zahlen allein auf deren API, und die betreffenden Seiten sagen das, statt eine Gegenprobe zu suggerieren, die nie stattgefunden hat.

Fällt ein Protokoll aus, wird der Rest weiterhin angezeigt und die Lücke benannt. Nur wenn keine einzige Quelle antwortet, zeigt die Seite einen Fehler statt einer stillschweigend zu kleinen Summe.

Ein- und Auszahlungen

Grundlage ist das Transaktionsprotokoll der Adresse, nach Zeit und Position im Block sortiert. Eine Einzahlung erhöht das Eingezahlte, eine Auszahlung das Abgezogene — beides in der Einheit des Vaults, als ganzzahlige Beträge in der Genauigkeit des Tokens. Es wird an dieser Stelle nichts über Kurse gerechnet, damit sich kein Rundungsfehler über die Historie aufsummiert.

Ein Sonderfall sind Anteile, die per Transfer ankommen oder gehen. Ein Transfer nennt keinen Betrag in der Einheit des Vaults, nur Anteile. Sein Wert wird deshalb aus dem Anteilspreis zum Zeitpunkt des Transfers gebildet: eingehende Anteile zählen als Einzahlung zu ihrem Wert bei Ankunft, ausgehende als Auszahlung zu ihrem Wert beim Abgang. Diese Position wird gekennzeichnet — die Zahl ist brauchbar, sie beruht aber auf einem abgeleiteten und nicht auf einem gezahlten Preis.

Anteilspreis

Ein Vault-Anteil ist ein Anspruch auf einen wachsenden Topf. Die Chain verbucht nie „heute 12 $ verdient“ — es steigt lediglich der Preis je Anteil. Für die Historie führt Vaultonaut deshalb je Vault eine Tagesreihe dieses Preises mit.

Gebraucht wird ein Preis zu beliebigen Sekunden, vorhanden ist er je Tag. Verwendet wird immer der Punkt am oder vor dem gesuchten Zeitpunkt, nie ein späterer: ein Transfer wird mit dem Preis bewertet, der galt, als er geschah. Ein späterer Preis würde Wissen in die Kostenbasis tragen, das damals niemand hatte.

Aus dem gleichen Grund wird der Verlauf mit historischen Kursen bewertet. Den Ertrag des letzten Jahres zum heutigen Kurs auszuweisen, ergäbe eine Kurve, die etwas anderes behauptet als das, was passiert ist.

Der Ertrag

Weil der Ertrag nirgends verbucht wird, wird er aus dem gebildet, was hinein- und herausgegangen ist:

Ertrag  =  aktueller Bestand
         +  alles jemals Abgezogene
         −  alles jemals Eingezahlte

Alles in der Einheit des Vaults. Diese Gleichung ist exakt und vom Kurs unabhängig — sie gilt für 100 USDC genauso wie für 100 WBTC. Erst danach wird für die Anzeige ein Kurs angelegt.

Die Rendite ist der Ertrag im Verhältnis zu allem jemals Eingezahlten, nicht zum aktuellen Bestand. Beides ergibt für eine Position, aus der zwischendurch entnommen wurde, sehr verschiedene Zahlen; die Seiten verwenden durchgehend die erste, damit die Rendite eines einzelnen Vaults und die des Portfolios dasselbe Verhältnis meinen.

Für den Verlauf wird dieselbe Rechnung je Tag ausgeführt: Anteile aus dem Protokoll nachgespielt, mit dem Anteilspreis dieses Tages bewertet, die Netto-Einzahlung abgezogen. Der Tagesertrag ist die Differenz zum Vortag. Tage werden auf Mitternacht UTC ausgerichtet.

Netto-APY und realisierte APY

Das sind zwei verschiedene Zahlen, und die Unterscheidung ist der Grund, warum es dieses Werkzeug gibt.

Der Netto-APY ist die Angabe des jeweiligen Protokolls zum Vault, nicht zu dir. Vaultonaut übernimmt sie unverändert. „Netto“ heißt dabei: nach den Gebühren des Vaults und einschließlich der Anreize, die das Protokoll selbst ausweist — die Kennzahl ohne diese Anreize wird daneben als Basis-APY geführt. Sie ist vorwärtsgerichtet und beschreibt, was der Vault gerade abwirft. Über deine Position sagt sie nichts.

Die realisierte APY rechnet Vaultonaut selbst, rückwärts, aus deinem Verlauf:

realisierte APY  =  Ertrag im Zeitfenster
                    ────────────────────────────  ×  365 / Tage
                    Ø Wert im selben Zeitfenster

Einfach hochgerechnet, nicht mit Zinseszins: die Fenster sind kurz (7 oder 30 Tage), und ein verrauschtes Fenster aufzuzinsen bläht die Überschrift stärker auf, als es irgendjemanden informiert. Solange ein Fenster noch nicht voll ist, wird keine Zahl gezeigt — sonst würde ein Ertrag aus zwei Tagen durch ein ganzes Jahr geteilt.

Für die Gesamtzahl zählen nur Tage, an denen überhaupt Kapital im Einsatz war, damit eine halb leer stehende Periode nicht als „nichts verdient“ in den Durchschnitt eingeht. Liegt der durchschnittliche Wert unter einem Cent, wird gar keine Rate ausgewiesen: Auf den Staub einer geschlossenen Position ist jede Prozentzahl arithmetisch einwandfrei und inhaltlich Unsinn.

Warum Rewards getrennt stehen

Merkl-Kampagnen-Rewards werden nie in den Vault-Ertrag eingerechnet. Sie sind etwas anderes, in jeder Hinsicht, die zählt:

  • Sie werden in einem anderen Token ausgezahlt als dem des Vaults.
  • Sie folgen dem Zeitplan der Kampagne, nicht dem Anteilspreis.
  • Sie müssen abgeholt werden. Nicht abgeholt liegen sie außerhalb des Bestands, den der Vault ausweist — und das Abholen geschieht bei Merkl, nicht hier.

Deshalb werden sie je Token und je Vault geführt, aufgeteilt in verdient, abgeholt, abholbar und ausstehend. Sie in eine Ertragssumme zu werfen, hieße einen abgeholten Betrag mit einem versprochenen zu addieren und beides in einer Einheit auszuweisen, in der keines von beiden existiert.

Eine Überschneidung, die man kennen sollte: Der oben beschriebene Netto-APY des Vaults enthält die Anreize, die das Protokoll selbst ausweist. Diese Rate ist eine Prognose des Protokolls; die Reward-Zahlen in Vaultonaut sind gemessene Beträge aus Merkl. Sie beantworten verschiedene Fragen und werden deshalb nirgends miteinander verrechnet.

Wenn die Historie nicht reicht

Die Rechnung oben steht und fällt mit einem vollständigen Transaktionsprotokoll. Ist es unvollständig, gibt es zwei mögliche Antworten — und die falsche wäre, trotzdem eine Zahl zu zeigen. Fehlen die Einzahlungen, weist die Gleichung den gesamten Bestand als Gewinn aus.

Vollständig zurückgehalten wird der Ertrag, wenn:

  • die Wallet Anteile hält, zu denen im Protokoll keine einzige Transaktion steht — der Einstieg liegt außerhalb des gelesenen Fensters;
  • das Protokoll abgeschnitten ist, also frühere Einzahlungen existieren, aber nicht geladen wurden;
  • ein Transfer nicht bewertet werden konnte, weil es für diesen Vault und diesen Zeitpunkt keinen Anteilspreis gibt.

Gekennzeichnet, aber berechnet wird er, wenn Anteile per Transfer kamen oder gingen und bewertet werden konnten. Ein solcher Rückhalt trifft genau die betroffenen Vaults; die übrigen Positionen derselben Wallet werden normal ausgewiesen. Wo eine Summe deshalb unvollständig ist, sagt die Oberfläche das dazu, statt um das Loch herum zu addieren.

Ebenso im Verlauf: Ein Vault, für den es keine Preisreihe gibt, geht nicht in die Kurve ein. Eine erfundene waagrechte Linie wäre eine Form in einem Chart, die es nie gegeben hat.

Das ist die Regel hinter allem auf dieser Seite: Lieber ein leeres Feld mit einer Begründung als eine Zahl, die plausibel aussieht und falsch ist.

Wie oft aktualisiert wird

Jede Art von Daten hat eine eigene Lebensdauer. Innerhalb dieser Zeit wird eine bereits geholte Antwort wiederverwendet, statt die Quelle erneut zu fragen:

  • Positionen — 60 Sekunden.
  • Transaktionen — 2 Minuten.
  • Vaultliste und Vault-Detail, also auch APY und Vaultgröße — 5 Minuten.
  • Anteilspreis-Historie — 15 Minuten.
  • Die Kennzahlen auf der Startseite — 10 Minuten.

Wie aktuell die Daten der Protokolle selbst sind, bestimmen deren Indexer; darauf hat Vaultonaut keinen Einfluss.

Grenzen

  • Erfasst werden Vaults auf Morpho, Accountable und Yuzu sowie Merkl-Rewards. Andere DeFi-Positionen — andere Protokolle, LP-Positionen, Staking, gehaltene Token — kommen nicht vor, auch nicht in den Summen.
  • Nicht jedes Protokoll ist auf jeder Chain vertreten, und nicht jede Funktion steht für jeden Vault zur Verfügung; die Anteilspreis-Historie hängt daran, was die jeweilige Quelle ausliefert.
  • Historische Daten sind so vollständig wie das, was die Quellen hergeben. Der Abschnitt „Wenn die Historie nicht reicht“ beschreibt, was in dem Fall geschieht.
  • Erwartet wird eine EVM-Adresse aus 0x und 40 Hex-Zeichen. ENS-Namen werden nicht aufgelöst.
  • Eine rekonstruierte Vergangenheit ist keine Aussage über die Zukunft. Hochrechnungen auf den Auswertungsseiten sind als solche gekennzeichnet und keine Zusage.
  • Vaultonaut ist ein Analysewerkzeug und liest ausschließlich. Es verwahrt nichts, signiert nichts und kann nichts bewegen.
  • Keine Finanz-, Steuer- oder Rechtsberatung. Der Steuerreport bereitet Zahlen nach österreichischem Recht auf; ob und wie sie in deiner Erklärung anzusetzen sind, beurteilt deine Steuerberatung. Ergänzend gelten die Nutzungsbedingungen.

Stand: 15. August 2026