ERC-20 receipt
Ephemeris
A plain ERC-20 representing a proportional claim on one Orbit’s pooled position and the yield accruing inside it. Its price is computed per block from pool state rather than quoted by anyone, harvest raises the price instead of minting units, and redemption comes from a buffer first and the position second.
The identity
Price is computed, never quoted
NAV = position marked at pool + harvested yield not yet reinvestedEphemeris in circulation
Both reserves are priced at the pool's current price. There is no external oracle and no published NAV — which is what stops anyone posting a different one, and is also the manipulation surface described on the Almanac.
Fees collected are reinvested; the unit count does not change. So a chart of NAV is a chart of the position rather than of the token's popularity, and there is no rebase to break an integration.
Shares = value in ÷ NAV. A deposit cannot dilute an existing holder, and cannot be diluted by the next one.
Lifecycle
Four transitions and no decisions
-
01
Depositassets_in → Orbit
One or both sides of the pair go into the Orbit — a Uniswap v4 pool whose hook holds the range. Single-sided deposits are routed through the same pool to reach the ratio, and the price impact of that routing is charged to the depositor, not socialised.
-
02
Mintshares = value_in ÷ NAV
Shares are minted at the price that holds at the moment of deposit. A deposit therefore cannot dilute an existing holder, and cannot be diluted by the next one.
-
03
HarvestNAV ← NAV + fees ÷ supply
Trading fees are collected and reinvested. Supply does not change; the price does. That is what makes the receipt compound without the holder ever touching it — and what makes a chart of NAV a chart of the position, not of the token’s popularity.
-
04
Redeemvalue_out = shares × NAV
Settled from the idle buffer where the buffer covers it, and by unwinding a proportional slice of the position where it does not. The second path carries market impact, and the holder taking it pays it.
Parallax · yield decomposition
Three of the five lines are negative
The reference design for this product states its yield as trading fees plus incentives, and does not contain the word “impermanent” anywhere. A rebalanced concentrated range's largest cost is divergence against simply holding the pair. A headline that omits it is gross of its biggest term.
14.20 + 6.40 = 20.60 quoted. 20.60 − 3.10 − 7.85 − 1.42 = 8.23 net. Illustrative figures for one pair over one period; the arithmetic is checked at build time, the market data is not real.
Earned by the position. Real, and the only durable line here.
Paid in ORR. Yield to you, dilution to every holder. Falls on a published schedule.
Every range shift sells the asset that fell and buys the one that rose. Realised, not paper.
What the pair would have been worth unpooled. The term the reference design never names.
10% of harvested trading fees. Charged before the NAV credit, so it moves price, not supply.
Two classes
Locking removes redemption, not transfer
| Standard | Locked | |
|---|---|---|
| Claim on the position | pro rata | identical, pro rata |
| Redeemable | any block | not until the term ends |
| Transferable | yes | yes — the lock travels with it |
| Share of emissions | base | base × boost, linear in term |
| Funded by | — | the same emission budget, redistributed |
And the consequence nobody designed
Because a locked Ephemeris stays transferable while the boost is keyed to the original term, a boosted position can be sold at any point in its life with its boost intact and no recalculation for the buyer. That is a secondary market in remaining lock time. It follows directly from two rules we have written down, we have not designed it, and it is on the open problems list rather than absent from the page.
Orbits
Every pool, with its parameters before you deposit
One Orbit is one pair with one hook-managed range. There are none, because nothing is deployed — this is the shape the table will take, and every figure in it is illustrative.
| Orbit | Range | Buffer | NAV | Fees 30d | State |
|---|---|---|---|---|---|
| ETH · USDC | ±unset ticks | unset | — | — | not deployed |
| WBTC · USDC | ±unset ticks | unset | — | — | not deployed |
| ETH · WBTC | ±unset ticks | unset | — | — | not deployed |
A live version of this table would carry a contract address in the first column. There is no address to carry.