La tesoreria
Il due per cento di ogni trade entra nel TreasuryVault del mercato, ne esce sotto forma
di azioni tokenizzate, e viene distribuito in airdrop agli holder del token. Ecco il
percorso completo.
I tre attori
Il trader non fa nulla di particolare: compra o vende. La commissione viene prelevata dall'hook nella stessa transazione.
I contratti decidono tutto. Il vault sa quale basket deve detenere, entro quali limiti di prezzo accetta di scambiare, e cosa rifiuta. Nessuna funzione cambia il basket. I limiti di prezzo e la soglia di conversione sono impostazioni dell'owner di StockFun dal 2026-10-05, lette in tempo reale da ogni vault; al di là di questi, solo un upgrade del vault da parte dell'owner di StockFun può cambiarne le regole.
Il keeper è un worker offchain che si limita ad attivare. Sceglie il momento, indica l'importo di ogni passaggio, e propone i percorsi e gli importi minimi, che il vault rifiuta se sono più permissivi del proprio limite di prezzo; non sceglie né gli asset, né come il cash viene ripartito tra di essi, né i prezzi. Qualunque cosa indichi, non può deviare un asset, allentare un limite, cambiare i pesi del basket, né scegliere chi riceve l'airdrop.
Il percorso
NVDA · MSFT · GOOGL · SPY · QQQ] S -->|wrapped, verso Ethereum| AD[AirdropDistributor] AD -->|airdrop, 100 %, pro rata| H[Holder del token]
Ogni tratta è limitata da un oracolo Chainlink indipendente: di default 50 punti base su ETH → USDC, 200 sulla tratta che compra le azioni. Il vault misura ciò che riceve effettivamente e rifiuta la transazione se il risultato resta sotto il minimo del keeper, a sua volta mai più permissivo del limite (dal 2026-10-05; fino ad allora, sotto il limite). Non si fida né del keeper, né del rail, né del prezzo che gli viene quotato.
La soglia di conversione
Il vault non converte a ogni trade. Una volta ogni 24 ore, subito prima dell'airdrop, converte ciò che ha accumulato — purché sia almeno 0,1 ETH, la soglia di default. Al di sotto, gas e slippage si mangerebbero l'operazione: quel giorno non succede nulla, e l'ETH attende il ciclo successivo, anche se i trade lo portano oltre la soglia più tardi nella giornata. Il keeper lo controlla al suo primo giro dopo la chiusura della finestra dell'airdrop, alle 13:00 UTC di default; vi si attiene dal 2026-10-06, e fino ad allora convertiva l'ETH di un vault a uno qualsiasi dei suoi giri durante la sessione non appena il vault deteneva la soglia.
La soglia di default è calibrata in modo che un mercato che ha esaurito la sua prima banda di liquidità l'abbia sempre superata: a quel punto ha ricevuto circa 0,159 ETH, e converte al ciclo giornaliero successivo.
Dal 2026-10-01 ogni passaggio converte un importo indicato dal keeper, mai meno della soglia nel passaggio dell'ETH, invece dell'intero saldo. Un vault cresciuto oltre ciò che la sua sede di esecuzione riesce a eseguire entro il limite converte a tranche, e il resto attende il ciclo successivo. Fino ad allora, un vault del genere non poteva mai più convertire.
I pesi del basket
Il cash viene accantonato azione per azione, secondo i pesi del basket, man mano che
arriva. Ogni azione spende solo la propria quota. Un'azione che non si può comprare in un
dato giorno, perché il suo emittente l'ha congelata, il suo feed ha smesso di aggiornarsi,
il suo pool è troppo sottile o, dal 2026-10-06 su Robinhood Chain, sta attraversando
un'operazione societaria che mette in pausa l'oracolo del suo token, conserva la propria
quota per un ciclo successivo. Dal
2026-10-05 la sua tratta fallisce da sola (LegFailed), e le altre azioni del basket
vengono comprate nella stessa chiamata; fino ad allora, una tratta che falliva faceva
fallire l'intero acquisto.
Dal 2026-10-01 il keeper non può quindi cambiare la composizione saltando delle azioni. Prima, la quota di un'azione saltata veniva ripartita di nuovo sull'intero basket.
Dalla pipeline di sicurezza del 2026-10-01, un'emergenza che fa scendere il cash di un vault sotto quanto è riservato annulla tutte le riserve: ciò che resta, e ogni afflusso successivo, viene ripartito da capo secondo i pesi. Vedi Modalità di emergenza. A ogni acquisto, il keeper trattiene n−1 unità della quota dell'ultima azione, con n pari al numero di azioni; restano riservate per la chiamata successiva. Vedi Il keeper.
Cosa può detenere un vault
In ogni istante un vault detiene un mix di:
- ETH — ricevuto, non ancora convertito
- USDC poi USDG — in transito verso la chain remota
- Azioni tokenizzate — lo stato finale, su Robinhood Chain
Tutti e tre sono mostrati come la tesoreria in attesa del prossimo airdrop; solo le azioni vengono distribuite, una volta acquistate. Un vault pieno di USDC non è un vault guasto; è un vault in transito.
Cosa non può succedere
Nessuno può prelevare da un vault. Niente withdraw, niente transfer, niente sweep,
niente owner: chiamarli fallisce perché non esistono.
Gli asset di una tesoreria ne escono in tre soli modi: la conversione in azioni tokenizzate, la consegna di quelle azioni al contratto dell'airdrop per gli holder del token, e la modalità di emergenza, con cui l'owner di StockFun li sposta verso qualsiasi indirizzo, subito. Nient'altro nel codice attuale può spostarli. Dal 2026-10-02 l'owner di StockFun può fare l'upgrade del vault, con effetto immediato: vedi Modello di fiducia.
Oltre ai vault, due contratti detengono gli asset del protocollo per più mercati alla
volta: il contratto dell'airdrop e l'hub remoto. Dal 2026-10-05, dopo un trasferimento di
emergenza fuori dall'uno o dall'altro, nessun mercato viene pagato con gli asset di un
altro, nemmeno con asset arrivati per un altro mercato e non ancora accreditati: ciò che
manca attende finché gli asset non vengono riportati (restore; un semplice trasferimento
non conta), o finché l'owner di StockFun non imputa la perdita al mercato che l'ha subita.
Attende solo ciò che manca: una riscossione continua a pagare le altre azioni, e un
trasferimento di emergenza imputato a un solo mercato sull'hub remoto mantiene i pagamenti
di tutti gli altri mercati. Vedi Modalità di emergenza.