token-2022 · robinhood chain · fees claimed by contract
upcurve
Upcurve · $upcurve
a floor that only ever ratchets up.
every trade pays a fee, and the fee never reaches a wallet. a contract takes it at the moment it accrues and splits it in two — half becomes a standing bid under the market that burns whatever it fills, half lands in a reserve any holder can draw against, pro rata. nobody gets paid. the token does.
a simulated curve of buys and burns. the upper trace is the reserve leg of the fee take divided by circulating supply, accumulated bar by bar across traded volume — it never steps down, because nothing in the arrangement takes from the numerator. below it, flow splits by direction: buy-dominant bars above the baseline, sell-dominant beneath. this is an illustration of the mechanics; figures only the contract can report stay in a loading state until it is live.
premise
Creator fees on a bonding curve are ordinarily a private revenue line. Here they are intercepted at the point of accrual by a contract and never arrive at a wallet. Each claim divides on a ratio fixed at deployment — 50.00% into a bid that buys the token back and destroys it, 50.00% into a reserve that collateralizes redemption — and both halves are spent on the token rather than on anybody.
What falls out of that arrangement is a floor: reserve balance over circulating supply, denominated in ETH. It is arithmetic over two onchain balances, which means anyone can recompute it at any block without trusting a dashboard, this one included.
the split
Trading generates creator revenue in ETH. The contract claims it and routes it, inside the same transaction, into two accounts. Neither leg pays a person, and the ratio is not a dial anyone turns afterwards.
bid_leg = c · 0.50 reserve_leg = c · 0.50 R ← R + reserve_leg B ← B + bid_leg
Tokens issued against the curve land in every wallet in proportion to what that wallet already holds. The consequence is worth stating precisely, because it is the part most easily oversold: scaling every balance by the same factor leaves every share of supply exactly where it was, and therefore leaves every claim exactly where it was. Issuance distributes. It does not manufacture backing. Backing arrives through the reserve leg and improves through retirement.
the floor
Hold h tokens against a supply of S and you own h/S of a reserve holding R. Redemption pays out that fraction in ETH and destroys the tokens presented for it.
floor = R / S claim(h) = (h / S) · R
exiting takes nothing
The usual complaint about a redeemable claim is that whoever leaves first leaves carrying something that belonged to everyone. Not here. Burning k pays k·R/S and removes k from supply, shrinking numerator and denominator by an identical factor. The quotient does not move.
redeem k:
R' = R − kR/S
S' = S − k
R'/S' = (R − kR/S) / (S − k)
= R(S − k)/S / (S − k)
= R/SWithholding part of the payout turns invariance into growth. At f = 3.00%, the redeemer leaves with (1−f)·k·R/S and the difference stays behind in an account now divided among fewer tokens. Everyone who stays is strictly better off for someone else having gone.
redeem k, withhold f: R' = R − (1−f)·kR/S S' = S − k R'/S' = (R/S) · (1 + f·k/(S − k)) 1 + f·k/(S − k) > 1 for 0 < f ≤ 1, 0 < k < S
the bid gate
The bid leg puts reserve-adjacent capital into the open market, which cuts both ways. Retiring ΔR/P tokens for ΔR of ETH moves the floor in a direction determined solely by where the fill price sits relative to the floor itself.
spend ΔR at price P, burn ΔR/P tokens: floor' = (R − ΔR) / (S − ΔR/P) floor' > floor ⟺ P < R/S with u = ΔR/R and m = floor/P: floor'/floor = (1 − u) / (1 − u·m)
Most buyback programmes never state that condition, which is exactly why they leak. Encoded as a precondition the contract verifies rather than a judgement somebody exercises, it turns the allocation into a standing bid underneath the market: below the backing the contract is a buyer and every fill tightens supply for everyone still holding; above it the contract does nothing at all and the allocation waits. An idle bid balance is the expected state, not a fault.