Sheaf goes where the stocks are.
Each chain is here for a reason about stocks. Solana has xStocks and the program. Robinhood Chain has the issuer's own stock tokens. Tempo has recurring payments the chain itself enforces, which is exactly what a monthly plan is. Hyperliquid prices stocks around the clock. Everywhere else the same contracts are portable, deployed and working, waiting for an issuer.
Running on Solana devnet and 5 EVM testnets, none on mainnet yet. Connect any EVM wallet on a basket page to get test tokens, create shares in kind, redeem them, or buy with dollars on the desk.
Running now
Solana devnet and 5 EVM testnets · every figure read from the chain when you open it
Solana
Devnet · homexStocks and PreStocks, the program, the launch markets, dollar orders and monthly plans.
Baskets hold xStocks and PreStocks, priced from mainnet, created and redeemed on devnet against mirror mints with the same decimals and dividend multiplier. Every plan, order and fill is decoded on the ledger.
Reading the program… · paid in test dollars
Robinhood Chain
TestnetBaskets hold Robinhood's testnet stock tokens, not stand-ins, read through their split-and-dividend multiplier, and dollar orders settle in Paxos USDG.
Robinhood's own stock tokens are issued here.
Real stock tokens · paid in USDG
Tempo
TestnetA monthly plan is a PlanDesk plan plus a Tempo access key: the key may spend 25 AlphaUSD a month on two calls only, and every run's price is capped on chain at the minimum share count you signed.
A payments chain where gas is paid in dollars.
Labeled testnet mirrors · paid in AlphaUSD
The same contracts, deployed unchanged where stock tokens are issued on mainnet but not yet on testnet. Each holds labeled mirrors, and every flow works from a wallet.
Ethereum
TestnetxStocks and Ondo issue their EVM stock tokens on Ethereum mainnet.
The same immutable vault and cash desk on Sepolia, holding labeled mirrors until an issuer ships a testnet. Paid in sUSD.
Arbitrum
TestnetRobinhood Chain is an Arbitrum Orbit chain, and Robinhood's EU stock tokens trade on Arbitrum One.
The same immutable vault and cash desk on Arbitrum Sepolia, holding labeled mirrors. Paid in sUSD.
Base
TestnetDinari issues stock tokens on Base, and Coinbase brings the users.
The same immutable vault and cash desk on Base Sepolia, holding labeled mirrors. Paid in sUSD.
Next
- NextHyperliquidStock perpetuals trade on HyperCore around the clock. Nothing deployed yet.MAG8 recipe at …priced from HyperCore, not deployed
The same four rules, written natively on each chain
A recipe that cannot change
Written once in the Basket constructor, with no setter, no owner, no pause and no upgrade path.
components()
A vault only a redemption empties
Nothing leaves except through a redemption, and deposits round up while payouts round down.
vaultBalances() ≥ owed
Shares in kind, both ways
Deposit the recipe and receive a share; burn a share and receive the recipe. No price is ever read.
mint() · redeem()
A desk that turns dollars into shares
A buyer escrows dollars; any participant who delivers the components collects them, and the shares go to the buyer.
placeAuction() · fill()
Robinhood Chain
Robinhood's tokens, bound into one share
Robinhood's testnet faucet gives anyone five each of TSLA, AMZN, AMD, PLTR and NFLX a day. Those are the tokens the Robinhood baskets hold. Connect a wallet on a basket page and it reads what you already have, says how many shares that binds, and creates them in kind. Units are shown through each token's ERC-8056 multiplier, so a split never misstates a holding.
Tempo
A monthly plan is an access key
One passkey signature writes the plan on PlanDesk: the amount, the interval and the price cap. A second scopes the keeper to AlphaUSD.approve(PlanDesk) and PlanDesk.instalment. Ask for fewer shares and the plan answers FairOutOfBounds, run early and it answers TooSoon, call anything else and the chain answers CallNotAllowed. No custody, and gas paid in a dollar.
Run the plan in your browserDeployed, verified, smoke-tested
New orders go to the v3 desks, deployed on October 9: a dollar desk that pays the 0.10% protocol fee to a separate treasury key the server does not hold, and PlanDeskV3, whose bounds trail each fill so a monthly plan keeps running after the market moves. Each chain ran the same end-to-end test on them: approvals, a dollar order and its fill, then a plan with two filled runs. The earlier desks are listed under the new ones; v2’s fee went to the house key.
| Chain | Factory | Dollar desk (v3) | Plan desk (v3, trailing) | Fee treasury | Stocks | Verified | Smoke test |
|---|---|---|---|---|---|---|---|
| Robinhood ChainRobinhood Chain testnet | 0xC836…89B1 | 0x00F3…7c69v2 0x5C49…Ba24 · v1 0x4184…951C | 0x8C68…5045v2 0xF1C8…9c05 | 0xEcb6…7355separate key | Robinhood's own | 9 of 9 | passed 2026-10-09plan run 2, re-centered |
| TempoTempo testnet (Moderato) | 0x4925…95e7 | 0xD54d…940cv2 0x1855…4742 · v1 0x4EB6…2Eb0 | 0x1AFe…23b4v2 0xEB04…51f2 | 0xEcb6…7355separate key | Labeled mirrors | 17 of 17 | passed 2026-10-09plan run 2, re-centered |
| EthereumEthereum Sepolia | 0x08Ec…D9E0 | 0x5dDd…2D5Av2 0x5F66…51d6 · v1 0x336c…26E4 | 0x59Ea…62a9v2 0x43e5…2330 | 0xEcb6…7355separate key | Labeled mirrors | 18 of 18 | passed 2026-10-09plan run 2, re-centered |
| ArbitrumArbitrum Sepolia | 0x4EB6…2Eb0 | 0x316B…da0Fv2 0xd47a…E9fB · v1 0x3A9b…09A0 | 0x6bDc…05EAv2 0xFD0c…08FE | 0xEcb6…7355separate key | Labeled mirrors | 18 of 18 | passed 2026-10-09plan run 2, re-centered |
| BaseBase Sepolia | 0x4EB6…2Eb0 | 0x9526…B30Dv2 0x2B14…3432 · v1 0x3A9b…09A0 | 0x663c…4e48v2 0x74a4…4B6c | 0xEcb6…7355separate key | Labeled mirrors | 18 of 18 | passed 2026-10-09plan run 2, re-centered |
Solana's program, tests and ledger live on the method page and the ledger.