Spate
A vault earns fees all day and books them in a single transaction, so its share price is a staircase. Spate releases harvested income block by block — the price is a line, and standing next to a payout is worth nothing.
The problem
Income arrives all day.
The price moves once.
A pool earns a fee on every swap. A vault learns about it when somebody sends a harvest transaction. Between those two moments the share price does not move at all — and then it moves the whole way at once.
What a staircase costs
A price that only moves when someone pays gas
- Redeem an hour before the harvest and you are paid as though you earned nothing that hour.
- Deposit one block before it and you are paid for a day you were not present for.
- The share price is flat, so accrued income is invisible in every number the vault publishes.
- “No lockup, redeem any block” is what makes that free. Nothing charges you for standing next to a payout.
What Spate does instead
A price that moves every block
- Harvested profit is booked as locked and released over a fixed number of blocks.
totalAssets()rises every block, so income belongs to the blocks that earned it.- A depositor arriving at the harvest is priced into a share that already contains it.
- Bond markets settle at a dirty price for exactly this reason, and have since the 1600s.
The number
What one block of standing there is worth
Not arithmetic on paper. The sequence below is executed against the compiled contract on Robinhood Chain, twice — once with instant recognition, once with the unlock on — and the two answers are read out of the vault.
Both figures come out of the same contract with one argument changed, so the comparison is not between Spate and a straw man — it is between Spate and Spate. How it is run →
What is here
Three things, and all three run
Every claim on this site is either executed at build time against live chain state, or marked as not executed. There is no third category.
The unlock
Harvested profit is credited to a locked balance and released linearly over
unlockBlocks. totalAssets() counts only what has been released, so the
share price rises on a ramp rather than a step.
- Ordinary ERC-4626 surface — no special support needed
locked(),unlockPerBlock()andcaptureBps()are public views- Nothing about it depends on a price feed
Executed, not described
24 properties are compiled and run inside an
eth_call state override on Robinhood Chain on every build, then the contract is
rebuilt 11 more times with one deliberate defect each and every
one must be caught.
- No testnet, no toolchain, no funded account, no key
- One sabotage is expected to survive and says why
- The full table →
A gauge for anyone's vault
Paste any ERC-4626 vault on Robinhood Chain into the Gauge and it reads the chain from your browser: what its share price did, whether it moves in steps, and how much a well-timed block is worth against it.
- No key, no wallet, no proxy, no server
- It refuses to vouch for a contract it cannot identify
- Same modules the scanner uses
The path
Four calls, and you can read every one
Nothing in the path needs a keeper you trust, a solver you cannot see, or a price somebody else publishes.
Deposit
You send the asset. It is added to a storage counter, never read from balanceOf,
so a stray transfer cannot move anybody's share price.
Harvest
Fee income arrives from the pool. The protocol cut is taken once, capped in the contract, and the rest goes to locked — not to the share price.
Unlock
Every block, a fixed slice of the locked balance becomes assets. The share price is a ramp. Nobody has to send a transaction for this to happen.
Redeem
Burn shares, take the underlying at the price of that block. No queue, no epoch — and now no reward for choosing the block.
The picture
A basin collects for hours.
The gauge sees one pulse.
The animation on this page is not a texture. It is a drainage network solved from a fractal surface — depressions filled, D8 flow routed, Strahler ordered — and the build refuses to ship it unless it still obeys Horton's laws and Hack's law.
Across 24 seeded landscapes, every basin large enough to carry five Strahler orders lands inside all four published bands and every order-4 basin does not — which is the known small-sample bias in a ratio estimated from three numbers, not a bug in the model. How it is built and checked →
On this chain
Real assets, read from the chain
13 tokenised equities and 13 other tokens were found by walking Robinhood Chain's own Uniswap V3 swap logs — no registry, no vendor, no key. A vault can be opened over any of them.
| Asset | Symbol | Decimals | Pools | Swaps seen |
|---|---|---|---|---|
| Global Dollar | USDG | 6 | 25 | 130,292 |
| WETH | WETH | 18 | 19 | 116,255 |
| NVIDIA • Robinhood Token | NVDA | 18 | 3 | 6,157 |
| SPDR S&P 500 ETF Trust • Robinhood Token | SPY | 18 | 3 | 4,451 |
| GameStop • Robinhood Token | GME | 18 | 2 | 3,204 |
| A Meme Coin | MEME | 18 | 2 | 3,188 |
| Space Exploration Technologies Corp. Class A Common Stock • Robinhood Token | SPCX | 18 | 2 | 3,170 |
| SPDR Gold Trust • Robinhood Token | GLD | 18 | 2 | 3,111 |
| Hims & Hers Health • Robinhood Token | HIMS | 18 | 1 | 2,697 |
| Pons | PONS | 18 | 3 | 2,660 |
What is actually real
Open it, or don't.
Either way read the state table.
No canonical Spate vault is deployed: deploying costs gas from a wallet and this repository holds no key. The app deploys one from yours, on mainnet, and simulates every write from your address before it is signed. The contracts have not been audited by anybody.