Racks Docs

How Racks works

Racks lets you trade where hardware prices are heading, starting with GPU rental. Every contract is capped: a buyer can lose at most what they pay, and a writer at most $12 less that price.

Each market is an index built from public prices. H100 and B200 track what it costs to rent NVIDIA GPUs by the hour. You buy Up if you think the price will rise by settlement, or Down if you think it will fall. Everything runs on Robinhood Chain and settles in USDG.

How a contract works

Each period opens at 100: the index measures how far prices have moved since the open, in percent. 104.21 means prices are up 4.21%.

Up pays$6.00
Down pays$0.00
$12$6$08488100112116
Drag to a settlement level. One contract pays $1 a point past 100 its way, up to $12 at 112 or 88.

Up

Pays $1 for every point above 100 at settlement, up to $12 (at 112 or higher).

Down

Pays $1 for every point below 100 at settlement, up to $12 (at 88 or lower).

Every month and every week the index starts over at 100, from prices at that moment, so a contract only counts the move during its own period. If H100 rental prices rose 4% in September, October still opens at 100, and October’s Up pays only for what H100 does from Oct 1.

A weekly contract settles on the index’s last value. A monthly contract settles on the month’s TWAP: the mean of the index at the end of every hour of the month.

A contract costs somewhere between $0 and $12, set by the market. You can sell it any time before settlement, or hold it and claim the payout after.

Example

H100 opens October at 100. You buy 10 H100 Up at $2.50 each ($25). If H100 settles at 106, each pays $6: you get $60. If it settles at 100 or lower, they pay nothing and you lose the $25. Above 112 they pay the full $12 each.

Expiries

WeeklyMonday 00:00 to Monday 00:00 UTC

Opens Monday 00:00 UTC and settles the next Monday 00:00 UTC, on the index’s last value. The vault stops quoting a week’s contracts in its last 12 hours (from Sunday 12:00 UTC), when the result is nearly known; they still trade on the order book until the end.

A weekly contract’s time value is priced on trading time where its index rests at weekends: B200’s sources move about a third as much on a Saturday or Sunday as on a weekday, so its weekly contracts count a weekend hour at 0.3 of a weekday hour (weekday hours count more, so a whole week is still seven days). On a Friday evening a B200 weekly carries correspondingly less time value. H100’s weekly contracts are on calendar time.

MonthlyThe 1st 00:00 to the next 1st 00:00 UTC

Opens on the 1st and settles at 00:00 UTC on the 1st of the next month, on the month’s TWAP (see Settlement). Every market has monthly contracts.

Pick the expiry with the dropdown next to the market on the trade page.

Markets

H100 and B200

The Racks H100 index and the Racks B200 index follow what an NVIDIA H100 or B200 rents for by the hour. Each counts four published rates: Compute Desk’s US 1-year desk rate, Liquid Compute’s US reference, Silicon Data’s rental index for neo-clouds and Ornn’s OCPI of on-demand rentals. Each is compared with where it stood when the period opened.

The Racks H100 index follows the geometric mean of four published H100 rental rates: Compute Desk, Liquid Compute, Silicon Data and Ornn’s OCPI. The Racks B200 index follows the geometric mean of four published B200 rental rates: Compute Desk, Liquid Compute, Silicon Data and Ornn’s OCPI.

The price in $/hour is the geometric mean of the four prices when the period opened, moved by the index: while all four count, the geometric mean of the four prices now, so it moves with what contracts pay.

Each index has its own page with its price now and its history: H100 and B200.

RAM and NAND Coming soon

Memory and flash storage prices.

The oracle

An oracle computes each index from public prices and posts it on-chain. The rules are fixed and nothing is estimated:

  1. ReadFour published ratesCompute Desk, Liquid Compute, Silicon Data, Ornn OCPI
  2. ComputeThe indexEach rate against its value at the open
  3. PostOn-chainWith an evidence file of every price behind it
  4. SettleThe resultFinal after a challenge window
