Die Treasury

Zwei Prozent jedes Trades fließen in den TreasuryVault des Marktes, kommen als tokenisierte Aktien wieder heraus und werden per Airdrop an die Holder des Tokens verteilt. Hier ist der vollständige Weg.

Die drei Akteure

Der Trader tut nichts Besonderes: Er kauft oder er verkauft. Die Gebühr wird vom Hook in derselben Transaktion erhoben.

Die Contracts entscheiden alles. Der Vault weiß, welchen Basket er halten muss, innerhalb welcher Preisgrenzen er handeln wird und was er ablehnt. Keine Funktion ändert den Basket. Die Preisgrenzen und die Konvertierungsschwelle sind seit dem 2026-10-05 Einstellungen des Owners von StockFun, die jeder Vault live liest; darüber hinaus kann nur ein Upgrade des Vaults durch den Owner von StockFun seine Regeln ändern.

Der Keeper ist ein Offchain-Worker, der nur auslöst. Er wählt den Zeitpunkt, nennt den Betrag jedes Schritts und schlägt Routen und Mindestbeträge vor, die der Vault ablehnt, wenn sie lockerer sind als seine eigene Preisgrenze; er wählt weder die Assets noch, wie das Cash zwischen ihnen aufgeteilt wird, noch die Preise. Was immer er nennt, er kann kein Asset umleiten, keine Grenze lockern, die Gewichtungen des Baskets nicht ändern und nicht wählen, wer den Airdrop erhält.

Der Weg

flowchart TD T[Trade auf dem v4-Pool] -->|2 % Gebühr| V[TreasuryVault des Marktes] V -->|ETH → USDC, Uniswap v4| U[USDC] U -->|USDC → USDG, Curve| G[USDG] G -->|Paxos-OFT, LayerZero| R[Robinhood Chain] R --> M[Spiegel-Vault des Marktes] M -->|auf Sekundär-Pools gekauft| S[Tokenisierte Aktien

NVDA · MSFT · GOOGL · SPY · QQQ] S -->|gewrappt, nach Ethereum| AD[AirdropDistributor] AD -->|Airdrop, 100 %, pro rata| H[Token-Holder]

Jedes Leg ist durch ein unabhängiges Chainlink-Oracle begrenzt: standardmäßig 50 Basispunkte bei ETH → USDC, 200 bei dem Leg, das die Aktien kauft. Der Vault misst, was er tatsächlich erhält, und lehnt die Transaktion ab, wenn das Ergebnis unter dem Mindestbetrag des Keepers liegt, der selbst nie lockerer ist als die Grenze (seit dem 2026-10-05; bis dahin: unter der Grenze). Er vertraut weder dem Keeper noch der Rail noch dem Preis, der ihm genannt wird.

Die Konvertierungsschwelle

Der Vault konvertiert nicht bei jedem Trade. Einmal alle 24 Stunden, kurz vor dem Airdrop, konvertiert er, was er angesammelt hat — vorausgesetzt, es sind mindestens 0,1 ETH, die Standardschwelle. Darunter würden Gas und Slippage die Operation auffressen: An diesem Tag passiert nichts, und das ETH wartet auf den nächsten Zyklus, auch wenn Trades es später am Tag über die Schwelle bringen. Der Keeper prüft es bei seinem ersten Durchlauf nach dem Schließen des Airdrop-Zeitfensters, standardmäßig um 13:00 UTC; daran hält er sich seit dem 2026-10-06, und bis dahin konvertierte er das ETH eines Vaults bei jedem seiner Durchläufe während der Handelszeit, sobald der Vault die Schwelle hielt.

Die Standardschwelle ist so kalibriert, dass ein Markt, der sein erstes Liquiditätsband ausgeschöpft hat, sie immer überschritten hat: Bis dahin hat er etwa 0,159 ETH erhalten, und er konvertiert beim nächsten täglichen Zyklus.

Seit dem 2026-10-01 konvertiert jeder Schritt einen Betrag, den der Keeper nennt, beim ETH-Schritt nie weniger als die Schwelle, statt des gesamten Saldos. Ein Vault, der über das hinausgewachsen ist, was sein Handelsplatz innerhalb der Grenze ausführt, konvertiert in Tranchen, und der Rest wartet auf den nächsten Zyklus. Bis dahin konnte ein solcher Vault nie wieder konvertieren.

