BASKET Protocol
A self-custodial account where your dollars never earn 0%, and a token that gets paid as money moves.
BASKET Protocol is the account layer for Robinhood Chain's real-world assets. Your resting balance earns real US T-bill yield through an ownerless vault of tokenized Treasuries: variable, read live from Chainlink, never promised. One click moves it into baskets of tokenized stocks, ETFs, and commodities you hold as a single token, like an ETF that lives in your wallet; every in-app fill is checked against the oracle before your wallet signs. Every basket pays fees when it is created, managed, or rebalanced, and the $BASK/ETH pool charges a fee on every trade. $BASK's only job is to collect that revenue: stake it, and the protocol pays you its fees in ETH. No emissions, no inflation, no unlocks: the yield is real cash flow or it is nothing.
Abstract
BASKET Protocol is the first self-custodial RWA account on Robinhood Chain (chain id 4663): verified, ownerless contracts where your resting balance is held in tokenized US Treasuries and earns real T-bill yield by default, captured structurally as vault NAV appreciation, priced by Chainlink, redeemable 24/7, at zero fee. One click moves the balance into diversified baskets of tokenized stocks, ETFs and commodities held as plain ERC-20 tokens, every in-app fill hard-checked against the Chainlink oracle before the wallet signs. Baskets price themselves from Chainlink feeds, rebalance through Uniswap v4 under contract-enforced limits, and route all fees to one distributor. $BASK launched as a 100% fair launch: all 100,000,000 tokens were placed into a permanently locked liquidity position at genesis: no team allocation, no vesting, no treasury reserve, no emissions. Token ownership is renounced, and every contract's source was verified before the first trade. Everything in this paper is verifiable onchain; the tokenomics page re-reads the chain every minute so the claims check themselves.
Background: stocks on Robinhood Chain
Robinhood Chain carries tokenized equities (“Stock Tokens”): ERC-20 tokens issued by Robinhood Assets (Jersey) Ltd. that track real stocks and ETFs, priced by dedicated Chainlink feeds updating 24/5 with market hours. They trade on Uniswap v4 and provide economic exposure only (no shareholder rights, with jurisdictional restrictions). What the chain lacked was somewhere for money to live: every position was a single name, and idle dollars earned nothing between trades. BASKET adds the account layer: a resting balance in tokenized US Treasuries earning real yield by default, one click into diversified baskets, one click back, every in-app fill priced against the Chainlink oracle before your wallet signs.
The protocol
The account's resting state is a treasury-dominant vault: 99% SGOV (tokenized 0–3 month US Treasuries) with a structural 1% S&P sleeve (the immutable vault requires two constituents). SGOV accrues yield as price appreciation, so navPerShare rises with real T-bill yield; the APY shown is the trailing rate implied by the live feed, variable by construction. Deposits are value-based and accept zero legs, so entering delivers SGOV only (one approval, one transaction) and redemption returns actual holdings pro-rata, 24/7, at zero management fee. Missing a token? In-app buys route through 1inch and are refused beyond 3% oracle deviation.
Every basket is its own vault holding real Stock Tokens at target weights. Deposits mint the basket's ERC-20 share at live NAV; redemptions return every constituent pro-rata, in kind. NAV = Σ raw balance × Chainlink price, computed exactly once: feed prices already carry the ERC-8056 corporate-action multiplier, so the vault never applies it twice.
AI-mode baskets authorize offchain agents that may execute only when live drift exceeds the basket's threshold; the contract enforces this, so agents cannot churn fees inside the band. Governance-mode baskets rebalance through timelocked proposals. Both paths execute on Uniswap v4 with per-leg minimum-out bounds, a frequency cap, and a global 30%-of-NAV circuit breaker.
| Fee | Rate | Hard cap |
|---|---|---|
| Basket creation | 0.002 ETH | governance-set |
| Management | 1% APY, accrues as share dilution | 3% hard cap (factory constant) |
| Rebalance | 0.2% of traded value | 0.5% hard cap (factory constant) |
The $BASK token
Every swap pays a 3% pool fee. Its ETH side splits at the locker, 70% to the launch operator, 30% to the protocol, as immutable constants in verified bytecode; its $BASK side is burned to a dead address, so every sell permanently shrinks supply and no $BASK ever accrues to a team wallet. Protocol revenue (that 30%, plus every basket fee) then splits:
| 60% | $BASK stakers | streamed in ETH |
| 30% | Treasury | protocol development and operations |
| 10% | Creators & launchpad | rewards for high-performing basket creators |
Staking has no lockup and no cooldown; rewards accrue in ETH and are claimable any time. Staked balances carry the boost tiers (Weaver at 1,000+, Curator at 10,000+, Architect at 100,000+) and the top tier costs 0.1% of supply, so no boost requires a large holder. Governance voting power is live staked $BASK: 10,000 staked to propose (0.01% of supply), 24-hour votes, 10% quorum, 12-hour timelock. The governor owns every protocol contract from genesis. Disclosed limitation: at genesis the operator is the dominant staker, and the governor reads live stakes without checkpoints; governance decentralizes as distribution does.
Team wallet policy, standing: no team wallet may ever hold more than 2% of supply.The single team position is the operator's disclosed ~1% open-market buy at launch, staked in full, measured against the cap live on the tokenomics page, by anyone, forever.
Architecture
| Contract | Address | Role |
|---|---|---|
| BASK (token) | 0x9e00366E55E10E71e4576aBAFeFe3C847Cfb6754 ↗ | fixed 100M supply, no privileged functions |
| LPLocker | 0x8D46dF83C13C0Afd94eeda5183eb3E277F2481a6 ↗ | permanent liquidity; ETH fees split 70/30, $BASK fees burned |
| BASKStaking | 0x2C8a3aeAe1b52566254Eb174665f0c1dBf491bA1 ↗ | stake $BASK, receive the ETH fee stream |
| FeeDistributor | 0xe0d89AB301E564A1B7cAFa4ACa906c0cdB5F95FE ↗ | 60/30/10 revenue split |
| BASKGovernor | 0x715827890C30BCBdce986B9CF1D81A2e9a1Cb513 ↗ | 24h vote · 10% quorum · 12h timelock |
| BasketFactory | 0xEedC0E6812D49D1165E501eB8B5Ad53380Df3d75 ↗ | permissionless basket creation, asset registry |
| Rebalancer | 0x8c9C42AEf14E7afd38728386D843B76b0eEF3004 ↗ | drift-gated Uniswap v4 execution |
Deployed by the disclosed operator 0x8E9f178b90926bf0Eacf3b9754336596Dd9fAf82 · venue: official Uniswap v4 PoolManager 0x8366…0951(registry-verified; the chain has copycat routers) · genesis vaults incl. the account's Yield Balance listed on /docs. In-app buying quotes through a server-side proxy (1inch, the chain's launch-partner aggregator; router read live per quote) with a hard 3% oracle-deviation guard: the proxy quotes, your wallet signs, and deposits/redemptions never depend on it.
Trust model: what cannot happen, and what remains
- Minting
- no mint function exists; 100M fixed in the constructor
- Transfer taxes
- none; transfers move exactly the amount sent
- Pause / blacklist
- no such function exists in the token
- Upgrades
- no proxies anywhere; the code can never change
- Liquidity withdrawal
- the locker has no withdrawal function: locked like a burn, with a fee claim
- Fee-split changes
- the ETH 70/30 split and the $BASK burn are immutable constants in verified bytecode
- Team dumps
- there is nothing allocated to dump
- Operator economics
- an immutable 70% share of the ETH side of pool trading fees (the $BASK side is burned) plus the ETH treasury/creator sinks: cash flow, not tokens, so it never appears on the holders list. Disclosed permanently.
- Genesis governance concentration
- the operator is expected to be the dominant staker until distribution broadens; the governor reads live stakes without checkpoints and can be replaced by community consensus.
- Issuer powers over Stock Tokens
- Robinhood can pause, blocklist, and adminBurn the underlying tokenized equities: issuer controls any holder inherits, baskets included.
- Oracle behavior
- Chainlink equity feeds update 24/5 and pause outside market hours; vault pricing reverts on stale feeds rather than guessing.
- Variable yield
- the account APY is the trailing rate implied by the live Treasury feed: real, on-chain, and never promised or fixed.
- Thin market routes & the oracle guard
- in-app buys refuse any fill more than 3% above the Chainlink price; tokens whose only pools are dust cannot be bought through us; a refusal is protection, not an outage.
- Aggregator dependency
- in-app buying quotes through a third-party aggregator via a server-side proxy (keys never reach the browser). Every transaction is still signed only by your wallet; deposits and redemptions never depend on the venue.
- No external audit
- contracts are verified onchain and covered by a test suite, but have not had an external audit. Size positions accordingly.
Launch parameters
| Supply | 100,000,000 · fixed |
| To liquidity at genesis | 100% |
| Genesis depth | 0.3 ETH · full range |
| Pool fee tier | 3% |
| Team allocation | 0, with a 2% cap on any team wallet, forever |
| Ownership | renounced at launch |
| Source verification | before the first trade |
Verify everything
Nothing in this paper asks for trust. Every claim is a contract address and a function you can call: live tokenomics & control panel · docs & complete risk disclosures · explorer ↗ · @basket_protocol ↗