H100 and B200: The Racks H100 index follows the geometric mean of four published H100 rental rates: Compute Desk, Liquid Compute, Silicon Data and Ornn’s OCPI. The Racks B200 index follows the geometric mean of four published B200 rental rates: Compute Desk, Liquid Compute, Silicon Data and Ornn’s OCPI.
A source without a price at the open counts as unchanged until it has one. A missing price keeps its last value.
The oracle posts a new level when the index moves by 0.05 points or more (for a month that settles on its TWAP, when its expected settlement moves 0.2), and at least every hour.

Every post comes with an evidence file listing every price that went into it, and its hash is stored on-chain, so anyone can recompute the number. On each market’s page in the app, “How this number was computed” opens the latest one.

Settlement

Weekly contracts settle on the index at 00:00 UTC on the Monday they end: each source at its latest daily price for the week’s last day.

Monthly contracts settle at 00:00 UTC on the 1st of the next month, on the month’s TWAP: the mean of the index at the end of every hour of the month, each source at its daily price.

Each hourly value is stored once and never revised, and the settlement’s evidence file lists every one.

While a month runs, the level posted on-chain is its expected settlement: the hours so far at their values and the hours left at the index now.

When a period ends, its result is put forward and can be challenged for a set time; after that it is final and holders can claim their payouts in the app. A result is accepted only inside the levels posted during the period, 1.5 points either side: nobody, the team included, can settle outside them. And if nothing has settled 7 days after the period ends, anyone can settle it at the last level posted.

The Racks H100 Index and the Racks B200 Index

Each week’s index starts at 100. The Racks H100 Index and the Racks B200 Index chain the weeks into one long series, from 100 at the open of the week of October 5, 2026, the first full week with prices from all four sources: 100 × the product of each closed week’s final value ÷ 100, times the running week’s index ÷ 100, so it moves with every post.

Every week counts by the geometric mean, and a chain of geometric means of changes is the geometric mean of the total changes, so the series has no drift: while the same four sources count, it is the geometric mean of their prices’ changes since the base, however many weeks it spans. Each week counts its own sources from its own open, so a source joining or leaving at a week’s start moves nothing.

The weeks before launch are back-calculated with the same rule from the oracle’s own stored prices, not from the levels posted then, and are marked back-calculated. From launch, each week’s link is its result as settled on-chain.

Index governance

Changes are announced and never apply mid-period. Every posted level’s evidence file states the sources and rules it used. A change to them takes effect only from a future period’s start and is announced before it, so a running contract keeps the rules it opened with. Which months settle on their TWAP is fixed in the pricing contract when it is deployed.
Corrections. A source’s correction of its value for the same day counts; a value older than the one already counted is ignored. The oracle never revises what it has taken: an hourly value is final once stored, and a settlement uses the values as they stood.
Contingencies. A source that stops updating is dropped until it publishes again. With fewer than two live sources the index holds its level: each hour stored then keeps the value of the hour before, marked “held” in the evidence. A source that stops publishing for good is replaced from a later period’s start, announced ahead.
Review. Every result waits out a challenge window before it is final. Every posted level and every settlement carries the hash of its evidence file.
No settling outside the posts. The oracle takes a settlement, whoever makes it, only between the lowest and highest level posted during the period (its opening level, 100, counts), 1.5 points either side. The margin covers what can still move after the last post: the official values for a period’s last day are final only after the period ends, and the index drifts between posts, so the keeper also posts once in each period’s last 15 minutes. No role is exempt, the admin’s included. If nothing has settled 7 days after the period ends, anyone can settle it at the last level posted, with nobody choosing the level. A bad record of posts is limited by the public evidence files and that 7-day exit.
Limits. No trade with the vault’s pools can fill better than the contract’s fair value (trades between people in the order book are at the prices they set). Fair value uses the latest posted level for as long as it stands: if the posts stop, the guardian can pause pricing.

Trading

