How Stax works.
Everything about the protocol — the mechanics, the fees, the rewards, the STAX token, and the security posture. Written to be read, not skimmed.
Overview
Stax lets you hold a diversified basket of tokenized stocks with one transaction, instead of buying and managing each position separately.
Deposit USDG (Global Dollar, the stablecoin that anchors Robinhood Chain's liquidity), and the vault automatically buys the underlying stock tokens in a basket's preset weights, then mints you a single token representing your share. Hold it, trade it, or send it to anyone — it's a standard ERC-20. Burn it anytime to redeem your share of the basket's value back in USDG.
Live now: Commodities, Retail Favorites V1, Mag 7, Mag 7 (Cap-Weighted), Retail Favorites, Index Blend, Semiconductors, Healthcare, AI Infrastructure. Each live basket is 1:1 backed by the underlying stock tokens the vault actually holds — you can verify this directly on-chain (see Security). More baskets are added as their tickers pass verification (see Baskets), and anyone can build their own from Stax's vetted ticker list at /create.
How minting works
When you mint a basket token, here's exactly what happens:
- 1Step 1You choose a basket and deposit
Pick a basket, approve USDG, and enter a deposit amount. The vault pulls the USDG and measures exactly what arrived — it never trusts the nominal amount.
- 2Step 2The vault checks the deposit cap
If your deposit would push the basket past its cap, the transaction reverts before anything happens.
- 3Step 3The vault reads a Chainlink price for each stock
Every stock token on Robinhood Chain has a live Chainlink price feed. The vault reads each one and rejects any price that is stale — feeds that haven't updated within their expected window can't be used to price your deposit.
- 4Step 4The vault sets a slippage floor from those prices
Before swapping, it computes what your USDG should buy at oracle-fair value, and sets a minimum acceptable output on every swap. If the market can't deliver within a small tolerance of fair value — thin liquidity, a bad pool price, a manipulation attempt — the whole transaction reverts rather than filling at a bad price.
- 5Step 5The vault buys the underlying stock tokens
It buys each constituent in the basket's fixed weights through on-chain liquidity pools, and records exactly which tokens belong to this basket in its internal ledger.
- 6Step 6You receive your basket token
The vault mints a basket token to your wallet representing your proportional share of that basket's holdings, minus a 0.25% fee.
If a deposit is too large for available liquidity
Tokenized stock markets are still young, and some tickers trade with thinner liquidity than others. If your deposit is large relative to the available liquidity for one of the basket's stocks, the mint will revert rather than complete at poor pricing. Sticking to reasonably sized transactions avoids this — very large single deposits are more likely to hit this limit.
How redemption works
Any wallet holding a basket token can redeem it — redemption isn't tied to the wallet that originally minted it. It's a standard, fully transferable token, so whoever holds it can burn it.
Redemption cannot be paused, gated, or blocked by anyone, including Stax. There is no admin function anywhere in the contract that can stop a redemption from going through — see Security for the full picture.
- 1Step 1You choose how much to redeem
Enter the amount of the basket token you want to burn.
- 2Step 2The vault calculates your share
It works out your proportional share of that basket's underlying holdings from its internal ledger — each basket's holdings are tracked separately, so redemptions from one basket can never touch another basket's backing.
- 3Step 3The vault runs the same price checks
Chainlink prices with staleness checks and oracle-derived slippage floors apply here too. Redemption involves selling on the open market, which carries its own price-manipulation risk — the same guardrails prevent the vault from selling into a bad print.
- 4Step 4The vault sells the underlying
It sells your share of the underlying stock tokens for USDG.
- 5Step 5You receive USDG
Proceeds land in your wallet, minus the 0.25% fee. Your basket token is burned.
Note: redemption always pays out in USDG — you do not receive the raw stock tokens directly. Your token's value floats with the basket's real performance the whole time you hold it, so you receive more than you deposited if the basket has appreciated, or less if it's depreciated — the same principle as any index fund.
Baskets
Each basket is a fixed-weight collection of tokenized stocks, minted and redeemed through the same vault contract.
| Basket | Ticker | Composition | Profile |
|---|---|---|---|
| Commodities | sCOMM | USO 50% / SLV 50% | Real-world assets, on-chain. |
| Retail Favorites V1 | sRETAIL | GME 33.34% / PLTR 33.33% / CRCL 33.33% | The names retail actually trades. (Deprecated -- see Retail Favorites.) |
| Mag 7 | sMAG7 | AAPL 14.3% / MSFT 14.3% / GOOGL 14.3% / AMZN 14.3% / NVDA 14.3% / META 14.3% / TSLA 14.2% | The seven names that move the market. |
| Mag 7 (Cap-Weighted) | sMAG7CAP | NVDA 22.96% / AAPL 19.65% / GOOGL 18.2% / MSFT 15.63% / AMZN 12.43% / META 6.19% / TSLA 4.94% | Same seven, weighted by real market cap. |
| Retail Favorites | sRETAIL | GME 20% / PLTR 20% / CRCL 20% / AMC 20% / NFLX 20% | The names retail actually trades. |
| Index Blend | sINDEX | SPY 60% / QQQ 40% | Broad market, tilted toward tech. |
| Semiconductors | sSEMI | MU 60% / AMD 30% / ASML 10% | The chips behind everything. |
| Healthcare | sHEALTH | LLY 70% / PFE 30% | Big pharma, two names. |
| AI Infrastructure | sAIINFRA | NVDA 60% / ORCL 15% / NBIS 12.5% / CRWV 12.5% | The hardware and clouds behind AI. |
Weights are fixed at launch. A basket's composition doesn't rebalance or drift toward new tickers automatically — what you see today is what the basket holds until a future upgrade changes it, which would be a deliberate, disclosed action, not something that happens silently.
Why launch with a small lineup: every ticker in a live basket must pass a full round-trip verification — a real mint and a real redeem against live on-chain liquidity, at fair value, in both directions. Several planned baskets are held back because one or more of their tickers failed that bar. A basket only goes live when every leg passes. More baskets are added as new tickers verify — no redeploy needed, and each addition is announced.
Build your own: anyone can create a basket from Stax's already-vetted ticker list — choose your tickers, set your own weights, mint it for a small creation fee. Every ticker available for a custom basket has already passed the same real liquidity and price-feed verification as the official baskets. You can build one at /create.
Fees
Stax charges a flat 0.25% fee on every mint and every redeem. There's no management fee and no performance fee.
Where the fee goes
The team takes zero of the fee. Every fee is split three ways, enforced by the contract — these are the exact, immutable constants from the verified source, not a description of intent:
uint256 public constant FEE_BPS = 25; // 0.25% uint256 public constant FEE_BURN_SHARE_BPS = 5000; // 50% uint256 public constant FEE_REWARDS_SHARE_BPS = 3000; // 30% uint256 public constant FEE_TREASURY_SHARE_BPS = 2000; // 20%
- 50% — buy-and-burn. Used to buy STAX on the open market and permanently burn it. Every basket you mint or redeem contributes directly to STAX's supply reduction — real, protocol-driven scarcity funded entirely by real usage, not by team allocation or emissions.
- 30% — rewards pool. Funds real payouts to users — see Rewards & Staking for exactly how this gets distributed.
- 20% — treasury. Funds protocol operations like liquidity bootstrapping.
The team's upside comes from holding STAX, not from skimming fees — which means the team only wins if the token and the protocol do. There is no team-share constant in the contract because there is no team share.
Market execution costs
Separate from the protocol fee, the vault's swaps pay real market costs — liquidity pool fees and slippage on each underlying stock token. These vary by basket and market conditions, and they're disclosed on the mint page before you transact rather than hidden inside the quote. Tickers whose pools are too expensive to trade at fair value are excluded from baskets entirely rather than passed through to you.
The round-trip cost figure shown on the mint page is the two 0.25% protocol fees (mint + redeem) plus these real execution costs, combined — it will always be higher than 0.5% alone, and the gap between them is genuine market cost, not a hidden markup.
Rewards & Staking
Stax shares part of every fee with the people who use it. The 30% rewards share of every mint and redeem fee (see Fees) flows from the vault to the StaxRewardsDistributor contract, and is distributed to users in weekly rounds. The short version: usage earns rewards, staking amplifies them.
How rewards are distributed
- 1Step 1Fees fund the pool
30% of every 0.25% mint and redeem fee is sent from the vault to the StaxRewardsDistributor, where it is held as USDG.
- 2Step 2Rewards are calculated each weekly epoch
Each epoch runs for 7 days. At the end of an epoch, every eligible wallet's share of that epoch's rewards is calculated.
- 3Step 3A Merkle root is published on-chain
The results for the epoch are published to the distributor as a Merkle root, so each wallet's allocation can be verified against what was committed on-chain.
- 4Step 4You claim on /rewards
Claim your rewards from the rewards page. Unclaimed rewards expire 90 days after they are published, so claim within that window.
What determines your share
Your TVL. Your share of each epoch's rewards is driven by the value you hold in Stax baskets. It is duration-weighted: value held for longer across the epoch counts for more than value deposited just before the epoch ends, so short-term deposits timed around a distribution don't capture a full share.
Your boost. Staking STAX applies a boost multiplier to your share, up to a maximum of 2x. The boost ramps on a curve: more STAX staked gives more boost, with diminishing increases as your stake grows. The boost only multiplies a share you have already earned through TVL — staking on its own, with no basket holdings, does not earn rewards.
Staking is optional
- Not required to earn. Every wallet with eligible basket holdings earns at a 1x multiplier by default, whether or not it holds or stakes any STAX.
- No lockup. You can unstake your STAX at any time. Unstaking is unconditional — there is no lock period and no admin function that can block it.
- Where to stake. Stake and unstake STAX at /stake.
Choosing how to claim
Rewards are held as USDG until you claim. When you claim on /rewards, you choose what to receive:
- USDG — sent directly to your wallet.
- A stock basket — your claimed USDG is used to mint a basket of your choice.
- A gacha pull — your claimed USDG is spent on a pull in the gacha.
Claiming directly into STAX is coming soon. Every claim option is your choice, made in your own transaction — the protocol never converts your rewards into anything automatically.
What rewards are not
Rewards are not fixed and are not guaranteed. The size of each epoch's pool depends entirely on how much fee activity the protocol generated that week — if usage is low, rewards are low. Nothing here is a promised rate, and past rewards don't indicate future ones.
STAX token
STAX is Stax's platform token. It is not an index token and has no claim on any basket's holdings. You never need STAX to mint or redeem baskets — the baskets are standalone, 1:1 backed instruments that work fully without it.
Buy-and-burn
Half of every protocol fee is used to buy STAX on the open market and burn it. The mechanism is fixed in the vault contract:
- 1Step 1You use Stax
Every mint and redeem, across every basket, pays the flat 0.25% fee.
- 2Step 2Half of every fee buys STAX
50% of every fee is used to buy STAX on the open market.
- 3Step 3That STAX is permanently burned
Bought STAX is destroyed, reducing supply. The amount burned depends on how much the protocol is used — there is no fixed schedule.
Staking boost on rewards
Staking STAX at /stake applies a boost multiplier of up to 2x to your share of the weekly rewards pool. The boost increases with the amount staked, with diminishing increases at larger stakes. It multiplies rewards you earn from holding baskets; it does not earn rewards on its own. Staking is optional — wallets that don't stake still earn at 1x — and you can unstake at any time with no lockup. See Rewards & Staking for the full mechanism.
The through-line
Usage earns rewards, staking amplifies them. Both the burn and the rewards pool are funded by real protocol fees, not by printing new STAX. That also means neither is fixed: how much is burned and how much is distributed each week depend on how much Stax is actually used.
Security
Stax's vault contract is built around a few core protections against the most realistic attack vectors for this kind of design — economic/oracle manipulation and reentrancy, not just access control.
Built into the contract
- Chainlink oracle pricing with strict staleness checks on both mint and redeem — every price used to value a deposit or redemption comes from a live Chainlink feed, and prices past their expected update window are rejected outright
- Oracle-derived slippage floors — every swap must deliver within a small tolerance of oracle-fair value, or the whole transaction reverts. This is the main defense against manipulated pools, thin liquidity, and sandwich attacks: the vault refuses to trade at a bad price rather than passing the loss to you
- Per-basket internal ledger — every basket's holdings are tracked separately inside the vault, so baskets sharing a ticker can never double-count or drain each other's backing
- Reentrancy guards on every function that moves funds, with checks-effects-interactions ordering throughout
- A deposit cap per basket — bounds the maximum possible loss regardless of what an attacker finds
- No admin function capable of draining user funds or blocking redemption, and no upgradability — the deployed contract can't be silently changed. This means redemption is unconditional: nobody, including Stax, can pause it, gate it, or stop you from getting your funds out.
Verify it yourself
Every claim above is checkable on-chain in under a minute. Here's how to confirm one of the most important ones — the deposit cap that bounds worst-case exposure — directly from the verified source, not from this page:
- Open the StaxVault contract on Blockscout and click the "Read Contract" tab
- Find the function called
baskets - Enter a basket ID (e.g.
3for Mag 7) and click "Query" - The third value returned is
depositCapUsd— that's the real, live number bounding this basket's maximum size, straight from the contract, not from anything Stax tells you
Review process — what has actually been done
- Multi-model AI code review across multiple adversarial rounds
- Static analysis via Slither
- Invariant fuzz testing — 512,000-call campaigns verifying the vault's core solvency invariant held with zero violations
- Fork testing against real mainnet state — every live basket's full mint and redeem executed against the actual on-chain liquidity before going live, not just against test mocks
- Contract verified on the block explorer (Blockscout and Sourcify) — you can read the exact deployed source yourself
Current status: Stax has not undergone a professional audit or independent human security review. That is the single most important open item in the security posture, and it's disclosed here plainly rather than implied otherwise anywhere on this site. Deposit caps are kept conservative until it happens.
FAQ
Can I redeem for the actual stocks instead of USDG?+
No. Redemption always sells your share of the underlying and pays out in USDG. This is a deliberate design choice — see How Redemption Works.
Do I need STAX to use the baskets?+
No. STAX and the basket tokens are completely separate. You can mint, hold, and redeem baskets without ever holding STAX. Staking STAX can boost your share of rewards (up to 2x), but the baskets work fully without it.
Who can redeem a basket token?+
Whoever holds it. It's a standard transferable ERC-20 — redemption isn't restricted to the original minter.
What chain is Stax on?+
Robinhood Chain, an Arbitrum-based L2.
Can basket weights change?+
Not automatically. Weights are fixed per basket at launch. Any future change would be a deliberate, disclosed protocol action, not silent drift.
Why isn't every stock on Robinhood Chain available on Stax?+
Every ticker has to pass real verification before it's listed: genuine liquidity deep enough to both buy and sell cleanly, and a live Chainlink price feed. A ticker that looks fine to buy can still fail on the sell side if the pool's liquidity is imbalanced — a few candidates failed exactly that test and aren't listed as a result.
Do I need to stake STAX to earn rewards?+
No. Your share of rewards is driven by the value you hold in Stax baskets, duration-weighted across each weekly epoch. Every eligible wallet earns at 1x without staking. Staking STAX applies a boost multiplier of up to 2x on that share, and you can unstake at any time with no lockup.
How and when do I claim rewards?+
Rewards are calculated in weekly (7-day) epochs and published on-chain as a Merkle root. Claim them on the /rewards page, where you choose to receive USDG, a stock basket, or a gacha pull. Claiming into STAX is coming soon. Unclaimed rewards expire after 90 days.
How much will I receive in rewards?+
It isn't fixed or guaranteed. Rewards come from 30% of protocol fees, so each week's pool depends on how much the protocol was used. Your share depends on your duration-weighted basket holdings and any staking boost.
Contract addresses / Technical reference
All contracts are deployed on Robinhood Chain (chain ID 4663). Every address below links to the contract on the block explorer.
Legacy / deprecated
The original StaxVault is listed for reference only. Use StaxVaultV2 for all current activity.
Always verify contract addresses from this page or the official Stax repository before interacting. Do not trust addresses shared in DMs, tweets, or unofficial channels.
