Round Lot lets anyone combine tokenized stocks into a single token — SPCX plus TSLA as ELON — mint it, and trade it anywhere. Every basket keeps redeeming even when the issuer freezes a component.
How it works
The factory is permissionless. Pick any two or more tokenized stocks, name the result, set your fee, and deploy. You earn 70% of every mint fee on that basket, forever.
// anyone can run this — no permission, no listing process
factory.create(
"Elon", "ELON",
[SPCX, TSLA], // any 2+ tokenized stocks
30 // 0.30% mint fee, your choice, 1% ceiling
);
// ELON is now a plain ERC-20.
// Mint it with SPCX + TSLA. Redeem it back any time.
// Trade it on Uniswap, or quote a memecoin against it.
Redemption is always free and always in-kind — you get the underlying stocks back, never a price feed's opinion of them. Creating a basket bonds LOT, refundable at any time.
The problem
Since mid-July 2026, launchpads have let creators denominate tokens in tokenized NVDA or TSLA. It worked — that one mechanic pushed Robinhood Chain past every Solana venue in tokenized-stock volume. A single stock token is still a bad unit of account.
Trade against one thin token and you move the token itself. The unit of account drifts for reasons unrelated to the company.
Stock tokens are ~4% of chain TVL. A GME-paired token cleared $15M against ~$30M on tokenized GME.
A market quoted in NVDA reprices on NVDA earnings. The creator inherits gap risk they never chose.
Tokenized AAPL: $1.78M cap. TSLA: $1.58M.
A stock token's peg leans on onboarded market makers and an open equity market. For 135 hours a week it has neither.
Markets open 32.5 of 168 hours. Chain trading never stops.
Freeze resilience
Robinhood can pause any stock token, blocklist addresses, and claw back balances. So can every rival issuer — Backed can force-transfer from any address, Ondo has frozen tokens in production. This is a property of the asset class, not a defect.
So we tested it. On a mainnet fork, using the real privileged accounts against the real contracts:
| Scenario | Executed by | Result |
|---|---|---|
| Component paused mid-flight | real TOKEN_PAUSER_ROLE | Healthy components still paid; frozen leg became a claim; settled on unpause |
| Balance clawed back 10% | real ADMIN_BURNER_ROLE | Loss shared evenly; nobody wiped out |
| Vault blocklisted | real BLOCKER_ROLE | Redemption refuses cleanly rather than burning shares; recovers on unblock |
Why this matters
If NVDA is paused, every NVDA-quoted pool stops dead — the quote asset cannot move, so the market cannot function. A basket token has no pause of its own, so its pools keep trading while roughly one component's worth of backing is temporarily impaired. Round Lot converts a binary freeze into a fractional, temporary one.
Testing
| Contract | Lines | Branches | Notes |
|---|---|---|---|
| Basket.sol | 96.5% | 83.8% | Mint, redeem, claim, fee, every error branch |
| Treasury.sol | 100% | 95.5% | 2-of-2, signer rotation, replay guards |
| BasketFactory.sol | 100% | 77.8% | Bonding, duplicates, fee cap |
| LOT.sol | 100% | 100% | Fixed supply, no mint fn, no admin |
| Vesting.sol | 100% | 83.3% | Written, not deployed |
| MerkleDistributor.sol | 100% | 75.0% | Written, not deployed |
| FeeSplitter.sol | 100% | 66.7% | Deployed |
| Mechanism | Result |
|---|---|
| Deploy, seed, mint, redeem | Working |
| Round-trip conservation | 1 wei retained per component — the theoretical minimum |
| Mint does not dilute holders | NAV per share unchanged to 8 decimals |
| Treasury 2-of-2 | One signature refused, two accepted, executed |
| Permissionless basket creation | ELON created, bond escrowed |
| Real issuer pause on a component | Healthy legs still paid; frozen leg became a claim |
Fuzzing found two real bugs
A stateful invariant suite caught a flaw no amount of reading would have: a claim recorded while a component was frozen, followed by an issuer seizure, paid the first claimant in full and the last nothing — a bank run relocated into the claim ledger. Every claimant now takes the same proportional haircut regardless of order. A second review found that anyone could have seeded a freshly deployed basket before its creator, permanently fixing a worthless composition. Both are fixed, both have regression tests, and both fixes were verified present in the deployed bytecode.
Token
No mint function after construction. No owner, no pause, no upgrade path. The entire supply sits in a 2-of-2 treasury today: nothing leaves without both signers approving, and that has been exercised on mainnet.
Nothing below is in force yet
The plan that follows is a published intention, not an on-chain fact. No vesting schedule, no emissions programme and no airdrop exists today. Vesting and merkle-distributor contracts are written and tested but neither is deployed or funded. Every figure below is subject to change until the moment it is executed on-chain, at which point it becomes verifiable and permanent.
2026 benchmarks assume 15–30% of supply goes to investors. Round Lot has no investors and has raised nothing, so that entire bucket is redirected to the people who actually use the protocol. Community-facing allocations total 57%.
| Bucket | Share | LOT | Unlock | Purpose |
|---|---|---|---|---|
| Ecosystem & creators | 30% | 300,000,000 | 4 years, front-loaded 40/30/20/10 | Paid against quote-asset volume, not TVL |
| Treasury | 20% | 200,000,000 | 2-of-2, spending announced | Audit first, then ops and integrations |
| Airdrop | 15% | 150,000,000 | Retroactive, 3-month claim window | Real users of real baskets |
| Team | 15% | 150,000,000 | 4-year vest, 1-year cliff, on-chain | Below the 17.5% industry median |
| Liquidity | 12% | 120,000,000 | At listing, LP locked | LOT/USDG depth — LOT has no market today |
| Strategic reserve | 8% | 80,000,000 | Locked 12 months, 30-day notice | Unallocated. Any use announced in advance. |
Almost every protocol emits tokens against total value locked. It is the wrong target twice over: TVL is trivially manufactured with your own capital, and the capital it attracts leaves the day emissions stop. Round Lot pays against swap volume routed through a basket while it serves as a quote asset.
| Target | Gameable by | Survives emissions ending? |
|---|---|---|
| TVL | Depositing your own money | No — mercenary capital exits |
| Basket supply | Minting to yourself | No |
| Quote-asset volume | Only by paying real swap fees to real LPs | Yes — the pools already exist |
Wash-trading to farm this costs the LP fee on every round trip, which flows to the very liquidity the protocol needs. The attack subsidises the thing it attacks.
Anti-sybil filtering is the defining feature of 2026 airdrop design, and the industry standard is now a dual filter: exclude an address for being a sybil or for being a genuine low-effort farmer. Six months of ordinary use should outweigh six days of intensive farming.
| Cohort | Weight | Why it resists farming |
|---|---|---|
| Traded a basket-quoted pair | 40% | Every fake trade pays a real LP fee |
| Created a basket others used | 25% | Scored only on mints by unrelated addresses |
| Provided basket liquidity | 20% | Time-weighted, so snapshot-timing is worthless |
| Held through a component pause | 10% | Cannot be scheduled — the issuer decides when |
| Early testnet participants | 5% | Hard-capped |
Two sinks, both scaling with real usage rather than narrative. Bonding: creating a basket locks 25,000 LOT, refundable, so demand tracks the number of baskets people actually maintain — this is live today. Fees: each basket charges a creator-set mint fee capped at 1%, split 70% creator and 30% protocol, with the protocol share flowing to the treasury and, once a market exists, to buy-and-burn. Redemption is never taxed; exit is a safety property.
Deliberately not shipped
No staking, no veLOT, no gauge voting. They are the obvious next additions and also where small teams disappear for six months. Bonding and fees first; governance only once there are enough baskets that directing emissions is a real problem.
Contracts
| Contract | Address | Role |
|---|---|---|
| LOT | 0x87Be1cF57FEcA39cb72d3cF2B33f58CD3ad2C820 | Protocol token, fixed supply |
| Treasury | 0xe7701246AF22eBA3e99098cb2b9F61Dd194415a8 | 2-of-2 custody of the supply |
| BasketFactory | 0x51060bB026fCCDE42FA6FC2379c6f4C6f0D57d52 | Permissionless basket creation |
| FeeSplitter | 0xB9D6Ed51625483f87e5Cff0eD279209b473DB404 | Creator 70% / protocol 30% |
| Round Lot Core (RLC) | 0xFC35971c9C569feEd5562d5FfC2Ff34042efB3d9 | Flagship — deployed, not yet seeded |
| Elon (ELON) | 0xdcade09EC8E665150775b240b606F43316737108 | First user basket: SPCX + TSLA |
The flagship is intentionally unseeded. Seeding fixes a basket's composition permanently, so it will be set with real capital at deliberate weights rather than in a test.
Verify addresses yourself
These are the only genuine contracts. Anything else claiming to be Round Lot is not. All five core contracts are source-verified on Blockscout — read the code before trusting it.
Disclosures
Not affiliated with Robinhood. Round Lot is an independent project, not issued, endorsed, operated or reviewed by Robinhood Markets, Robinhood Assets (Jersey) Limited or any Robinhood entity. Stock Tokens are referenced solely as third-party assets.
Not an offer. Nothing here is an offer to sell, a solicitation to buy, investment advice or a recommendation. No performance is promised or implied.
Availability. Robinhood Stock Tokens are not available to US persons. This page is not directed at residents of the United States or the European Union, and access may be restricted by jurisdiction.
Risk. Baskets track tokenized securities whose issuer can pause, blocklist and claw back. Value can fall to zero. The contracts are immutable and cannot be fixed after deployment.
Unaudited. No third-party security audit has been performed. Two supply-critical bugs were found and fixed during development; others may remain. Do not commit funds you cannot afford to lose entirely.
No market. LOT has no liquidity pool and no price. It is not listed anywhere and cannot currently be bought or sold.