Connect a wallet: a browser wallet (an extension, or a wallet app’s own browser), or WalletConnect for a phone wallet app: its picker opens the wallet app on a phone, or shows a QR code to scan on a computer. WalletConnect’s servers carry the connection and read the chains you pay from, so they see your IP address. A payment from HyperEVM can’t go through WalletConnect yet, nor one from a chain that only Buy Racks with another coin offers: pay from another chain.
Buy and sell at the market price. Each contract trades against USDG in its own pool. Racks’ liquidity vault offers each contract around its fair value, and bids close to it for contracts it has sold, so you can usually sell them back. It has no bid for a contract worth under about a cent, for one it has sold only a very small part of, past its payout limits (Vault, below), or while its quotes are pulled. Where it has sold none, its bid is lower and capped each hour, and it falls as the vault buys.
Limit orders: set the most you’ll pay, or the least you’ll accept. The order fills at your price or better: right away if the market is already there, otherwise when it gets there. An order that waits must be worth at least $1 at its price. Cancel any time.
Write: sell a contract you don’t own. You lock $12 per contract and receive the sale price now; at settlement you get back $12 minus what the contract pays. You can close a write early by buying the contract back.
Max slippage (in the order panel) stops a market order from filling much worse than the price you saw.
1-tap trading (Account): trade with no wallet pop-up. A key on your device trades with the money in your wallet; what a trade returns goes back to your wallet, and the key can’t send your money anywhere else. But it can trade at a bad price within your limits: an order-book trade up to your price check from fair value, a pool trade at any price it is sent with. Whoever holds the key can lose your money that way, and with no daily limit (the default) nothing caps how much: set one to cap it. The key is this device’s, locked with Face ID, Touch ID or Windows Hello where the browser can (one prompt when you open Racks), or a passkey that asks on every trade. Your limits: a price check on order-book orders (taking or placing one more than 15% from fair value asks your wallet; or off), a daily limit and an end date. A pool trade has no price check: your max slippage is its only price limit. While pricing is paused, 1-tap trades on the order book (taking or placing an order) stop, as the price check needs fair value: trade with people’s orders through your wallet. Turn it off any time.
No trades better than fair value: every pool checks each trade against the contract’s fair value on-chain. Right after a trade, until the vault re-quotes (within a minute or so of a large trade, a few minutes after a small one), the price it left behind can sit on the wrong side of fair value; a trade into it is refused. If that happens, try again a minute or two later.

Large orders move the price along the pool: check the average price and price impact in the order panel before you trade.

For agents

A server at /mcp reads the same market feed this site shows: listed contracts, the index, the published history window, and quotes for one contract or, given a count, walked through the pool's depth with the base fee included and no better than fair value. Its calculators size a hedge and tabulate the payoff. The numbers come from the server, not from the model.

The address is https://app.racks.bid/mcp. The transport is Streamable HTTP, POST only, with no SSE stream. For example:

claude mcp add --transport http racks https://app.racks.bid/mcp

Buy, write and redeem return an unsigned call: the function, its arguments and the contract address. Encode each call with the contract's ABI and sign it with your own wallet, or make the same trade in the app. No tool sends a transaction. A buy is filled from the pool only, and does not take a resting order; a buy for more than the pool can fill is refused, with how many it can fill and their cost.

A write is one path, locking the collateral or selling in the same call, never both. The sale path sends no bid ids, so it sells to the pool only and fills no resting bid.

The same limits as the contracts still apply. There is no cover past 88 or past 112. The index can differ from your own price, and the hours you hedge can differ from the hours you use. That text is also the racks://terms resource.

Vault

The vault is the other side of every trade. Deposit USDG to back the markets: it earns their fees, and its value moves with them.

80%of every trading fee goes to the vault
7 daysbefore you can withdraw, from your latest deposit
15%of its value is the most it writes on any one contract
70%of $RACKS coin fees, added as permanent liquidity
Deposits and withdrawals