Die Gewichtungen des Baskets

Das Cash wird Aktie für Aktie zurückgelegt, zu den Gewichtungen des Baskets, sobald es eingeht. Jede Aktie gibt nur ihren eigenen Anteil aus. Eine Aktie, die an einem bestimmten Tag nicht gekauft werden kann, weil ihr Emittent sie eingefroren hat, ihr Feed verstummt ist, ihr Pool zu dünn ist oder sie, seit dem 2026-10-06 auf Robinhood Chain, eine Kapitalmaßnahme durchläuft, die das Oracle ihres Tokens pausiert, behält ihren Anteil für einen späteren Zyklus. Seit dem 2026-10-05 schlägt ihr Leg für sich allein fehl (LegFailed), und die anderen Aktien des Baskets werden im selben Aufruf gekauft; bis dahin ließ ein fehlschlagendes Leg den ganzen Kauf fehlschlagen.

Seit dem 2026-10-01 kann der Keeper die Zusammensetzung daher nicht ändern, indem er Aktien überspringt. Vorher wurde der Anteil einer übersprungenen Aktie erneut auf den ganzen Basket verteilt.

Seit der Security-Pipeline vom 2026-10-01 hebt eine Notfall-Recovery, die das Cash eines Vaults unter den reservierten Betrag senkt, jede Reservierung auf: Was übrig bleibt, und jeder spätere Eingang, wird neu zu den Gewichtungen aufgeteilt. Siehe Notfallmodus. Bei jedem Kauf hält der Keeper n−1 Einheiten vom Anteil der letzten Aktie zurück, wobei n die Anzahl der Aktien ist; sie bleiben für den nächsten Aufruf reserviert. Siehe Der Keeper.

Was ein Vault halten kann

Zu jedem Zeitpunkt hält ein Vault eine Mischung aus:

  • ETH — erhalten, noch nicht konvertiert
  • USDC, dann USDG — unterwegs zur Remote-Chain
  • Tokenisierte Aktien — der Endzustand, auf Robinhood Chain

Alle drei werden als die Treasury angezeigt, die auf den nächsten Airdrop wartet; verteilt werden nur Aktien, sobald sie gekauft sind. Ein Vault voller USDC ist kein defekter Vault; er ist ein Vault im Transit.

Was nicht passieren kann

Niemand kann aus einem Vault abheben. Kein withdraw, kein transfer, kein sweep, kein Owner: Ein Aufruf schlägt fehl, weil es sie nicht gibt.

Die Assets einer Treasury verlassen sie nur auf drei Wegen: durch die Konvertierung in tokenisierte Aktien, die Übergabe dieser Aktien an den Airdrop-Contract für die Token-Holder und den Notfallmodus, durch den der Owner von StockFun sie sofort an eine beliebige Adresse bewegt. Nichts anderes im aktuellen Code kann sie bewegen. Seit dem 2026-10-02 kann der Owner von StockFun den Vault upgraden, mit sofortiger Wirkung: siehe Vertrauensmodell.

Außer den Vaults halten zwei Contracts die Assets des Protokolls für mehrere Märkte zugleich: der Airdrop-Contract und der Remote-Hub. Seit dem 2026-10-05 wird nach einem Notfall-Transfer aus einem der beiden kein Markt mit den Assets eines anderen bezahlt, nicht einmal mit Assets, die für einen anderen Markt angekommen und noch nicht gutgeschrieben sind: Was fehlt, wartet, bis die Assets zurückgebracht werden (restore; ein einfacher Transfer zählt nicht) oder bis der Owner von StockFun den Verlust zulasten des Marktes abschreibt, der ihn erlitten hat. Nur was fehlt, wartet: Ein Claim zahlt die anderen Aktien weiterhin aus, und ein Notfall-Transfer, der auf dem Remote-Hub einem einzelnen Markt angelastet wird, lässt die Auszahlungen aller anderen Märkte weiterlaufen. Siehe Notfallmodus.