Live on Robinhood Chain
Creel

A basket you can always take apart.

A creel is several tokenized stocks held as one ERC-20. Hand over the units, take a share. Hand back the share, take the units. No price is involved in either direction — so a creel cannot drift from what is inside it, and nobody has to be trusted to keep it honest.

Stocks you can use
26
of 45 on this chain — the rest have no price feed or no pool
Oracles in the contract
0
minting and redeeming never ask what anything is worth
Fee, owner, upgrade
None
6,520 bytes, and nothing in it can be changed
In kind both ways — no price, no slippage, no fee The address is the recipe One transfer instead of 7 You only ever approve Permit2, which is Uniswap's
Why

SPY works because anyone can hand it back.

The oldest and largest exchange-traded fund in the world is a unit investment trust. It holds a fixed basket, it does not trade, and its share tracks its holdings for exactly one reason: an authorised participant can hand in the basket and take a share, or hand in a share and take the basket. Everything else about an ETF is administration.

The problem

A basket token nobody can redeem is just a token

If the only way out of a basket is to sell it to somebody, its price is whatever the pool it trades in says. It can sit above what it holds, or below, for as long as nobody bothers — and you have no way to insist.

The fix

Make everybody an authorised participant

On a chain the create-and-redeem mechanism costs one contract with no owner. Redemption is not a favour the issuer grants; it is a function anybody can call, and it can never be turned off, because there is nobody to turn it off.

The consequence

No price can be wrong, because none is used

Minting pulls a fixed number of raw units per share and redeeming pays the same ones back. The contract never reads a feed, so it cannot be fed a bad one. The pools on this chain currently disagree with Robinhood's own prices by a median of 19.9 basis points and by as much as 217 — which is exactly the gap an oracle-priced basket would mint and redeem into.

How it works

Three things, and two of them are free.

A creel holds a fixed number of raw units of each of its stocks per whole share. Those units are constructor arguments, which means they are inside the address — so a creel cannot be re-weighted, diluted, paused or drained after it exists.

01

Get the parts

If you already hold the stocks, skip this. If you do not, the app buys exactly the units one transaction, through Uniswap v3, quoting all four fee tiers and spending whatever it takes up to the limit you set.

Costs the pool's price impact — a median of 0.7 bp on $1,000
02

Hand the units in

Sign one Permit2 batch and the creel pulls exactly the units it quoted, in one transaction, and mints your share. You never approve a contract of ours: the only spender you ever authorise is Permit2, which is Uniswap's and which you have probably approved already.

No price, no slippage, no fee — it is a swap of a basket for a receipt
03

Hand the share back, whenever

Burn the share and the units come back. If one of the stocks is paused by Robinhood you can waive that leg and take the rest — what you leave behind stays as backing for everyone still holding, so a waiver can only ever raise the backing per share.

No price, no fee, no permission, and no one to ask
The creels

6 struck, and anyone can strike another.

Each of these was struck at block 68,261,297 so that one whole share was worth $10 at Robinhood's feed prices that minute. The weights drift from there, exactly as a fixed-unit trust's do, and nothing rebalances them. The app will also build one to your own weights and tell you its address before anybody has deployed it.

CreelHoldsLegsAddress
The Seven crSEVENAMZN · GOOGL · TSLA · AAPL · META · NVDA · MSFT70x9aDe52…80885b
The Foundry crFNDRYTSM · AMD · NVDA · MU40xa35153…fEEf3f
Hard Money crHARDSLV · GLD20x054023…Ad4Ab7
Sixty Forty crSIXTYSPY · SGOV20xEc8d29…5Fb05A
The Long Run crLONGSPY · SGOV · GLD · QQQ40xAecd8f…2005d6
Nerve crNERVEGME · SPCX · PLTR · CRCL40x47c47d…59Ef16
What it costs

The creel is free. The way in is not.

Minting and redeeming involve no price at all, so they cost gas and nothing else. Buying the parts costs whatever the pool charges, and that is worth knowing before you start. Measured at one block on Sep 20, 2026, against each pool's own price at $100 — which is the only honest way to read price impact, because it cancels the fee that is in both.

Price impact, on the best v3 pool

The median across 26 stocks. It is small where the pools are deep and enormous where they are not, which is why the table is here and not a single number.

$1,000
0.7
bp · 90th pct 8.8
$5,000
3.8
bp
$25,000
19.4
bp · worst 2,458

What this site does not do

The way in uses Uniswap v3 only, and quotes all four fee tiers (0.01%, 0.05%, 0.30%, 1.00%). Uniswap v4 is read but never traded. Across 39 names where both venues quoted, ignoring v4 costs a median of 0.0 bp — but 11 names are worse than 1 bp and the worst is 73.3 bp. If you are buying one of those, buy the parts somewhere else and mint with them.