Deposit USDG into the liquidity vault to back the markets. The vault offers every contract and bids as Trading (above) says, earns 80% of the trading fees, the edge between its buy and sell prices and the entry and exit fees on deposits and withdrawals, and takes the other side of trades, so its value goes up and down with the markets. You receive vault shares and can withdraw your share 7 days after your latest deposit (each new deposit starts the 7 days again).

Withdrawals are paid from the vault’s cash; when that’s short, the withdrawal pulls the vault’s quotes and turns its unsold contracts back into cash as it pays. Only the money backing contracts traders hold has to wait, until they settle or are sold back. Contracts the vault bought from writers wait too, until it sells them or they settle.

A withdrawal also has to leave every contract traders hold within 15% of what stays in the vault, the same limit the vault writes under, so money that leaves can’t leave the rest holding more of one contract than that; the part it can’t take yet waits until those contracts settle or are sold back.

Around a period’s settlement the vault is valued with care, so nobody trades it around a result that’s already public. A pause stops withdrawals until it ends.

How the vault’s risk is limited

The vault’s risk has limits. It can’t write more of any one contract than 15% of its value covers: that’s fixed in the contract. Its market maker also keeps what the vault could owe within 10% of its value on any one contract, 15% on a market’s worse side (its Up or its Down contracts) and 25% on all the markets’ worse sides together, counting what it has sold and not bought back; it makes no offer past them.

The pools themselves limit what trades can take from the vault, whoever sets its quotes: what it pays out for one contract, net of what traders pay it, stays within 15% of its value, and within 25% for all contracts together; a sale past that is refused. A contract’s pool stops trading when its period ends, and also while its index level hasn’t been posted for 6 hours (the keeper posts it every hour).

Coin fees and the $RACKS buyback

The coin fee, the fee Racks earns on every trade of $RACKS, is split three ways. A fifth is taken in $RACKS itself, at the trade, on buys and on sells: half of it is burned and half goes to stakers. The rest goes to the fee router, and anyone can trigger its claim: of the whole fee, 70% is added to the vault as permanent liquidity and 10% funds operations. 20% of every trading fee buys $RACKS back as well, half burned and half to stakers, so the coin tracks the platform.

The operations share is capped at 10% of the fee in the contract (it can only be lowered). The $RACKS taken at each trade can go nowhere but to the burn address and to stakers, what buys $RACKS back from trading fees can go nowhere but into $RACKS (its market is named once by the Safe, publicly), and every claim, buyback and burn is recorded on-chain.

The keeper runs the buyback of the trading fees’ share apart from any claim. It never sells $RACKS, and it buys only while $RACKS trades within 20% of its median price over the last 6 hours, in buys small enough that each pays on average at most 1% over the price it starts from (so it moves the price about 2%), each at a minimum 1% under a fresh quote.

A trader who buys ahead of it to sell into it gains at most what one of those buys moves the price, about 2%, and pays the coin’s trading fee both ways; one who pushes the price past 20% only makes it wait. The contract holds the same limit on its own: a buyback never pays more than 20% over $RACKS’s median recorded price over the last 6 hours. The buyback spends at most a quarter of the trading-fee reserve in any 24 hours.

Conversions and the keeper’s gas

The fees arrive in the token $RACKS is paired with. The keeper converts the vault’s 70% to USDG in that token’s deepest Uniswap pool, again at a minimum from a fresh quote, and the USDG goes straight into the vault. Each of these swaps must also get at least the token’s 30-minute average price in its deepest Uniswap v3 USDG pool, less 2%: a floor the keeper can’t set and one transaction can’t move.

When the buyback holds USDG and the vault holds that token, the two are swapped between them at that average price with no trade at all. The keeper’s gas is paid from the same 70%: when its ETH falls below its target (0.5 ETH), the fee router refills it, at most 1 ETH in any 30 days, and the USDG spent on it counts toward a 30-day cap too.

