How Coppice works
Coppice is a front end and one small contract on Robinhood Chain. It never takes custody of what you trade or save, and every number it shows is a contract call you can repeat yourself.
Getting started
- Use any EVM wallet — MetaMask, Rabby, Coinbase Wallet. Solana-only wallets won't work.
- Press Connect wallet in the app. If your wallet doesn't know Robinhood Chain yet, the app asks it to add the network: chain ID
4663, RPChttps://rpc.mainnet.chain.robinhood.com, explorerrobinhoodchain.blockscout.com. - Hold a little ETH on Robinhood Chain for gas. A transaction costs cents.
- Hold USDG — the chain's dollar, issued by Paxos — to buy stocks or to save.
Trade
Trade swaps USDG for a tokenized stock, or back, through Uniswap v3's own deployment on Robinhood Chain. Nothing sits in between: the transaction goes from your wallet to Uniswap's SwapRouter02 and the tokens come back to your wallet in the same transaction.
- Quotes are simulations of the real swap. The app asks Uniswap's
QuoterV2what each fee tier would pay for your exact amount, and routes through the one that pays most. - Your minimum is enforced on chain. The swap is sent with
amountOutMinimumset to the quote less your slippage limit (0.5% by default). If the price moves past it before the transaction lands, the swap reverts and nothing is spent. - Approvals are exact. The router is approved for the amount you are spending in that swap and nothing more. Coppice never asks for an unlimited approval.
- The mid price shown next to each stock is read from its deepest pool's
slot0, all markets at one block. The app shows how far your fill is from it, pool fee included.
Which stocks are listed is decided by a scan of every tokenized stock on the chain: a token is listed when its on-chain symbol matches and its deepest USDG pool holds at least $40,000. The current list was taken at block —.
Earn
Earn deposits USDG into Steakhouse USDG, an ERC-4626 vault curated by Steakhouse Financial that lends on Morpho Blue. It is the largest USDG vault on the chain. Coppice didn't build it and can't change it; the app sends your deposit straight to it and you hold the vault's shares in your own wallet.
- The rate is measured, not quoted. The app reads the vault's share price at the latest block and at a block a few minutes earlier, and annualises the growth. It moves with borrowing demand on Morpho, and the vault's own fee is already inside it.
- Withdraw any block. There is no lockup. Withdrawing everything redeems every share, so no dust is left behind.
The Grow contract
Coppice.sol is about 200 lines with no owner, no fee, no pause and no upgrade. It takes USDG, keeps it in the savings vault fixed at deployment, and records what each wallet put in as its principal. Only the part of a position worth more than its principal can ever be harvested.
| deposit(assets) | Pull assets USDG from you, deposit it in the vault, and add it to your principal. |
| harvest(tokenOut, fee, minOut) | Redeem only the shares worth more than your principal (rounded down), re-check that what remains still covers the principal, then send the proceeds to you — as USDG if tokenOut is USDG, otherwise swapped on the Uniswap v3 pool (USDG, tokenOut, fee). Reverts unless you receive at least minOut. |
| withdraw(assets) | Send you exactly assets USDG of your principal. Reverts above your principal. |
| exit() | Redeem your whole position — principal and unharvested interest — to you, and close it. |
| positionOf(owner) | Shares, principal, value now, and harvestable interest. |
What was tested, and how
The contract is deployed on a fresh fork of Robinhood Chain and driven through the real Steakhouse USDG vault and the real Uniswap router at their live state. Time is moved forward so the vault accrues genuine interest; nothing about the yield is mocked.
The same checks are then run against deliberately broken versions of the contract — a harvest that reaches into principal, a withdraw that forgets to lower it, a swap that pays the contract instead of you — to show the checks fail when they should.
Status: not deployed yet. Read the full source.
Addresses
Everything the app touches on Robinhood Chain (chain ID 4663). Each links to the explorer.
Listed stocks
Risks
- Smart-contract risk. The vault, Morpho Blue, Uniswap and Coppice are all code, and code can fail.
- Lending risk. Steakhouse USDG lends to Morpho markets; if borrowers' collateral cannot cover a loan, lenders can take a loss.
- Market risk. Stock prices move, and interest spent on a stock is exposed to that stock.
- Liquidity. Some pools are thin. A large trade moves the price; the app shows by how much before you sign.
- What a token represents is set by its issuer, not by Coppice. Read the issuer's terms.
Coppice is experimental software. Nothing on this site is investment advice.