01 · The cleave
Robinhood Chain stock tokens do not pay cash dividends. When the underlying pays one, it is reinvested and the token's on-chain multiplier (uiMultiplier, ERC-8056) rises. Your raw balance never changes, but each raw unit represents more shares. That growth is a yield stream, and Cleave cuts it off.
Deposit a stock token into a series (one stock × one maturity) and the vault mints two ERC-20s:
- Share Token, ST (sAAPL-MAR27) — the stock with the dividends removed. Trades under spot and redeems the full baseline position at maturity.
- Dividend Token, DT (dAAPL-MAR27) — every dividend the position earns before maturity, and nothing else. It costs a fraction of the share price and pays out as each dividend lands.
Merge is the anchor. ST + DT always recombines into the stock, free, in any state of the series, and merge never refuses. That exit is what keeps both halves priced honestly.
"How do I claim my dividend?" On the stock token itself, you do not; the dividend is already inside your balance through the multiplier. On Cleave, the Dividend Token makes that stream visible and claimable: what it has earned shows up in the terminal and comes out as stock when you press claim. Beware of any site with a "claim dividends" button for the raw stock token. There is no such mechanism, and that pattern is a known scam.
02 · Units and the baseline rate
One pair of tokens is one baseline share: the stock as it stood when the series opened, at dividend index d₀. Because a raw stock token keeps reinvesting, one raw unit is worth d/d₀ baseline shares at index d. So:
cleave : raw → raw · d/d₀ pairs (minus the split fee, once) merge : pairs → pairs · d₀/d raw (free, any time, any state)
On the day a series opens d = d₀ and both are exactly 1:1. Six months later, after a 1% dividend, 1 raw token buys 1.01 pairs and 1 pair merges back into 0.9901 raw. That is not a fee: 0.9901 raw at the new multiplier is exactly the number of shares one baseline share represented. Minting at the live rate is what lets late depositors and early ones hold the same fungible token without anyone overpaying or being diluted.
03 · Streaming dividends
Most yield splitters pay the yield leg once, at maturity. Cleave credits a Dividend Token holder every time the ledger classifies a dividend. Per pair, between two settlements at indices du and dnow, the holder accrues
accrued = d₀ · (1/d_u − 1/d_now) raw stock
which is precisely the raw the vault no longer needs to hold to back the baseline. The DT's transfer hook settles both sides before any balance moves, so selling a DT never forfeits what it already earned, and buying one never buys someone else's past. Claim the accrued stock any time; the yield fee is taken at that moment and only on that amount.
04 · The math
The ledger tracks a dividend index d that grows only with classified dividend reinvestments; stock splits move a separate factor and change nothing here. Let d₀ be the index when the series opened and dT its value at maturity.
// cleave a raw at index d a raw → n = a·d/d₀ pairs (n ST + n DT) // per pair, over the whole term ST redeems d₀/d_T raw — the baseline, drip removed DT streams d₀·(1/d₀ − 1/d_T) = 1 − d₀/d_T raw — the whole term's drip // conservation, per pair minted at open (d = d₀) d₀/d_T + (1 − d₀/d_T) = 1
Because the two legs sum to exactly what was deposited, the vault is fully collateralized by construction. It holds precisely the raw tokens deposited, less what it has streamed out, and a stock split scales everyone's share exposure through the token's own multiplier without touching d₀ or dT. The test suite asserts this solvency invariant across randomized sequences of cleaves, merges, dividends, transfers, claims and redemptions.
While the ledger is out of sync. If the multiplier has moved and the change is not yet classified, the vault does not know whether it was a dividend or a split. Cleaving is refused. Merging is not: it pays at the conservative index, which assumes the whole change was a dividend, so the vault can never be drained by an early exit. Waiting for classification always pays at least as much. Claims continue against the last classified index.
05 · Fees
| Action | Fee | Notes |
|---|---|---|
| cleave | 10 bps | taken from the deposit, once, on the way in; rounds up per call |
| merge | 0 | free, always, in every state |
| redeem ST | 0 | the baseline is untouched |
| claim / redeem DT | 5% of the drip | on the dividends actually claimed, never on principal; rounds up per call |
Rounding up per call means fragmenting a deposit or a claim into dust can never pay less than a single one. Fees are immutable per vault and identical for every address. Where they go: the treasury recycles protocol fees on chain, deepening the ST and DT pools so every cleave makes the next trade tighter, and routing a share to market-buying and burning $CLEAVE.
06 · Pools
Every series ships with two Uniswap v3 pools, and both are quoted in the stock itself, never a stablecoin: ST/stock and DT/stock. Priced in the stock, a Share Token barely moves. It sits just under one and drifts toward its redemption value as maturity nears, so liquidity providers carry far less impermanent loss than in a token/USDC pool, and nobody is short the stock's rally.
The par line polices itself. Cleaving mints one ST and one DT per baseline share; merging burns one of each for the baseline back, free. If the pools price ST + DT above the baseline, cleave and sell. Below, buy both and merge. Either trade pays whoever closes the gap.
The ST pool sits on the 0.05% tier in a tight range just under par. The DT pool sits on the 1% tier in a wide range, because a DT is small and moves more in percentage terms. They are ordinary pools: anyone can add or manage a position directly on the DEX.
07 · The ledger
Every series runs on a DividendLedger, and the ledger does not need the series. It watches one stock token's multiplier, records each change, classifies it as a dividend or a stock split, and holds anything that fits neither for the guardian. Every view is free and keyless, so any lender on the chain can use it.
- A change is a dividend only when 0 < ratio − 1 ≤ 3%.
- A change is a split only when it is a clean small-integer ratio (2:1, 3:2, 1:10…) at least 20% from 1.
- The bands cannot overlap; the contract checks that at construction and re-checks every tag. A keeper can be late but cannot be wrong.
- Anything in between (special dividends, two actions landing before the first was classified) is held. Only the guardian can resolve it, by proposing an ordered decomposition that executes after a two-day public delay, and only if its product reproduces the observed change. The pending change and the proposal are readable by anyone the whole time.
isSynced() has no latency. It is not a flag a keeper sets; it compares the token's live multiplier to the last classified one on every call. There is no block in which it reports synced while the multiplier has moved. The token's own effectiveAt() is tracked too, so a scheduled change is visible before it lands.
function isSynced() returns (bool) function dividendIndex() returns (uint256) // 1e18 = 1.0 function splitFactor() returns (uint256) function dividendIndexAt(uint256 ts) returns (uint256) function checkpointAt(uint256 i) returns (uint64 ts, uint192 index) function pending() returns (bool exists, bool collapsed, uint64 ts, uint256 oldM, uint256 newM) function scheduled() returns (uint256 newMultiplier, uint256 effectiveAt)
08 · Lifecycle
A series runs ACTIVE → MATURED → SETTLED. While active: cleave, merge, trade, claim. At the maturity timestamp the series is matured: no more cleaves, and the index it accrues against is frozen at the ledger's value as of maturity, so a dividend landing after maturity belongs to Share Token holders, who now own the stock. Anyone may then call settle(); it is permissionless but refuses until every multiplier change is classified, freezing dT honestly. Once settled, ST redeems d₀/dT raw per token and DT holders claim whatever accrued. Merge keeps working through all three states.
09 · Lending
A Share Token is better collateral than the stock: no dividend jump, a known redemption date, and a discount that closes on a schedule. The CleaveMorphoOracle prices it for Morpho Blue as the stock's Chainlink feed (which already carries the multiplier) times the ST's time-weighted price in stock from the pool, capped at parity because merge is free. After settlement the pool is ignored entirely and the exact redemption value d₀/dT is used. While the ledger is out of sync the oracle reverts, so the market refuses new borrows, withdrawals and liquidations inside that window while repaying and lending still work. See the lend page.
10 · $CLEAVE
| Item | Value | Notes |
|---|---|---|
| Total supply | 1,000,000,000 | fixed; there is no mint function |
| Burnable | yes | anyone can burn what they hold; the treasury burns what it buys back |
| Emissions | 0 | no staking contract, no vesting schedule |
| Dependency | none | no vault, ledger or oracle depends on it |
Holder fee tiers, priority capacity and a listings vote are intended and not implemented in the deployed contracts. Fees are immutable per vault, so tiers would arrive as new vaults, not a setting. Treat them as roadmap.
11 · Risks, plainly
- Issuer trust. The multiplier is set by Robinhood Assets (Jersey) Ltd. A Dividend Token is a claim on the issuer's declared reinvestment, not a raw claim on the equity.
- Classification edge cases. Gap-band events settle at guardian discretion behind the timelock. If you dispute a pending resolution, merge out; it is free and never refuses.
- Liquidity. Early pools are thin and prices can gap. Merge, claim and redemption never depend on a pool.
- Smart contracts. This build ships with a test suite including a fuzzed solvency invariant, and no independent audit yet. Outside lending stays closed until one is public.
- Regulatory. Tokenized stocks are new. Availability follows Robinhood's.
Not investment advice. Not available where Robinhood Stock Tokens are not available.
12 · Contracts
Source for every deployed contract is verified on Blockscout. Fixed parameters on every ledger: dividend band 3%, split deviation 20%, ratio tolerance one millionth, guardian delay 2 days.