The keeper refills only while the gas pool’s ETH price is within 2% of ETH’s market price, and only when the ETH it gets is worth what it sells, within 4%. The Safe sets the target and the caps, and the contract never lets them exceed 2 ETH and $10,000. Every refill is recorded on-chain.

Fees

Each trading fee

Vault 80%Buyback 20%

Each coin fee, at launch

Vault 70%Operations 10%Buyback 20%

The buyback is $RACKS, bought with trading fees and taken from the coin fee at each trade: half of it is burned, half goes to stakers. The coin fee’s operations share is at most 10% and can only be lowered, and the vault gets the rest of the fee router’s part: 70% or more, less the keeper’s gas, which is paid from it within its 30-day caps.

A taker pays the fee of their tier on every trade, whether it fills against the vault’s pool or another trader’s order. The tier falls with what they traded in the last 14 days, and staking $RACKS takes a discount off it. A tier belongs to the address that trades: through the Racks app, that is your own wallet. An outside contract that trades for many people counts as one trader, so they share its 14-day volume and its stake, and so its tier. Makers pay nothing.

The taker fee, by what you traded in 14 days

2%Under $25k
1.75%$25k
1.5%$100k
1.25%$500k
1%$2.5M

Off that fee, by the $RACKS you stake

−10%10k staked
−20%100k staked
−30%1M staked
−40%5M staked
Trading fee: the taker’s tier, 2% to start, on every trade: 80% to the vault and 20% to buy $RACKS back (half burned, half to stakers). Placing an order is free, and so is its fill when another trader takes it. When the pool fills your resting order, you pay your own fee, as a taker does (plus the pool-fill fee if the Safe sets one: 0% now, at most 1%, and the two together never go above 5%).
Volume: what a trader traded today and the 13 days before (UTC days) through Racks: the app’s router, the order book, the Writer and 1-tap trading (TradingKeys). A trade through any other router pays the base 2% and counts for no one.
Staking discount: comes off the volume tier’s fee, for the $RACKS staked and not unstaking at the moment of the trade. Unstaked coins come out 7 days later. With $150k traded and 100,000 $RACKS staked, the fee is 1.5% less 20%: 1.2%. The lowest is 1% less 40%: 0.6%.
Limits: the Safe can change the tiers at once, but no tier can go above 5% (nor can a pool fill’s fees together), no taker’s fee can go below 0.5%, a fee can never rise with volume, and no discount can be more than half the fee. It can also add or remove an order book that records volume, or a route that names a trade’s trader. Where the fees go is fixed: 80% to the vault the pools use and 20% to the buyback. The Safe can replace the vault, with 2 days’ public notice.
Gas: paid in ETH on Robinhood Chain by the wallet that sends, a wallet from a Google or X login too, typically a few cents per trade.

Staking $RACKS

Stake $RACKS to earn $RACKS: half of every buyback is paid to stakers. The buyback is 20% of the trading fees, spent on $RACKS, and a fifth of every coin fee, taken in $RACKS at the trade, so stakers’ rewards are fees, never new coins.

To get $RACKS, use Buy Racks on the Racks page, with ETH or USDG, or on mainnet with Other coin: one of the coins Relay holds on 43 other chains (124 in all, among them USDC, USDT, WETH and each chain’s own coin), which Relay takes as it is, with no swap; it takes no other coin. Your wallet signs an approval of exactly the amount each time (none for a chain’s own coin; Ethereum’s USDT can ask twice, first to set its old allowance to 0) and a deposit into Relay’s depository, and the app checks every byte of both before you sign. If you cancel the deposit or it fails, the approval stays until you set it to 0 in your wallet; the app says so. Relay then brings ETH to Robinhood Chain and buys with it for you. From Solana or Hyperliquid you can send one of the coins Relay takes there to a one-time address instead, and one tap buys with the ETH it brings. On Solana you can also connect a Solana wallet (Phantom, Solflare, Backpack and others), only to pay: it signs one direct deposit into Relay’s depository of SOL, USDC, USDT, PYUSD, USDG, CASH or OUSD, with no swap, and the app checks every byte of it and simulates it on Solana before you sign; Relay then brings ETH to Robinhood Chain and buys with it for your wallet there. One transaction swaps it into QQQ (the token $RACKS is paired with) and buys $RACKS in its pool. You get at least the amount shown, less your max slippage. Each $RACKS trade pays the 2% coin fee (after the pool’s first 30 seconds) and a 0.7% pool fee, and the swap into QQQ adds 0.05% (0.06% from ETH).

