Der Airdrop
Seit dem 2026-09-27 hat die Treasury eines Marktes einen einzigen Zweck: 100 % der tokenisierten Aktien, die sie kauft, werden per Airdrop an die Holder ihres Tokens verteilt, pro rata zu ihrem Bestand, alle 24 Stunden. Der zuvor geltende Creator-Buyback ist abgeschafft.
Programmiert und getestet, nicht deployt. Der Airdrop-Contract, AirdropDistributor,
wurde am 2026-10-04 programmiert und getestet, zusammen mit den Wegen, die ihn aus beiden
Vaults speisen; der tägliche Airdrop-Schritt des Keepers und die Claim-Ansicht der Dapp
wurden am 2026-10-05 geschrieben. LayerZero wird in den Tests durch Mocks ersetzt, und nichts
ist deployt. Noch zu tun: die LayerZero-Adapter der Aktien. Siehe Status.
Was verteilt wird
Alles, was die Treasury kauft: die 2 % jedes Trades, bei Käufen und Verkäufen, plus der Anti-Snipe-Überschuss der ersten zehn Blöcke des Marktes, sobald all das in die Aktien des Baskets des Marktes konvertiert ist.
Die Distribution erfolgt in natura: Die Holder erhalten die tokenisierten Aktien, in gewrappter Form auf Ethereum (siehe unten), niemals Cash. ETH, USDC oder USDG, die noch auf die Konvertierung warten, werden nicht als solche verteilt; sie werden es, sobald sie in Aktien konvertiert sind.
An wen, und wo
An die Holder des Tokens des Marktes, pro rata zu ihrem Bestand. Die eigenen Adressen des Protokolls erhalten nichts.
Als Bestand zählt der durchschnittliche Saldo jeder Wallet über die 24 Stunden vor dem Zyklus, auch montags: Den Token eine Stunde lang zu halten, zählt als 1/24 eines vollen Tages. Ein Kauf kurz vor dem Ende des Zeitfensters bringt fast nichts. Seit dem 2026-09-28 werden die Bestände jeder Wallet onchain im Zeitverlauf aufgezeichnet, sodass ein Contract alle Anteile auf Ethereum berechnet; der Keeper liefert sie nie. Seit dem 2026-10-02 wird die Aufzeichnung außerhalb der Tokens geführt, von einem Modul, dem Bestandsaufzeichner: Jeder Token meldet ihm jede Saldoänderung, und schlägt die Meldung fehl, schlägt der Transfer fehl. Das ist gewollt, die einzige Ausnahme von der Regel des Protokolls, dass ein Fehler nie den Rest blockiert: Eine Meldung, die fehlschlagen dürfte, ließe einen Holder ihr bei seinem eigenen Transfer das Gas entziehen, sodass die Aufzeichnung die Bewegung überspringt und sein Anteil wächst. Siehe Architektur und die Betriebsregel unten.
Seit dem 2026-10-01 hält die Aufzeichnung außerdem die aufgezeichnete Supply jedes Tokens
im Zeitverlauf fest: alle Salden außerhalb des PoolManager von Uniswap. Sie liefert den
Nenner des Anteils:
Anteil = durchschnittlicher Saldo über das Zeitfenster
÷ (durchschnittliche aufgezeichnete Supply − Durchschnitte der ausgeschlossenen Adressen)
Die ausgeschlossenen Adressen sind die, die nichts erhalten: die Burn-Adresse, immer, und die Adressen auf der Ausschlussliste des Tokens; siehe die Ausschlüsse weiter unten. Der Bestandsaufzeichner liefert die aufgezeichnete Supply nur zu vollen Stunden, daher beginnen und enden die Zeitfenster des Airdrops zu einer vollen Stunde. Das kostet jeden Swap einen zusätzlichen Schreibvorgang im Storage. Der erste Swap eines Tokens in jeder Stunde, Kauf oder Verkauf, kostet etwa 28.000 bis 30.000 Gas mehr, gemessen als eigene Transaktion am 2026-10-01, bevor die Aufzeichnung die Tokens verließ; die 23.000, die diese Seite bis zur Security-Pipeline vom 2026-10-01 angab, wurden innerhalb einer einzigen Transaktion gemessen. Eine Gas-Schätzung, die eine Wallet spät in einer Stunde vornimmt, kann daher zu niedrig ausfallen, wenn die Transaktion als erster Swap der nächsten Stunde landet. Seit dem Glamsterdam-Upgrade von Ethereum (auf Sepolia seit dem 2026-10-06 aktiv, auf dem Mainnet mit dessen Fork) legt dieser Schreibvorgang seinen Storage-Slot zum neuen Preis an: Auf Sepolia kostete der erste Swap einer Stunde 123.216 Gas mehr. Die App gibt einem Trade, der als erster Swap einer Stunde landen kann, 150.000 Gas mehr: nur ein höheres Limit, da eine Transaktion das Gas bezahlt, das sie verbraucht.
Die Bestände werden auf Ethereum gemessen, wo der Token gehandelt wird, und seit dem 2026-09-28 werden die Aktien auch dort verteilt. Sie werden auf Robinhood Chain gekauft, dort in von StockFun deployten LayerZero-Adaptern gesperrt, einem pro Aktie, und als gewrappte Aktien nach Ethereum geschickt, eine gewrappte Aktie für jede gesperrte Aktie. Jeder Holder claimt seinen Anteil auf Ethereum und zahlt das Gas für den Claim. Um die echte Aktie zu halten, schickt ein Holder die gewrappte auf eigene Kosten über die Bridge zurück nach Robinhood Chain. Der Owner von StockFun kontrolliert die LayerZero-Konfiguration der Adapter, ohne Wartefrist und ohne Obergrenze für Abhebungen: siehe Vertrauensmodell.
Die Regel gilt für jede Treasury, auch für die von $STOCKFUN, die per Airdrop an die Holder
von $STOCKFUN verteilt wird.
Alle 24 Stunden
Der Airdrop läuft als täglicher Zyklus, Markt für Markt. Seine Uhrzeit, standardmäßig 13:00 UTC, schließt das Zeitfenster, über das die Bestände gemessen werden, vor der Eröffnung der US-Börse, das ganze Jahr über: Die Eröffnung ist im Sommer um 13:30 UTC und im Winter um 14:30 UTC. Die Käufe des Zyklus laufen dann während der folgenden Handelszeit, und seine Sendungen standardmäßig, sobald diese Handelszeit vorbei ist:
- Hat die Treasury des Marktes mindestens 0,1 ETH angesammelt, konvertiert der Keeper diesen Betrag, schickt ihn über die Bridge und kauft die Aktien des Baskets.
- Sobald die Handelszeit des Tages vorbei ist, sendet der Keeper standardmäßig die gekauften Aktien gewrappt an den Airdrop-Contract auf Ethereum, wo 100 % davon für die Holder des Tokens claimbar werden. Seit der siebten Audit-Schleife, am 2026-10-06, sendet er sie, sobald sie so viel wert sind, wie ihr Senden kostet, die Eröffnung des Zeitfensters eingeschlossen; sonst warten sie im Vault auf ein späteres Zeitfenster, mit dem, was sich ansammelt (siehe Der Keeper). Seit der zehnten Audit-Schleife liest der Keeper einen Vault, der nach Handelsschluss nichts zu senden hatte, erst in der nächsten Handelszeit wieder, sodass eine Aktie, die einem Vault nach Handelsschluss außerhalb seiner Käufe gegeben wird, mit der Sendung der nächsten Handelszeit in ein späteres Zeitfenster geht; was die Käufe des Tages bringen, geht weiterhin in das an diesem Tag beendete Zeitfenster.
Unter 0,1 ETH passiert für diesen Markt an diesem Tag nichts: Das ETH wartet auf den nächsten Zyklus. Bei 2 % erfordert das Erreichen der Schwelle etwa 5 ETH Volumen auf dem Markt, Käufe und Verkäufe zusammengenommen. Wird die Schwelle im Laufe des Tages überschritten, löst das nichts aus: Die Konvertierung findet nur im täglichen Zyklus statt. Der Keeper prüft jeden Vault bei seinem ersten Durchlauf nach dem Schließen des Zeitfensters und konvertiert dessen ETH einmal in diesem Zeitfenster; 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. Cash, das bereits in einem Vault wartet, geht weiter, ob die Schwelle erreicht ist oder nicht: seit der sechsten Audit-Schleife, am 2026-10-06, das USDC eines Vaults einmal nach jeder seiner ETH-Konvertierungen und sonst höchstens einmal pro Zeitfenster, und das USDG eines Spiegel-Vaults bei jedem Durchlauf.
Aktien können nur gekauft werden, solange die US-Börse geöffnet ist. Es gibt daher keinen Zyklus am Wochenende oder an NYSE-Feiertagen: Die Gebühren vom Freitag werden am Montag verteilt.
Die Schwelle und der Kalender sind Regeln des Keepers: Der Airdrop-Contract kennt keins von beidem. Er kennt die Zeitfenster und schreibt jede Sendung dem letzten Zeitfenster gut, das bei ihrer Ankunft geschlossen ist.
Die Länge und der Schließzeitpunkt des Zyklus, die Schwelle, 0,1 ETH, und die Limits des Airdrop-Contracts weiter unten sind seit dem 2026-10-05 Einstellungen des Owners von StockFun; die Werte auf dieser Seite sind die Standardwerte. Ein neuer Zeitplan gilt für die noch nicht eröffneten Zeitfenster: Ein bereits offener Zyklus behält sein Zeitfenster.
Ein Zyklus, der unterwegs fehlschlägt — eine verspätete Bridge, ein veralteter Feed, eine überschrittene Grenze —, stoppt nur das, was der Fehler betrifft. Seit dem 2026-10-05 läuft der Kauf jeder Aktie für sich: Eine Aktie, deren Leg fehlschlägt, behält ihr Cash für einen späteren Zyklus, während die anderen Aktien des Baskets gekauft werden, und ein Markt, der aus einem Bridge-Batch ausgelassen wird, wartet, während die anderen hinübergehen. Was nicht weiterging, wartet in den Vaults des Marktes, auf Ethereum oder auf Robinhood Chain, und wird beim nächsten Zyklus fertig verarbeitet, auch wenn die Treasury die 0,1 ETH nicht erneut erreicht hat. Der Owner von StockFun kann es außerdem jederzeit mit dem Notfall-Transfer bewegen, der sofort erfolgt: siehe Notfallmodus.
Wie ein Zyklus abläuft
Im Airdrop-Contract, seit dem 2026-10-04:
- Das Zeitfenster. Das Zeitfenster eines Zyklus ist der Zeitraum vor seinem Ende:
standardmäßig 24 Stunden, die um 13:00 UTC enden. Der Owner von StockFun legt die Länge und
den Schließzeitpunkt fest, in vollen Stunden (
setCycleSchedule). Eine Sendung gehört zu dem Zeitfenster, das zum letzten Schließzeitpunkt vor oder bei ihrer Ankunft endet, nie zu einem, das vor dem letzten offenen Zyklus des Marktes liegt. - Die Eröffnung friert die Zahlen ein. Die erste Sendung eines Zeitfensters eröffnet
seinen Zyklus. Der Keeper kann ihn vorher eröffnen, mit
openCycle, das jeder aufrufen kann: Er tut das, sobald das Zeitfenster geschlossen ist, bevor die Aktien ankommen, sodass jede Zustellung dem Zyklus nur noch etwas hinzufügt. Die Eröffnung friert endgültig ein: den Bestandsaufzeichner des Tokens, die Ausschlussliste, die beim Schließen des Zeitfensters galt, wann auch immer der Zyklus eröffnet wird, und den Nenner, die aufgezeichnete Supply über das Zeitfenster abzüglich der Bestände der Burn-Adresse und der gelisteten Adressen. Jeder Holder eines Zyklus wird an denselben Zahlen gemessen, was sich danach auch ändert. - Ein Zyklus pro Zeitfenster. Spätere Sendungen im selben Zeitfenster kommen zum selben Zyklus hinzu.
- Der Keeper entscheidet, wann. Er löst die Sendungen aus; er nennt nie ein Zeitfenster, einen Holder oder einen Betrag. Eine Sendung, die nach dem nächsten Schließzeitpunkt ankommt, wird daher über das Zeitfenster des nächsten Tages gemessen. Das ist akzeptiert und dokumentiert.
Wie die Aktien dorthin gelangen
Zwei Wege, und nichts anderes schreibt einem Zyklus etwas gut.
- Von Robinhood Chain. Der Keeper ruft den Spiegel-Vault des Marktes auf,
sendToAirdrop(stocks), und zahlt die LayerZero-Gebühren; was er zu viel zahlt, wird ihm erstattet. Seit dem 2026-10-06 nennt der Aufruf auch das Gas, das jede Zustellung auf Ethereum erhält,sendToAirdrop(stocks, receiveGas, composeGas), das der Remote-Hub zwischen einer Unter- und einer Obergrenze hält, die der Owner von StockFun festlegt (siehe Die Robinhood-Rail und Der Keeper). Für jede gelistete Aktie sendet der Vault seinen gesamten Saldo über den Adapter, den der Remote-Hub für diese Aktie benennt, an den Airdrop-Contract, den der Remote-Hub benennt, mit der Kennung des Marktes als Payload. LayerZero transportiert sechs Dezimalstellen: Weniger als 10^12 Einheiten einer Aktie mit 18 Dezimalstellen, ein Millionstel eines Tokens, bleiben für eine spätere Sendung im Vault. Auf Ethereum mintet das OFT der Aktie die gewrappte Aktie an den Airdrop-Contract, dann ruft der Endpoint von LayerZero ihn auf. Der Contract schreibt die Zustellung nur gut, wenn sie von seinem Endpoint kommt, von einem Aktien-OFT, das der Owner von StockFun registriert hat, von Robinhood Chain, gesendet vom Spiegel-Vault des Marktes, den die Payload nennt, und wenn dieser Markt existiert. - Von Ethereum. Bei einem Vault, der seine Aktien auf Ethereum kauft, der lokalen Rail,
ruft der Keeper
sendToAirdrop(stocks)auf demTreasuryVaultdes Marktes auf. Der Vault erteilt Freigaben über die exakten Beträge, der Airdrop-Contract zieht sie ein und schreibt gut, was er tatsächlich erhalten hat, und die Freigaben werden wieder geschlossen. Nur der eigene Vault des Marktes kann für ihn senden. Ein Vault, der mit dem Bridge-Hub verdrahtet ist, verweigert diesen Weg: Seine Aktien liegen auf Robinhood Chain.
In beiden Fällen entscheidet der Keeper, wann, nie wie viel, was oder wohin: Der Betrag ist der Saldo des Vaults, das Ziel ist der Contract, den das Protokoll benennt, und eine Aktie, die doppelt oder außerhalb des Baskets gelistet ist, lässt den Aufruf fehlschlagen.
Seit dem 2026-10-05 geht jede gelistete Aktie für sich. Eine Aktie, die ihr Emittent
eingefroren hat, deren Saldo nicht gelesen werden kann oder die, von Robinhood Chain aus,
keinen Adapter hat oder deren Gebühr die Zahlung des Keepers nicht abdeckt, bleibt mit einem
Event (AirdropSendFailed) im Vault, und die anderen gehen; sie geht mit einer späteren
Sendung. Geht keine Aktie, schlägt der Aufruf fehl und nennt den Grund.
Anteile und Claims
- Der Holder claimt. Jeder Holder claimt seinen eigenen Anteil, auf Ethereum, und zahlt
das Gas: einen Zyklus mit
claim, mehrere mitclaimMany. Niemand kann für jemand anderen claimen, und der Keeper sendet nichts. Seit dem 2026-10-05 listet die Claim-Ansicht der Dapp jedes Zeitfenster, das die Wallet claimen kann, und sendet die Claims, fünf Zyklen pro Transaktion (zehn bis zum 2026-10-06): siehe Die Dapp. Der Betrag. Für jede Aktie eines Zyklus:
fällig = abgerundet(Betrag × Bestand über das Zeitfenster ÷ berechtigte Bestände) − was dem Holder bereits ausgezahlt wurdenie mehr, als dem Zyklus in dieser Aktie noch bleibt. Eine Sendung nach einem Claim erhöht den Betrag, und der Holder claimt die Differenz. Was die Rundung übrig lässt, bleibt im Contract.
- Keine Frist, keine Obergrenze, kein Minimum. Ein Anteil kann jederzeit geclaimt werden, ohne Stichtag. Es gibt keine Obergrenze pro Wallet und keinen Mindestbetrag.
- Ausgeschlossene Adressen claimen nichts.
- Nie aus einem anderen Zyklus bezahlt. Seit dem 2026-10-05 hält der Airdrop-Contract
Aktie für Aktie fest, was er schuldet und was dies deckt, und zahlt eine Aktie nur aus,
solange diese Deckung für das ausreicht, was er schuldet. Die Deckung wird aus den Aktien
gezählt, die Zyklen gutgeschrieben sind, nie aus dem Saldo des Contracts gelesen, der auch
noch nicht gutgeschriebene Zustellungen umfasst: Aktien auf dem Weg zu einem anderen Markt
zahlen nie einen Claim. Nach einem Notfall-Transfer, der einen Teil einer Aktie genommen
hat, warten die Claims dieser Aktie, in jedem Markt, der sie hält, bis die Aktie über
restorezurückkommt, das jeder aufrufen kann (ein einfacher Transfer zählt nicht), oder der Owner von StockFun den Verlust zulasten des Zyklus abschreibt, der sie verloren hat. Solange niemand diese Aktie aus dem Zyklus geclaimt hat, kann ein beliebiger Teil davon abgeschrieben werden, wobei jeder Holder denselben Anteil verliert; sobald einige Holder ausgezahlt worden sind, nur noch der gesamte Rest, den die noch nicht ausgezahlten Holder verlieren. Was den Zyklus nach einer solchen Abschreibung erreicht, wird pro rata zwischen allen seinen Holdern aufgeteilt, als wäre der abgeschriebene Betrag nie da gewesen. Siehe Notfallmodus. - Ein Claim zahlt, was er kann. Seit dem 2026-10-05 zahlen
claimundclaimManyjede Aktie aus, die sie können. Eine Aktie, für die die Bücher nicht ausreichen, wie oben, oder deren Transfer abgelehnt wird, etwa weil ihr Emittent sie eingefroren hat, wird zurückgestellt (ClaimDeferred): Sie bleibt geschuldet, und ein späterer Claim zahlt sie aus.claimManyüberspringt einen Zyklus, dessen Ausschlussliste den Aufrufer nennt;claimlehnt ihn ab (Excluded). Ein Claim, der nichts auszahlt, schlägt fehl und nennt den Grund: Bücher, die für eine Aktie nicht ausreichen (Underfunded), ein abgelehnter Transfer (TransferRefused) oder nichts zu claimen (NothingToClaim). Bis dahin ließ eine einzige solche Aktie den ganzen Claim fehlschlagen und ein ausgeschlossener Zyklus das ganzeclaimMany. - Die Kosten. Ein Claim eines Zyklus mit zwei oder drei Aktien kostet in den Tests, die
mit warmem Storage laufen, grob 120.000 bis 210.000 Gas. Kalt gemessen am 2026-10-05, mit
fünf Aktien pro Zyklus, kostet ein erster Zyklus etwa 508.000 bis 528.000 Gas als ganze
Transaktion und jeder weitere Zyklus desselben
claimManyetwa 321.000 bis 332.000: etwa 3,4 bis 3,5 Millionen Gas für zehn Zyklen, damals die Größe der Batches der Claim-Ansicht, und bis zu etwa 5,3 Millionen, wenn auch die Aktien jedes Zyklus kalt sind. Das sind die Gaspreise vor dem Glamsterdam-Upgrade von Ethereum. Unter diesem Upgrade, auf Sepolia seit dem 2026-10-06 aktiv, kostet ein neuer Storage-Slot etwa fünfmal so viel, und jede Aktie, die ein Claim auszahlt, kann drei schreiben: Auf Sepolia kostete ein Claim eines Zyklus mit drei Aktien 1.177.679 Gas für den ersten Claimer des Zyklus und 878.713 bis 888.051 für die nächsten. Zehn Zyklen mit fünf Aktien würden etwa 8 bis 14 Millionen Gas brauchen, innerhalb der 16.777.216, die EIP-7825 pro Transaktion festlegt (unter Glamsterdam auf ihr Ausführungs-Gas), und die Batches der Claim-Ansicht umfassen fünf Zyklen.
claimable zeigt, was eine Adresse aus einem Zyklus claimen kann, Aktie für Aktie.
Ausschlüsse
Jeder Token hat seine eigene Liste, festgelegt vom Owner von StockFun: standardmäßig höchstens
16 Adressen (setMaxExcluded), keine doppelt, keine Null-Adresse. Die Burn-Adresse,
0x…dEaD, ist immer ausgeschlossen und steht nicht auf der Liste. Jede Änderung erzeugt eine
neue, datierte Version der Liste: Ein Zeitfenster wird an der Liste gemessen, die bei seinem
Schließen galt, wann auch immer sein Zyklus eröffnet wird, und eine Änderung gilt für die
Zeitfenster, die danach schließen.
Standardmäßig ist auf dem Token eines Marktes nur die Burn-Adresse ausgeschlossen. Der
PoolManager von Uniswap wird nie aufgezeichnet und braucht daher keinen Eintrag. Der
einzige Liquiditätsanbieter der StockFun-Pools ist der Liquiditäts-Lock, der außerhalb eines
Launchs nichts hält. Ein Pool auf einer anderen Börse, der den Token hält, wäre ein
gewöhnlicher aufgezeichneter Holder, den der Owner listen kann.
Auf $STOCKFUN führt die Liste außerdem den Betreiber des Launchs, der die gesamte Supply
während der wenigen Blöcke zwischen dem Mint und dem Lock hält. Seit dem 2026-10-05 setzt das
Launch-Skript diese Adresse auf die Liste, bevor der Token existiert, auf der Adresse, die
der Token einnehmen wird, und mintet erst dann, sodass kein Zeitfenster zwischen dem Mint und
der Liste schließen kann: Der Betreiber erhält nichts. Ändert der Owner diese Liste, bevor
das erste Zeitfenster nach dem Launch geschlossen hat, muss die neue Liste diese Adresse
behalten.
Beiseitegelegte Aktien
Eine Sendung für ein Zeitfenster ohne berechtigte Bestände wird für den Markt beiseitegelegt: zum Beispiel Aktien, die am Tag des Launchs eines Marktes gesendet werden, für ein Zeitfenster, das endete, bevor es ihn gab.
Beiseitegelegte Aktien gehen an das erste Zeitfenster mit berechtigten Beständen nach dem
letzten, das ohne gefunden wurde, wer auch immer nachsieht und wann auch immer. openCycle
oder eine Sendung für das unmittelbar folgende Zeitfenster nimmt sie mit. Andernfalls prüft
assignUnassigned, das jeder aufrufen kann, die beendeten Zeitfenster der Reihe nach,
standardmäßig höchstens 30 pro Aufruf (setMaxWindowsPerAssign), und eröffnet das erste mit
berechtigten Beständen, auch wenn spätere Zyklen bereits offen sind. Zyklen können daher
außer der Reihe eröffnet werden.
Das gilt, solange sich in der Zwischenzeit der Zeitplan der Zyklen nicht ändert und der Bestandsaufzeichner des Tokens nicht ersetzt wird. Ein neuer Zeitplan schneidet die noch nicht eröffneten Zeitfenster neu, einschließlich derer, die die beiseitegelegten Aktien noch prüfen müssen; ein in der Zwischenzeit ersetzter Bestandsaufzeichner misst kein Zeitfenster, das vor ihm begann, und die Aktien warten auf das erste Zeitfenster, das er vollständig abdeckt (siehe die Betriebsregel unten).
Eine Sendung, die selbst keine berechtigten Bestände findet, während frühere Zeitfenster noch
ungeprüft sind, schlägt fehl: zuerst assignUnassigned, dann die Sendung erneut. Eine
Zustellung von Robinhood Chain bleibt auf Ethereum gespeichert und kann erneut ausgeführt
werden: Seit dem 2026-10-06 führt der Keeper eine gespeicherte Zustellung selbst erneut aus,
sobald ihre Simulation durchgeht, und meldet mit dem Befehl, sie von Hand auszuführen, wenn
er es nicht kann (siehe Der Keeper). Seit dem 2026-10-05 kommt eine Sendung für
ein Zeitfenster, das spätestens mit dem
zuletzt geprüften endet, was eine Umstellung auf längere Zeitfenster verursachen kann,
stattdessen zu den beiseitegelegten Aktien hinzu: Ein Markt, der Aktien beiseitegelegt hat,
erhält weiterhin seine Sendungen.
Die Prinzipien
- Ein Airdrop von Assets, niemals ein Buyback von Anteilen. Niemand gibt einen Token an den Vault zurück. Was zählt, ist das Halten des Tokens.
- Er belohnt das Halten, nicht das Trading.
- Kein versprochener Betrag. Ein Airdrop hängt vom vergangenen Volumen ab, nicht von einem Prozentsatz. Er kann null sein, und nichts verspricht, dass es morgen Volumen geben wird.
- Keine Rücknahme. Ein Holder erhält seinen Anteil an jedem Airdrop und nichts sonst: Es gibt weiterhin kein Recht auf Abhebung aus dem Vault.
- Der Keeper löst aus, er wählt nie. Die Aufteilung wird von einem Contract aus den Beständen berechnet, die der Bestandsaufzeichner führt. Der Keeper wählt, wann er sendet, nie wie viel, was, wohin oder für wen, und er kann weder sich selbst noch irgendwem außerhalb dieser Berechnung einen Anteil zuweisen.
- Nie mehr, als ein Zyklus hält. Jeder Zyklus zahlt höchstens aus, was er hält, Aktie für Aktie, und kein Holder erhält mehr als seinen Pro-rata-Anteil, abgerundet.
- Ein Fehler stoppt nur sich selbst. Seit dem 2026-10-05 wartet eine Aktie, die nicht gesendet oder ausgezahlt werden kann, oder ein Markt, der nicht hinübergehen kann, für sich, und die anderen gehen. Siehe Architektur.
Der Notfallmodus gilt für den Airdrop-Contract wie für jeden Contract, der Assets des
Protokolls hält: Der Transfer des Owners, sofort, bewegt Aktien und lässt die Anteile, wie
sie sind. Seit dem 2026-10-05 zahlen die anderen Zyklen nie dafür: Claims einer Aktie, die
der Transfer genommen hat, stellen diese Aktie zurück und zahlen die anderen aus, bis die
Aktie über restore zurückkommt oder der Owner den Verlust zulasten des Zyklus abschreibt,
der sie verloren hat (siehe oben und Notfallmodus). Das Verfahren des
Owners lässt die Bücher nie in eine Unterdeckung geraten: zuerst den Zyklus abschreiben
(writeDownCycle, oder writeDownUnassigned für beiseitegelegte Aktien), dann die Aktie
bewegen. Die Pause des Airdrop-Contracts stoppt die Sendungen, das Eröffnen von Zyklen und
das Zuweisen beiseitegelegter Aktien; sie bewegt nichts und stoppt nie einen Claim. Der
Airdrop-Contract und der Bestandsaufzeichner sind durch den Owner von StockFun upgradebar,
mit sofortiger Wirkung, wie jedes Modul außer den Tokens und dem Liquiditäts-Lock.
Daraus folgt eine Betriebsregel: Der Bestandsaufzeichner eines Tokens wird per Upgrade
aktualisiert, was seine gesamte Historie bewahrt; bei einem laufenden Token wird er nicht
ersetzt. Seit dem 2026-10-05 legt ein Austausch den Handel nicht mehr lahm: Der neue
Bestandsaufzeichner startet mit der Supply des Tokens außerhalb des PoolManager von Uniswap
zu diesem Zeitpunkt, ein Bestandsaufzeichner, der den Token schon einmal aufgezeichnet hat,
lehnt ihn ab, und seit der zweiten Audit-Schleife dieses Tages lehnt ein Token einen
Bestandsaufzeichner ab, der an einen anderen PoolManager gebunden ist als den, in dem sein
Pool lebt, wodurch der Pool als Holder gezählt würde. Seit der dritten Schleife beginnt der
neue Bestandsaufzeichner beim Wechsel eine neue Aufzeichnung: Der Airdrop-Contract misst kein
Zeitfenster, das vor dem Wechsel begann, dessen Aktien, beiseitegelegt, auf das erste
Zeitfenster warten, das der neue Bestandsaufzeichner vollständig abdeckt, und der Token
meldet den Saldo der Burn-Adresse beim Wechsel, sodass verbrannte Tokens ausgeschlossen
bleiben. Der neue Bestandsaufzeichner kennt aber die Salden der Holder nicht: Ein Holder, bei
dem er keine Bewegung gesehen hat, liest sich bis zu seiner nächsten Bewegung so, als hätte
er nichts gehalten, sodass ihm ein Zeitfenster, das er überspannt, weniger auszahlt, und
niemandem mehr. Die bereits offenen Zyklen behalten den Bestandsaufzeichner, den sie
eingefroren haben. Ein Bestandsaufzeichner, der ersetzt werden muss, wird direkt nach dem
Ende eines Zeitfensters gewechselt, sobald die Zyklen der bereits geschlossenen Zeitfenster
eröffnet sind. Bis zum 2026-10-05 startete ein neuer Bestandsaufzeichner mit einer Supply von
null: Jeder Verkauf schlug fehl, und die Anteile der danach eröffneten Zyklen waren endgültig
gebrochen.
Weil eine fehlschlagende Meldung den Transfer fehlschlagen lässt, behält der Owner von
StockFun zwei sofortige Hebel, je eine Transaktion: ein Upgrade des Bestandsaufzeichners an
derselben Adresse oder setRecorder(0) auf dem Token, das seine Aufzeichnung stoppt. Solange
ein Token keinen Bestandsaufzeichner hat, eröffnet der Airdrop-Contract keinen Zyklus für
ihn, und die für ihn gesendeten Aktien werden beiseitegelegt, bis ein Bestandsaufzeichner
benannt ist.
Was offen war, und wie es entschieden wurde
Das Register des Projekts, doc/DECISIONS.md, führte drei offene Punkte als TBD 5, 7 und 8.
Alle drei wurden am 2026-10-04 entschieden:
- Ein Push durch den Keeper (TBD 5). Nein: Nur der Holder claimt, für sich selbst, auf eigene Kosten.
- Die Limits (TBD 7). Keine Obergrenze pro Wallet, kein Mindestbetrag, und Anteile verfallen nie.
- Die Ausschlüsse (TBD 8). Eine Liste pro Token, festgelegt vom Owner von StockFun, standardmäßig höchstens 16 Adressen, die Burn-Adresse immer ausgeschlossen; standardmäßig allein die Burn-Adresse. Siehe oben.
Was noch bleibt
- Die Aktien-Adapter. Die LayerZero-Adapter, die jede Aktie nach Ethereum tragen, einer pro Aktie: der Lockbox-Adapter auf Robinhood Chain und sein OFT auf Ethereum. Sie sind nicht im Repository; die Tests verwenden Mocks
- Ein Deployment. Nichts ist deployt
Der Airdrop-Schritt des Keepers und die Claim-Ansicht der Dapp, die bis dahin hier aufgeführt waren, wurden am 2026-10-05 geschrieben: siehe Der Keeper und Die Dapp.
Und die Treasury Ratio?
Die Treasury Ratio — der Wert der Treasury geteilt durch die zirkulierende Marktkapitalisierung — war die prägende Metrik des Produkts. Sie hat keine Bedeutung mehr: Die Treasury wird bei jeder Distribution geleert. Sie ist seit dem 2026-09-27 obsolet.
Die Metrik, die sie ersetzt, ist noch zu entscheiden. Der aktuelle Vorschlag: der kumulierte Wert der an die Holder eines Marktes verteilten Aktien, in Dollar. Zwischen zwei Distributionen zeigt die Dapp weiterhin an, was die Treasury hält, in Erwartung des nächsten Airdrops.
Und der Creator-Buyback?
Abgeschafft. Vom 2026-08-27 bis zum 2026-09-27 konnte der Creator eines Marktes Aktien der Treasury verkaufen lassen, um seinen Token zurückzukaufen und zu verbrennen. Der Creator hat nun keine Befugnis über die Treasury: Er erhält Aktien nur wie jeder andere Holder, wenn er den Token hält.
Mit ihm entfällt der Rückweg der Bridge, von Robinhood Chain nach Ethereum, der nur dem Creator-Buyback diente. Die Bridge läuft jetzt nur noch in eine Richtung. Für den Airdrop kommen die Aktien gewrappt in die andere Richtung zurück, über die Aktien-Adapter: ein anderer Weg, der nur Aktien transportiert.
Der Buyback-and-Burn von $STOCKFUN ist nicht betroffen: Die 0,5 % jedes Trades, die
$STOCKFUN kaufen und in den Burn schicken, berühren keine Treasury, und sie bleiben. Siehe
$STOCKFUN.
Die Formulierung
Vorgeschlagene Formulierung für die Dapp, noch zu validieren:
Die Aktien, die die Treasury kauft, werden per Airdrop an die Token-Holder verteilt, pro rata, bei jeder Distribution. Dies ist weder eine Rendite noch eine Garantie.
Das verbotene Vokabular gilt vollständig für den Airdrop. Das Projekt schreibt niemals passive income, earn stocks, returns oder your stocks are safe in the vault, und es stellt einen künftigen Airdrop-Betrag niemals als feststehend dar.
Tokenisierte Aktien, emittiert von Robinhood, nicht verfügbar für US persons.