17 of the 45 tokenized stocks on this chain have no price feed at all (AVGO, NFLX, COST, RDDT, HIMS, RBLX, MRNA, LLY, DJT, QUBT, TTWO, NU, RIVN, SOUN, AMC, JNJ, NET). A creel cannot hold what this site cannot price, so those are out.

StockFeed price$1k$5k$25kPool vs feedTier
NVDA NVIDIA$222.450.00.31.3-280.05%
QQQ Nasdaq 100 ETF$720.370.10.42.0340.05%
SGOV 0-3 Month Treasury ETF$101.110.10.41.3-570.05%
SPCX SpaceX$152.820.10.83.9560.05%
AAPL Apple$335.380.21.05.3-210.05%
USO US Oil Fund$154.540.21.15.7980.30%
GLD SPDR Gold Trust$400.780.31.42.9200.05%
AMZN Amazon$253.860.31.57.7180.30%

Price impact in basis points, against the same pool at $100. Pool vs feed is a disagreement between two venues and not a cost: positive means the pool is dearer than Robinhood's feed, and 8 of 26 pools are cheaper than it.

What was checked

Run against the real chain, not against a story about it.

Properties on chain
20/20

164 assertions, each one call to the live chain with the real stock tokens. The control — the same property with the funding removed — was refused.

Colour pairs proved
85/85

Every surface against the photograph it sits on, at both ends of it, and every ink against the thinnest glass it is ever set on. A deliberately unreadable pair is added on demand and must fail.

The contract
6,520

bytes of runtime, 276 lines of Solidity, solc 0.8.26. Runtime hash 0x08f0c9b9…. Not audited.

Every number on this page is computed from a file in data/ by tools/figures.mjs and filled in by the build; the build fails rather than print a figure nobody measured. The full list, and what the sweeps broke, is in the docs.

What is ours

One contract, and it holds nothing of its own

contracts/Creel.sol276 lines. No owner, no admin, no fee, no oracle, no pause, no upgrade path and no proxy. Its tokens, its units, its name and the Permit2 it trusts are all constructor arguments, so they are inside its address.

It is deployed through Arachnid's CREATE2 factory (0x4e59…956C) by whoever mints the first share of a given creel. This project holds no key and has never broadcast a transaction to this chain.

It has not been audited. It is new code. Read it before you put money in it — it is short enough to read.

What is not ours

Everything else was already here

The stock tokens are Robinhood's. They are ERC20ScaledUI: the raw balance never moves, and a uiMultiplier turns raw units into what a broker calls shares. Today 14 of 45 carry a multiplier above 1 — the largest is SGOV at 1.005102. A creel holds RAW units, so it collects that automatically and never needs rebalancing for it.

Robinhood can pause any stock and blocklist any address, and the multiplier can be set down as well as up. That is a risk you take with the stock itself, not with the creel — and it is why redemption can waive a leg.

Permit2 (0x0000…8BA3) and the Universal Router (0x8876…0904) are Uniswap's, already on this chain.

Questions

The awkward ones first.

Does a creel rebalance?

No, and it never will. The units are fixed in the address. "Equal weight" describes the block a creel was struck at and nothing after it: if one stock triples, it becomes a bigger share of the basket and stays there. If you want different weights, that is a different creel, at a different address, which you can strike yourself.

What if one of the stocks is paused?

Then that leg cannot move, and a redemption that insisted on moving every leg would be refused entirely — which would freeze the whole basket. So redemption takes a mask: name the legs you want, burn your shares, and leave the rest behind. What you leave stays as backing for everyone still holding, so waiving can only raise the backing per share, never lower it. There is a property on chain for exactly this.

Can the creel be drained?

There is no function that moves a token out of it except redemption, and redemption burns shares first and pays out floor-rounded amounts second. At the end of every mint and every redemption the contract checks, on chain, that it still holds at least totalSupply × units ÷ 1e18 of every leg, and reverts if it does not. There is no owner, no sweep, no rescue function and no upgrade path.

Why is there no fee?

Because a fee needs somebody to collect it, and somebody to collect it needs an owner, and an owner is the thing this design is trying not to have. The contract has no address in it other than the tokens and Permit2.

Is a creel worth what it holds?

It holds what it holds — you can read the balances yourself and the app shows them against what is required. Whether anybody will BUY one from you at that price is a different question, and there is no pool for these tokens. The answer to "how do I get out" is not "sell it", it is "redeem it and sell the parts".

What can go wrong?

The contract is new and unaudited. Robinhood can pause or blocklist a stock. The pools are thin for some names: $25,000 costs a median of 19.4 bp of price impact and up to 2,458 bp on the worst one. The way in uses Uniswap v3 only, which costs up to 73.3 bp against v4 on the worst name. And a creel is a concentrated basket of single stocks, which is a thing that can go down.