1×Unlocked
1.25×3 months
1.5×6 months
2×12 months
Locks: each stake is its own position, unlocked (1×) or locked for 3 months (1.25×), 6 months (1.5×) or 12 months (2×). A lock ends on the first Monday 00:00 UTC after its length. Rewards are shared by stake × weight.
Rewards: each buyback’s share is paid out over 7 days. The 1× part is claimable as it comes, locked or not; a lock’s extra part waits and is paid when the lock ends. Claim sends rewards to your wallet; restake opens a new position with them.
Leaving: unstaking stops a position earning at once, and its coins come out after 7 days. You can leave a lock early at any time: its waiting extra goes to the stakers who stay. Your staked coins and your claimable rewards are never cut.
Emergency exit: takes a position’s coins out without running the reward math, so a fault there can never hold coins. It gives up that position’s unclaimed rewards, which stay in the staking contract for good (it has no admin to move them), and the 7 days still apply.
No admin: the staking contract has no owner and can’t be upgraded. Nobody but a position’s owner can move its coins, rewards are paid only from rewards received, never from staked coins, and the fee router that pays it is fixed once.
Ending rewards: the Safe can end stakers’ half of the buyback, once and for good. From then on the buyback burns everything it buys or takes, every lock opens with nothing given up, rewards already received keep paying out, and new stakes are unlocked (no new locks, so no extra weight on the rest of the stream).
Points: staking $500 of $RACKS counts your points 1.25×, and $5,000 1.5×, priced in $RACKS when each season starts and counted at your lowest stake in each week.

$RACKS supply and locks

$RACKS has a fixed supply of 1 billion coins and no owner: nobody can make more. One transaction launches it, with no launchpad. It puts 80% of the supply into a single Uniswap v4 pool against QQQ and locks it there for good: the contract that holds that liquidity has no way to withdraw it and no owner. The pool opens at a market value of about $100,000 for the whole supply.

Each trade in the pool pays the 2% coin fee, split as above, and a 0.7% pool fee, which stays in the pool. It is added to the locked liquidity when someone calls compound on the contract that holds that liquidity; anyone can. The pool has an id, which the Buy Racks sheet shows: a pool of $RACKS with another id is not this one, and a trade there pays no coin fee, so it adds nothing to the vault, the burn or stakers.

For the first 30 seconds after the pool opens, the coin fee starts at 98% and falls in a straight line to 2%, so a bot that buys in the first blocks pays nearly all it brings.

The other 20% of $RACKS is locked in the same transaction, in three contracts with no admin:

Team 5%OTC 7.5%Community 7.5%

Team, 5% Nothing for 12 months, then released evenly over the next 12, to the team’s Safe. Anyone can trigger a release.
OTC, 7.5% Sold only in offers the Safe makes, at no less than 70% of the coin’s 7-day median price, paid in USDG through the contract. Each sale vests like the team’s, from the purchase: nothing for 12 months, then evenly over 12. After 48 months anyone can burn what’s unsold.
Community, 7.5% Paid by points. The list is set once, no earlier than a year after launch; claims open 7 days later, so it can be checked first, and 6 months after that anyone can burn what’s unclaimed.

Locked coins can’t be staked. The 7-day median comes from a price recorder. The keeper records a price in it every 15 minutes; when one is 10 minutes late, anyone can record it. It keeps two sets of the coin’s price in USDG. The 7-day set takes a price once an hour and keeps the last 168: an OTC sale is at no less than 70% of their median.

