A tesouraria
Dois por cento de cada trade entram no TreasuryVault do mercado, saem como ações
tokenizadas e são distribuídos via airdrop aos holders do token. Eis o caminho completo.
Os três atores
O trader não faz nada de especial: compra ou vende. A taxa é cobrada pelo hook na mesma transação.
Os contratos decidem tudo. O vault sabe qual basket precisa deter, dentro de quais limites de preço vai negociar e o que recusa. Nenhuma função muda o basket. Os limites de preço e o limiar de conversão são parâmetros do owner do StockFun desde 2026-10-05, lidos em tempo real por todo vault; fora deles, só um upgrade do vault pelo owner do StockFun pode mudar as suas regras.
O keeper é um worker offchain que apenas aciona. Ele escolhe o momento, indica o valor de cada etapa e propõe rotas e valores mínimos, que o vault recusa se forem mais frouxos que o seu próprio limite de preço; não escolhe nem os ativos, nem como o caixa é dividido entre eles, nem os preços. O que quer que indique, não pode desviar um ativo, afrouxar um limite, mudar os pesos do basket nem escolher quem recebe o airdrop.
O caminho
NVDA · MSFT · GOOGL · SPY · QQQ] S -->|wrapped, para o Ethereum| AD[AirdropDistributor] AD -->|airdrop, 100 %, pro rata| H[Holders do token]
Cada perna é limitada por um oráculo Chainlink independente: por padrão, 50 pontos-base em ETH → USDC, 200 na perna que compra as ações. O vault mede o que realmente recebe e recusa a transação se o resultado ficar aquém do mínimo do keeper, que nunca é mais frouxo do que o limite (desde 2026-10-05; até então, aquém do limite). Não confia nem no keeper, nem no trilho, nem no preço que lhe é cotado.
O limiar de conversão
O vault não converte a cada trade. Uma vez a cada 24 horas, logo antes do airdrop, ele converte o que acumulou — desde que seja pelo menos 0,1 ETH, o limiar padrão. Abaixo disso, o gas e o slippage comeriam a operação: nada acontece naquele dia, e o ETH espera o próximo ciclo, mesmo que trades o levem acima do limiar mais tarde naquele dia. O keeper o verifica na sua primeira passagem depois que a janela do airdrop fecha, às 13:00 UTC por padrão; ele segue essa regra desde 2026-10-06, e até então convertia o ETH de um vault em qualquer uma das suas passagens durante o pregão assim que o vault detinha o limiar.
O limiar padrão é calibrado para que um mercado que esgotou a sua primeira faixa de liquidez sempre o tenha ultrapassado: a essa altura, ele recebeu cerca de 0,159 ETH, e converte no próximo ciclo diário.
Desde 2026-10-01, cada etapa converte um valor que o keeper indica, nunca menos do que o limiar na etapa do ETH, em vez do saldo inteiro. Um vault que cresceu além do que o seu local de negociação executa dentro do limite converte em fatias, e o resto espera o próximo ciclo. Até então, um vault assim nunca mais conseguia converter.
Os pesos do basket
O caixa é separado ação por ação, segundo os pesos do basket, à medida que chega. Cada
ação gasta apenas a sua própria parte. Uma ação que não pode ser comprada num determinado
dia, porque o seu emissor a congelou, o seu feed parou de ser atualizado, o seu pool é
raso demais ou, desde 2026-10-06 na Robinhood Chain, ela passa por um evento corporativo
que pausa o oráculo do seu token, guarda a sua parte para um ciclo posterior. Desde
2026-10-05, a sua perna
falha isoladamente (LegFailed), e as outras ações do basket são compradas na mesma
chamada; até então, uma perna que falhava fazia a compra inteira falhar.
Desde 2026-10-01, o keeper não pode, portanto, mudar a composição pulando ações. Antes, a parte de uma ação pulada era dividida de novo por todo o basket.
Desde o pipeline de segurança de 2026-10-01, uma emergência que deixa o caixa de um vault abaixo do que está reservado anula todas as reservas: o que resta, e toda entrada de caixa posterior, é dividido de novo segundo os pesos. Veja Modo de emergência. A cada compra, o keeper retém n−1 unidades da parte da última ação, sendo n o número de ações; elas continuam reservadas para a próxima chamada. Veja O keeper.
O que um vault pode deter
A qualquer instante, um vault detém uma mistura de:
- ETH — recebido, ainda não convertido
- USDC e depois USDG — em trânsito para a chain remota
- Ações tokenizadas — o estado final, na Robinhood Chain
Os três são exibidos como a tesouraria à espera do próximo airdrop; só as ações são distribuídas, depois de compradas. Um vault cheio de USDC não é um vault quebrado; é um vault em trânsito.
O que não pode acontecer
Ninguém pode sacar de um vault. Nenhum withdraw, nenhum transfer, nenhum sweep,
nenhum owner: chamá-los falha porque eles não existem.
Os ativos de uma tesouraria só saem dela de três formas: a conversão em ações tokenizadas, a entrega dessas ações ao contrato do airdrop para os holders do token, e o modo de emergência, pelo qual o owner do StockFun os movimenta para qualquer endereço, de imediato. Nada mais no código atual pode movimentá-los. Desde 2026-10-02, o owner do StockFun pode fazer o upgrade do vault, com efeito imediato: veja Modelo de confiança.
Além dos vaults, dois contratos detêm os ativos do protocolo para vários mercados ao mesmo
tempo: o contrato do airdrop e o hub remoto. Desde 2026-10-05, depois de uma transferência
de emergência para fora de qualquer um deles, nenhum mercado é pago com os ativos de
outro, nem mesmo com ativos que chegaram para outro mercado e ainda não foram creditados:
o que falta espera até que os ativos sejam trazidos de volta (restore; uma transferência
simples não conta), ou até que o owner do StockFun dê baixa da perda no mercado que a
sofreu. Só o que falta espera: uma reivindicação continua pagando as outras ações, e uma
transferência de emergência imputada a um único mercado no hub remoto mantém os pagamentos
de todos os outros mercados. Veja Modo de emergência.