whitepaper · v1.0

ascend — a self-compounding asset on ethereum.

a single contract holds every wei ever paid in. its public ratioreserve / supplydefines the price floor, and the contract is engineered such that this ratio is monotonically non-decreasing under any finite sequence of buys and sells. holders are paid by traders.

1 · abstract

ascend is an erc-20 issued from a single uniswap v4 hook on ethereum. the hook is the only minter, the only burner, and the only source of liquidity. the trading price is floor · (1 + premium), where the premium ratchets up deterministically with all-time mining inflow: premium = 100% + cumulativeEthIn / 250 ETH × 100%. mining and redemption each retain a symmetric 5% — both flows, plus the premium itself, stay in the vault permanently and deepen the backing for every remaining holder. floor and premium are both monotone non-decreasing forever. market cap = price · supply = (1 + premium) · vault compounds super-linearly with cumulative volume, driven by the premium ratchet rather than the exit fee. there is no admin, no upgrade, no migration, no withdraw.

the floor is defined as floor = reserve / supply. theorems 1 and 2 below show this quantity is strictly increasing on every buy with positive input and on every sell with positive input less than total supply. the engine is therefore a one-way ratchet: trading volume in any direction lifts the floor; idle periods leave it flat; nothing lowers it.

2 · mechanism

2.1 state

the engine’s only state is its ETH balance R and the ascend totalSupply() S. both are public on-chain.

2.2 mining

a miner transmits e wei. the hook computes fee = e · 0.05, net = e · 0.95, floor₀ = R / S, and mints ascendOut = net / floor₀ ascend to the caller. the entire e remains in the vault.

2.3 redemption

a redeemer submits r ascend to burn. the hook computes floor₀ = R / S, gross = r · floor₀, fee = gross · 0.05, ethOut = gross · 0.95; burns r ascend from the caller; transfers ethOut to the caller. thefee remains in the vault.

2.4 bootstrap

at deploy, the engine constructor enforces a one-shot bootstrap of exactly 0.001 ETH from the deployer and mints1 ascend directly to the engine address itself. the engine has no path to spend its own balance, so this ascend is unsellable; the bootstrap ETH is non-withdrawable. these two values anchor the initial floor at exactly 0.001 ETH per ascend. once any user transacts, the floor moves up from there.

3 · proofs

theorem 1 · mining lifts the floor

let R, S > 0, let P = 2 be the price multiplier (1 + 100% premium), and let e > 0 be the ETH input of a mine. mining at price P · floor with a 5% fee yields:

R’ = R + e
S’ = S + (0.95 · e) / (P · R/S) = S · (1 + 0.475 · e/R)
floor’ / floor = (R + e) / (R + 0.475 · e) > 1 ∎

the floor lifts ~10× harder per unit of ETH than under fees alone, because the premium half of the input deepens the vault without minting matching supply.

theorem 2 · redemption lifts the floor

let R, S > 0 and let 0 < r < S be the ascend input of a redemption. then floor’ / floor > 1.

R’ = R − 0.95 · r · (R/S) = R · (S − 0.95·r) / S
S’ = S − r
floor’ / floor = (S − 0.95·r) / (S − r) > 1
since 0.95·r < r ⟹ S − 0.95·r > S − r ∎

corollary · monotone non-decreasing under any sequence

for any finite sequence of buys with positive input and sells with input strictly less than the prevailing supply, the floor at the end of the sequence is at least the floor at the start. equality holds iff the sequence is empty. ∎

4 · solvency

the hook is solvent against the floor at every block: its ETH balance is always at least floor · (S − S_locked), where S_locked is the bootstrap ascend held by the hook itself. proof: the hook’s balance equals every wei ever paid in by mining minus every wei ever paid out as redemption. a redemption of r < S pays out 0.95 · r · R / S < R. so balance never goes negative, and after any redemption the balance per non-bootstrap ascend is at least the prior floor (by theorem 2). ∎

5 · security model

5.1 capabilities

5.2 mev considerations

the hook has no slippage in the AMM sense — mining is pinned tofloor · (1 + premium) and redemption to floor, both deterministic from on-chain state. a sandwich attack would have to mine in front of a victim and redeem behind, but the round-trip cost includes the 10% retention (5% mining + 5% redemption) plus the premium spread — 1 + premium on entry, only 1 on exit. at the genesis premium of +100%, that’s already a structural ~57% loss on a flat floor. as the premium ratchets up with cumulative volume, sandwich profitability falls further.

5.3 reentrancy

the hook’s beforeSwap is bracketed by an _enter/_exit pair backed by EIP-1153 transient storage at slot keccak256("ascend.hook.reentrancy.v1"). any re-entry into beforeSwap within the same transaction reverts. the only path that pushes ETH out is poolManager.settle{value: …}, which sends to the PoolManager itself, not to user-controlled contracts. token transfers are restricted to mint/burn on the ascend contract whose only authorized caller is the hook.

6 · single-venue price discovery via uniswap v4

ascend is implemented as a uniswap v4 hook, deployed at a CREATE2 address whose low-order bits encode the permission set {afterInitialize, beforeAddLiquidity, beforeSwap, beforeSwapReturnsDelta}. the canonical pool has currency0 = native ETH, currency1 = ascend, and zero AMM fee. no liquidity is ever added to the pool; beforeAddLiquidity reverts on any attempt.

every swap routes through PoolManager.swap, which calls the hook’s beforeSwap. the hook computes the floor-priced output, settles the input ETH (or input ascend) into itself, mints (or burns) the matching ascend, and returns a BeforeSwapDelta that exactly cancels the AMM portion of the swap. the AMM curve runs on zero remaining input. the swapper receives the hook’s computed output as if it were AMM output.

consequently, the hook is the only price-discovery surface and the only liquidity venue. whether a swap originates from the dapp, from Uniswap’s v4 swap UI, from a 1inch or 0x aggregator, or from any other contract that unlocks the PoolManager and calls swap, the same beforeSwap handler runs, the same dynamic fee is applied, and the same price is paid. the price is identical across venues by construction, not by arbitrage.

listing on dexscreener and geckoterminal is automatic once their indexers cover uniswap v4 on the deployed chain — the pool ID is the public identifier.

7 · what the floor does not promise

8 · acknowledgements

the floor-ratchet pattern owes intellectual debt to early DeFi experiments in protocol-owned liquidity (Olympus, Tokemak) and to redemption-floor tokens (Float, Reflexer). ascend differs by being a single-contract, no-DAO, no-emission, no-rebase implementation in which the only mechanism is the ratio of reserve to supply and the only state is its evolution.