Each new price is held within 20% of that median, so a trade that moves the price for one block moves the median by a quarter at most over a whole week, while a real move reaches it over days. The buyback set takes a price every 15 minutes and keeps the last 24, six hours of them: a buyback pays at most 20% over their median.

Each of these is held within 20% of that set’s median, so after a real move the median follows by a fifth every 3¼ hours, and prices pushed for one block move it no faster. The launch records the first price, which stands for each whole set until real prices replace it. The pair token is priced in its deepest USDG pool.

If the 7-day set hasn’t been updated for 6 hours, its median isn’t available and OTC sales wait until it is; if the buyback set hasn’t been updated for an hour, buybacks wait.

Getting USDG and ETH

You need USDG to trade and a little ETH on Robinhood Chain for gas. The app’s Bridge button (Account) brings them from another chain through Relay, inside the app. Add funds (Portfolio) also lists the other bridges, set up for your wallet:

Relay Bridge from Base, Arbitrum, Ethereum, Optimism, Polygon, BNB Chain, Avalanche, HyperEVM, Solana or Hyperliquid, and receive USDG or ETH in seconds. Pay with USDC from any of them; USDT from Arbitrum, Ethereum, Optimism, Polygon, BNB Chain or Solana; or the chain’s own coin: ETH (Base, Arbitrum, Ethereum, Optimism), BNB, HYPE (HyperEVM) or SOL. USDC and USDT arrive as USDG. It is real money, and it always arrives on Robinhood Chain mainnet, on every Racks site.
Across USDC to USDG, or ETH, from Ethereum, Base, Arbitrum and more.
Arbitrum bridge The official bridge from Ethereum, about 10 minutes.

The app’s Receive button (Account) shows your wallet’s address. Under Network, another chain gives a deposit address from Relay, with nothing to connect or sign: from Base, Arbitrum, Ethereum, Optimism, Polygon, BNB Chain, Avalanche, Solana or Hyperliquid, in USDC; or in USDT from Arbitrum, Ethereum, Optimism, Polygon, BNB Chain or Solana. It arrives as USDG in your wallet on Robinhood Chain mainnet, on every Racks site. From an EVM chain or Solana, the address is for one order: send exactly the amount it names, once, from any wallet or exchange (from Solana, your own wallet). Less than the amount goes back to your address on the chain you sent from (on Solana, to the address it came from); more is sent on too. From Hyperliquid, the address stays open: send USDC from your perps balance; any amount is sent on at the price when it comes, and nothing goes back. A smart-contract wallet can’t use it: what goes back could go to an address that is not yours there (on the main site, it can from Solana, where what goes back goes to the address it came from). The app looks for one only on Robinhood Chain, where this site trades, so one with no code there yet is not seen: don’t use one. With a wallet from your Google or X login, what goes back on another chain is in its address there, which the app can’t move: export its key (below) to use it.

Only send USDG (0x5fc5…d168) or ETH on Robinhood Chain to your wallet. Tokens sent on another network can be lost.

A wallet from your Google or X login

No wallet yet? On the Connect sheet, continue with Google or X (the sheet shows the logins that are on). Privy makes a wallet for you at your first login and keeps its key, which your login opens. It is an ordinary address on Robinhood Chain: get USDG and ETH into it as above.

Risks

Contracts can expire worthless: the most you can lose is what you paid (for writers, the $12 locked per contract minus the premium received).
Prices are thin at times: large orders move the price, and spreads can widen.
Index levels can be late when a price source is late or stops publishing, and a result can be challenged before it is final.
Smart contracts can have bugs. The vault can lose value when markets move against it.
Bridge checks each step your wallet signs, but not what Relay then delivers: Relay fills the order, and a deposit address (Bridge’s or Receive’s) is Relay’s to honour. On Hyperliquid, an address can cost about $1 more than the first estimate; the address shows what you get before you send.
A wallet from a Google or X login opens with that login, through Privy: if you lose the login, you lose the wallet, unless you exported its key. While Privy’s service is down, the wallet cannot sign.
Racks is not available to US persons, in the United States, or in sanctioned countries and regions.

