Baskets
A basket is the composition of tokenized stocks a market's treasury will buy and airdrop to its holders. It is chosen at launch and no function changes it: the market's vault holds it, and only an upgrade of that vault by StockFun's owner could.
The three baskets
| Basket | Composition | The idea |
|---|---|---|
| AI | NVDA 40 % · MSFT 30 % · GOOGL 30 % | Compute, models, and the companies selling both |
| Mega Tech | AAPL 34 % · AMZN 33 % · META 33 % | The largest listed technology companies, near-evenly weighted |
| Index | SPY 60 % · QQQ 40 % | Broad exposure, no single-name concentration |
No custom weights, no added asset, no change after creation. A basket's stocks must be priced by an independent feed on the chain where they are bought. On Ethereum the factory checks it at registration. For Robinhood Chain the factory only checks that each stock is mapped to a Robinhood Chain token, and the mirror vault refuses a stock without a feed when its first delivery arrives.
Since 2026-10-06 a basket holds at most five stocks: the factory refuses a larger one
(MAX_BASKET_STOCKS). It is a technical bound, not a product choice: every cost that grows
with a basket, from a vault's conversion and its send to the airdrop to a holder's claim of
ten windows, is measured up to that size, and a basket of about twenty-six stocks would have
made every ten-window claim too heavy for one transaction. Since Ethereum's Glamsterdam upgrade,
active on Sepolia since 2026-10-06, a new storage slot costs about five times as much: a claim of
ten five-stock windows would take about 8 to 14 million gas, still within one transaction, and
the dapp's claims go five windows at a time. StockFun's owner can change the bound by upgrading
the factory. The three baskets hold three, three and two stocks.
Why it is immutable
An editable basket would be a power, therefore a promise to keep, therefore a reason to trust someone. By freezing it, StockFun takes the subject off the table: what the vault will buy a year from now is readable today, in the code.
It is also what lets the interface state what a market holds without consulting anyone.
No function edits a basket, in the factory or in a vault. Since 2026-10-02 the vaults are upgradeable by StockFun's owner, though, like every module but the tokens and the liquidity lock: see Trust model.
A basket's three requirements
For a basket to be deployable, each stock in it must have:
- A token available on the chain where the vault buys
- An independent Chainlink price feed, which bounds the vault
- Liquidity on an accessible secondary pool
The feed is the non-negotiable one. Without it the vault has no way to know whether it is being robbed on an execution, and the protocol would rather not deploy a basket than buy blind.
Actual feed coverage on Robinhood Chain must be re-surveyed before each deployment. The 20-asset survey in the project's sources is historical: the issuer's API listed 194 assets as of 2026-09-11.
The protocol's basket
$STOCKFUN uses Index. The protocol applies to itself the most neutral basket it
offers, which is easier to defend than picking the most aggressive one.