La tesorería
El dos por ciento de cada trade entra en el TreasuryVault del mercado, sale convertido en
acciones tokenizadas y se distribuye por airdrop a los holders del token. Este es el
recorrido completo.
Los tres actores
El trader no hace nada especial: compra o vende. La comisión la cobra el hook en la misma transacción.
Los contratos lo deciden todo. El vault sabe qué basket debe mantener, dentro de qué límites de precio operará y qué rechaza. Ninguna función cambia el basket. Los límites de precio y el umbral de conversión son ajustes del owner de StockFun desde el 2026-10-05, que cada vault lee en directo; más allá de ellos, solo un upgrade del vault por parte del owner de StockFun puede cambiar sus reglas.
El keeper es un worker offchain que solo dispara. Elige el momento, indica el monto de cada etapa y propone rutas y montos mínimos, que el vault rechaza si son menos estrictos que su propio límite de precio; no elige ni los activos, ni cómo se reparte el efectivo entre ellos, ni los precios. Indique lo que indique, no puede desviar un activo, relajar un límite, cambiar los pesos del basket ni elegir quién recibe el airdrop.
El recorrido
NVDA · MSFT · GOOGL · SPY · QQQ] S -->|wrapped, hacia Ethereum| AD[AirdropDistributor] AD -->|airdrop, 100 %, a prorrata| H[Holders del token]
Cada tramo está limitado por un oráculo Chainlink independiente: por defecto, 50 puntos básicos en ETH → USDC, 200 en el tramo que compra las acciones. El vault mide lo que realmente recibe y rechaza la transacción si queda por debajo del mínimo del keeper, que a su vez nunca es menos estricto que el límite (desde el 2026-10-05; hasta entonces, por debajo del límite). No confía ni en el keeper, ni en el rail, ni en el precio que le cotizan.
El umbral de conversión
El vault no convierte en cada trade. Una vez cada 24 horas, justo antes del airdrop, convierte lo que ha acumulado, siempre que sea al menos 0,1 ETH, el umbral por defecto. Por debajo de eso, el gas y el slippage se comerían la operación: ese día no ocurre nada, y el ETH espera al siguiente ciclo, aunque los trades lo lleven por encima del umbral más tarde ese mismo día. El keeper lo comprueba en su primera pasada después de que se cierre la ventana del airdrop, a las 13:00 UTC por defecto; se atiene a ello desde el 2026-10-06, y hasta entonces convertía el ETH de un vault en cualquiera de sus pasadas durante la sesión en cuanto el vault contenía el umbral.
El umbral por defecto está calibrado para que un mercado que ha agotado su primera banda de liquidez siempre lo haya superado: para entonces ha recibido unos 0,159 ETH, y convierte en el siguiente ciclo diario.
Desde el 2026-10-01, cada etapa convierte un monto que indica el keeper, nunca inferior al umbral en la etapa del ETH, en lugar del saldo completo. Un vault que ha crecido más allá de lo que su plataforma de negociación ejecuta dentro del límite convierte por fracciones, y el resto espera al siguiente ciclo. Hasta entonces, un vault así no podía volver a convertir nunca.
Los pesos del basket
El efectivo se aparta acción por acción, según los pesos del basket, a medida que llega.
Cada acción gasta solo su propia parte. Una acción que no se puede comprar un día
determinado, porque su emisor la congeló, su feed dejó de publicar, su pool es poco
profundo o, desde el 2026-10-06 en Robinhood Chain, pasa por una operación corporativa que
pone en pausa el oráculo de su token, conserva su parte para un ciclo posterior. Desde el
2026-10-05 su tramo falla
por separado (LegFailed), y las demás acciones del basket se compran en la misma
llamada; hasta entonces, un tramo que fallaba hacía fallar toda la compra.
Desde el 2026-10-01, el keeper no puede, por tanto, cambiar la composición omitiendo acciones. Antes, la parte de una acción omitida se volvía a repartir entre todo el basket.
Desde el pipeline de seguridad del 2026-10-01, una emergencia que deja el efectivo de un vault por debajo de lo reservado anula todas las reservas: lo que queda, y todo el efectivo que entra después, se reparte de nuevo según los pesos. Consulta Modo de emergencia. En cada compra, el keeper retiene n−1 unidades de la parte de la última acción, siendo n el número de acciones; siguen reservadas para la siguiente llamada. Consulta El keeper.
Lo que puede contener un vault
En cualquier momento, un vault contiene una mezcla de:
- ETH — recibido, aún no convertido
- USDC y luego USDG — en tránsito hacia la cadena remota
- Acciones tokenizadas — el estado final, en Robinhood Chain
Los tres se muestran como la tesorería a la espera del próximo airdrop; solo se distribuyen las acciones, una vez compradas. Un vault lleno de USDC no es un vault averiado; es un vault en tránsito.
Lo que no puede ocurrir
Nadie puede retirar de un vault. Ni withdraw, ni transfer, ni sweep, ni owner:
llamarlas falla porque no existen.
Los activos de una tesorería solo salen de ella de tres maneras: la conversión en acciones tokenizadas, la entrega de esas acciones al contrato del airdrop para los holders del token, y el modo de emergencia, por el que el owner de StockFun los mueve a cualquier dirección, de inmediato. Nada más en el código actual puede moverlos. Desde el 2026-10-02, el owner de StockFun puede hacer un upgrade del vault, con efecto inmediato: consulta Modelo de confianza.
Dos contratos, además de los vaults, guardan activos del protocolo para varios mercados a
la vez: el contrato del airdrop y el hub remoto. Desde el 2026-10-05, tras una
transferencia de emergencia fuera de cualquiera de los dos, a ningún mercado se le paga
con los activos de otro, ni siquiera con activos que han llegado para otro mercado y aún
no están abonados: lo que falta espera hasta que se devuelvan los activos (restore; una
simple transferencia no cuenta), o hasta que el owner de StockFun impute la pérdida al
mercado que la sufrió. Solo espera lo que falta: una reclamación sigue pagando las demás
acciones, y una transferencia de emergencia imputada a un solo mercado en el hub remoto
mantiene los pagos de todos los demás mercados. Consulta
Modo de emergencia.