Who controls what

Nobody can move the collateral behind your contracts: each contract’s $12 stays in the option market until it’s redeemed, and a settled payout can’t be changed.

Everything else is run by three roles, with limits written into the contracts:

Admin, a Safe multisig

Can

  • Set the pricing model (each market’s volatility and drift, and how much a weekend hour counts for its weekly contracts).
  • Set the vault’s entry and exit fees and its lockup.
  • Set the fee tiers (no fee above 5% and no taker’s fee below 0.5%; where fees go is fixed: 80% to the vault, 20% to the buyback).
  • Set an extra fee on pool fills of resting orders (1% at most, off at launch, and never past 5% with the pool’s fee).
  • Choose the operations wallet.
  • Add or remove a route of the order book (1-tap trading’s helper at launch): it places orders in a person’s name and can cancel any resting order.
  • Pause and unpause.
  • Replace the liquidity vault.
  • Choose the pools the fee router swaps in and the pool its reference price comes from, the keeper that runs its buyback, and the keeper’s gas target and caps.
  • End stakers’ half of the buyback.

Limits

  • A period can’t be settled outside the levels posted for it (1.5 points either side).
  • Model within fixed bounds (a weekend hour counts between 0.1 and 2 weekday hours).
  • The vault’s entry and exit fees at most 1% each, its lockup at most 30 days.
  • Tier fees at most 5%, and a taker’s at least 0.5%.
  • An order-book route moves no one’s money anywhere else: the orders it places are the person’s, and every refund of a cancel goes to the order’s owner.
  • The vault can’t write more of any one contract than 15% of its value covers, and 20% of its trading fees go to the buyback: both fixed in the contract.
  • The operations share of coin fees can only go down from 10%; the buyback’s 20% is fixed.
  • Ending stakers’ half is one way: from then on the buyback burns everything it buys or takes, and every staking lock opens with nothing forfeited.
  • The keeper’s gas from coin fees is at most 2 ETH, and $10,000 spent on it, in any 30 days.
  • A vault replacement is announced on-chain and can take effect no sooner than 2 days later (it lapses if not completed within a week after that). It takes effect only once the old vault’s quotes are out of the pools, and the old vault can never trade there again, so a replacement can’t reach depositors’ money: it stays in the old vault, and they withdraw it there.

Keepers

Can

  • Put forward each period’s result, inside the levels posted. List contracts. Run the vault’s quotes.

Limits

  • A result must lie within the levels posted for the period, 1.5 points either side, and waits out a challenge window before it is final.
  • The pools refuse any trade better than fair value, and any sale that would take what the vault pays out for one contract, net, past 15% of its value (25% for all contracts together).
  • Every swap a keeper makes for the fee router has a floor it can’t set (2% under the pair token’s 30-minute average; 20% over $RACKS’s 6-hour median for a buyback).

Guardian, the fast emergency backup (a Safe that needs one signature of two)

Can

  • Pause pricing, which stops trading with the vault’s pools and vault deposits and withdrawals (orders between people in the book still match).

Limits

  • It can’t set a price or settle a period.
  • One signer is enough, so the brake works at any hour.
  • A pause ends by itself after 3 days, and only the admin can end it early.
  • The guardian can’t renew it: it may start a pause only a week after the last one began.
  • Settlement, redemptions and order cancels keep working while paused.

A fifth of every coin fee is taken in $RACKS at the trade, and the keeper claims it for the fee router, which burns half and sends half to stakers. The rest is in the token $RACKS is paired with, and anyone can claim it for the fee router: of the whole fee, 10% to the operations wallet and 70% into the vault.

Contract addresses

Loading…

ContractAddress

Source code is verified on the explorer.

Questions? Ask in the Discord. The team answers there, in public, and never by DM.