How Curbstone works
Overview
Curbstone is a basket protocol on Robinhood Chain. It wraps Robinhood Stock Tokens, the tokenized US stocks and ETFs issued on that chain, into single ERC-20 tokens that are fully backed and redeemable at any hour.
Three parts: the vaults that hold the assets, the hook that prices swaps in Curbstone pools on Uniswap v4, and $CURB, which you lock to cut your fees and claim a share of protocol revenue.
Vaults
A vault is deployed with a list of components and a fixed amount of each per share. The MEGA vault defines one share as 0.16 AAPL + 0.16 MSFT + 0.16 NVDA + 0.14 AMZN + 0.14 GOOGL + 0.12 META + 0.12 TSLA. That never changes.
- Mint: read
quoteMint(shares)for the exact amounts, approve them, callmint(shares, to). The vault pulls the components and issues shares. - Redeem: call
redeem(shares, to). Shares burn and the components arrive in the same transaction. - No rebalancing: weights drift with prices. To change your mix, redeem and mint another vault.
- Corporate actions: Stock Tokens apply dividends and splits through an on-chain multiplier, so raw balances never change and the vault passes them through.
Pricing
Every component of every Curbstone vault has a Chainlink price feed on Robinhood Chain. The factory refuses to list an asset without one, so the contract can always answer what a share is worth.
CurbstoneOracle.price(token)returns the USD price scaled to 18 decimals and reverts if the feed is older than its staleness window.CurbstoneVault.navPerShare()adds up the components at those prices.- Prices are read only. They never decide how many shares you mint or what you get back when you redeem, so a bad price cannot mint you free shares.
Fees
| Action | Fee | Paid in | Goes to |
|---|---|---|---|
| Mint | 0.50% | Vault shares | Treasury |
| Redeem | 0.50% | Vault shares | Treasury |
| Hold or transfer | None | ||
| Swap in a Curbstone pool | Dynamic, 0.30% base | Swap currency | Liquidity providers |
| Protocol fee on a swap | 0.10% | Swap output | Treasury |
Vault fees are capped at 2% in the contract and the swap protocol fee is capped at 0.50%. Locked $CURB reduces what you pay on mint and redeem. The treasury forwards the staker share to the staking contract and keeps the rest to fund the protocol.
Locking
Lock $CURB for one to fifty two weeks. Weight is the amount multiplied by a boost that runs from just above one at a week to four at a year.
| Tier | Weight | Fee discount |
|---|---|---|
| Curbstone | 25,000 | 10% |
| Block | 250,000 | 25% |
| Exchange | 2,500,000 | 50% |
- Adding to a lock keeps the longer end date and never shortens it.
- Tokens can be withdrawn once the lock ends. That is what stops anyone borrowing a discount for a single transaction.
- Revenue is split by weight and claimed with
claim(), in whatever tokens the treasury has forwarded.
The hook
Curbstone pools run on Uniswap v4 through CurbstoneHook. Before each swap it compares the pool tick with the tick at the previous swap and returns a fee for that swap: the base fee in a quiet market, more when the market is moving, up to a ceiling. After a quiet spell the memory resets.
After the swap it skims the protocol fee from the output of exact input swaps and sends it to the treasury. The hook holds no pool funds and cannot stop a swap. Because v4 reads a hook's permissions from its address, the deployment mines a salt until the address carries exactly the four permissions the hook needs.
Pool manager 0x8366a39CC670B4001A1121B8F6A443A643e40951
Contracts
Solidity 0.8.26 with OpenZeppelin 5 and the OpenZeppelin hook base for Uniswap v4. Addresses appear here as each part goes live.
| Contract | Role | Address |
|---|
Network
| Network | Robinhood Chain |
|---|---|
| Chain ID | 4663 |
| RPC | https://rpc.mainnet.chain.robinhood.com |
| Currency | ETH |
| Explorer | robinhoodchain.blockscout.com |
Control
Every Curbstone contract is owned by one protocol wallet. There is no on-chain voting.
- What the owner can do: list assets that have a price feed, create vaults, set fees inside the caps, set lock tiers, point the vaults at the treasury, staking and oracle, and spend the treasury.
- What the owner cannot do: move or freeze what you deposited, change what a vault holds, or issue shares without the backing behind them.
Risk
Read this before using Curbstone
Market. Tokenized stocks and ETFs can fall in value, including to zero. A vault token is worth exactly what it holds.
Liquidity. You can always redeem a vault token for its components. Selling those components depends on the liquidity of each one.
Price feeds. Values on this site and in the contracts come from Chainlink feeds. A stale or wrong feed makes reported values wrong, though it cannot change what a vault owes you.
Contracts. Smart contracts can contain mistakes. Use amounts you are willing to lose.
Issuer. Robinhood Stock Tokens are tokenised debt securities issued by Robinhood Assets (Jersey) Limited, so their value depends on that issuer.
Locking. Locked $CURB cannot be withdrawn before the lock ends, whatever the price does in between.
Finality. Every action is a transaction you sign with your own wallet. Curbstone never holds your keys and cannot reverse anything.
Nothing here is investment, legal or tax advice. Curbstone is not affiliated with Robinhood Markets, Inc., Uniswap, Chainlink, Pons Labs or any company whose name or logo appears on this site.
FAQ
Why only Robinhood Stock Tokens?
They are the tokenized US stocks and ETFs that live on Robinhood Chain, they are standard ERC-20s with 18 decimals, and most of the ones Curbstone uses have a Chainlink feed on the same chain. That combination is what makes a fully backed, on-chain priced basket possible.
What is a vault share worth?
The sum of its components at their current feed prices. The app shows that number, and the vault contract computes the same thing with navPerShare().
Can Curbstone touch my deposit?
No. The vault holds the components and only releases them when someone burns shares. The owner can change fees inside the caps and point at a different treasury, staking or oracle contract, nothing more.
Does $CURB back the vaults?
No. Vaults are backed only by the assets inside them. $CURB is a separate token that discounts fees and shares revenue when locked.
Why does the swap fee change?
Because the risk changes. The hook reads how far the pool moved since the last swap and prices the next one accordingly, then returns to the base fee once the market is quiet.
Where can I use this?
Stock Token availability depends on your jurisdiction. Check Robinhood's terms for your region. Curbstone does not provide brokerage services.