Glossary

One definition per term, two lines at most. The mechanism lives on the linked page.

A

Adverse Selection

The counterparty knows fair value better than the pool does, so stale quotes get picked off. It is the mechanism behind LVR; AIMM prices it through the fresh keeper mark and the σ, confidence and staleness terms of the spread, never through inventory skew.

Adversarial Behavior

Value extraction without protocol or LP consent: front-running, sandwich, informed flow, latency arbitrage, JIT, MEV, greasing, spoofing. The defensible answer is to price it in the spread, not to convert the extractor (Cooperative Behavior, Order Flow Toxicity).

AMMs (Automated Market Makers)

Algorithmic pricing in place of an order book. Families below trade capital efficiency against price impact; core terms are Invariant, Liquidity Shaping, Price Impact, Slippage.

FamilyExamplesCapital efficiencyPrice impactModel
CSMMhybrid CFMM component, e.g. CurveVery highZerox+y=k linear
CPMMUniswap V1/V2, RaydiumLowConvexx·y=k hyperbolic
CFMMCurve, Balancer, GyroscopeVariableConvex/flatF(x₁,…,xₙ)=k
CLMMUniswap V3/V4, Raydium CLMM, OrcaVery highTick-dependentTick-based ranges
DLMMLFJ V2, Meteora, SarosVery highBin-dependentBins + dynamic fees
CCMMOrbswapVery high, pegged-onlyBoundedn-dimensional sphere
AIMMBTRHigh (spline + σ-dispersion)Spline-shapedAnchor-path + inventory

CSMM (Constant Sum Market Maker)

x + y = k: linear pricing, zero slippage inside the feasible region, capital-inefficient once price leaves it. Used near tight pegs or as a segment of a hybrid stableswap curve.

CPMM (Constant Product Market Maker)

Two-asset CFMM with x·y = k and marginal price p = y/x before fees. Path-independent, convex slippage in trade size relative to depth; Uniswap V2 and most Solana AMMs.

CFMM (Constant Function Market Maker)

Reserves lie on a level set F(x₁,…,xₙ)=k and trades move along that surface. Umbrella class covering constant-product, constant-sum, weighted, stableswap and hybrid curves.

CLMM (Concentrated Liquidity Market Maker)

Liquidity allocated to LP-chosen tick ranges; inside a range the pool behaves as a local CPMM, outside it that LP is inactive. Higher fee density, at the cost of rebalancing and out-of-range risk. Uniswap V3/V4, Raydium CLMM, Orca Whirlpools, PancakeSwap V3, Aerodrome.

DLMM (Dynamic Liquidity Market Maker)

Liquidity in discrete bins rather than continuous ticks; each bin is a local CSMM, positions are fungible per bin, fees rise with volatility. Implementations: Liquidity Book, Meteora, Cetus, Saros.

CCMM (Circular/Orbital Constant Market Maker)

Pegged-only multi-asset AMM concentrating around the peg on an n-dimensional sphere, i=1n(r-xi)2=r2, with polar ticks as hyperplanes; a depegged asset drains asymmetrically instead of propagating loss. Cannot price volatile-vs-pegged pairs, which is AIMM’s domain. Paradigm Orbital, implemented by Orbswap; maths at Foundations §10.

AIMM (Adaptive Inventory Market Maker)

BTR’s design: quotes off a fresh external keeper mark, shifts the mid by inventory skew, and takes depth from a spline profile instead of a reserve invariant. See Architecture Overview.

ALM (Asset-Liability Management)

Tracking what a pool owns (reserves) separately from what it owes (liabilities). Enables single-sided deposits and explicit coverage accounting.

Anchor (Token)

An asset’s parent in the anchor tree and its pricing counterpart, not necessarily the base: stETH -> ETH, USDT -> USDC. The base is the root, anchor = address(0), and a feed is attested in parent-per-child units.

Anchor Tree

Every asset has one anchor and every chain ends at the base token, so the path between any two assets is unique: up to the LCA, then down. MAX_DEPTH = 4 bounds one walk, MAX_PATH_LENGTH = 2 * MAX_DEPTH + 1 = 9 nodes and 8 legs; depth is a fence budget, not a requirement.

Anchor Path Pricing

Prices a swap along that unique path: endpoint legs carry full spline impact and settle against reserves, interior legs price at mid with skew and no impact. Fee floor, confidence and staleness sum over legs, σ composes in quadrature, every node is depeg-band checked (Anchor Path Pricing).

APR (Annual Percentage Rate)

Simple annualised rate, no compounding. Pool fee APR (liquidityIndexWad growth) and a leg’s hook APR (rehypothecation) are reported separately and add; fee APR is gross of the LVR paid to arbitrageurs, which nothing rebates.

APY (Annual Percent Yield)

One-year return including compounding. Standard for staking, lending and farming; compare against APR, which omits it.

Arbitrage

Extraction taxonomy, ordered by toxicity. AIMM classifies by coverage impact, never intent: coverage-improving flow gets a better mid, coverage-worsening flow a worse one, with the spread symmetric either way.

  1. Statistical Arbitrage: cross-venue price gaps. Most common, least harmful.
  2. Latency Arbitrage: speed advantage.
  3. Informed Order Flow: superior information. Rare, devastating.
  4. Markout Toxicity: losses in trends, not information-driven.
  5. Flow Internalization: market-structure residual.
  6. JIT Liquidity: block-level fee extraction, ~1% of Uniswap v3/v4 volume.

Statistical Arbitrage (Stat Arb)

Buying the cheap venue and selling the dear one across CEX/DEX, L1/L2, cross-chain or triangular pairs. It reacts to an existing gap rather than to future information and tightens pegs, so it is the least harmful toxic flow; it is not MEV, since it does not alter block ordering.

Latency Arbitrage

Trading ahead of slower participants on a public price move, classically against a stale-priced L2 pool mid-sequencing. Infrastructure, not secret information, so more benign than informed flow.

Informed Order Flow (Alpha Toxicity)

The Glosten-Milgrom adverse selection case: the trader knows fair value before the price moves, so the LP loses on the up-move and the down-move. Rare and devastating, unlike stat arb, which only exploits a lag.

Markout Toxicity (Winner’s Curse)

Loss taken in a sustained trend with no direct arbitrage: the pool keeps selling the appreciating asset. Measured against price 5-10 minutes after the fill; persistently negative markout means the LP sits on the wrong side.

Flow Internalization (PFOF - Payment for Order Flow)

Wallets and aggregators give makers or solvers first look, internalise the benign retail flow and route the imbalanced residual to public AMMs. A public pool therefore sees a worse flow mix than a venue capturing both sides; a routing problem, not a speed one.

Avellaneda-Stoikov Framework

Market-making model setting quotes from inventory position, risk aversion and adverse-selection cost. AIMM splits the role: vega sets the volatility half-width, inventory skew sets the reservation-price shift as a fixed law of coverage.


B

B64 Float Encoding

64-bit price word packing mantissa, decimals and exponent (bits 12-63 mantissa, 7-11 decimals, 0-6 biased exponent). Oracle-internal V1 storage encoding; fully retired by V2, which decodes its packed lane and hands IOracle.FeedData a plain mark1e18 WAD instead (Oracle Keeper).

Base Token (Numéraire)

Root of a pool’s anchor tree (PoolStorage.baseToken) and its accounting basis, typically USDC, USDT, WETH or WBTC. It is not the pricing counterpart of every asset: assets price against their own anchor.

Block Builder

Under proposer/builder separation, the entity that takes transactions and bundles, simulates them, orders for value and hands a block to a validator. See MEV.

BPS (Basis Points)

1 bp = 1/100th of 1%, so 10,000 bps = 1. AIMM prices in pbps where PBPS = 1,000,000.

Bridge

Cross-chain transfer of assets or data, adding trust assumptions for remote verification. Two kinds: asset bridges and messaging bridges; verification is optimistic, light-client or liquidity-network.

Asset Bridge (Token Bridge)

Moves tokens or NFTs by lock-and-mint (lock source, mint wrapped) or burn-and-release (burn wrapped, release escrow). The canonical version usually sits on the native chain.

Messaging Bridge (Arbitrary Messaging Bridge - AMB)

Carries arbitrary data and contract calls, enabling cross-chain calls and governance execution. LayerZero, Wormhole, OP Stack bridges; verified by zk or merkle proofs, fraud proofs, or light clients.

Beacon Proxy

ERC-1967 proxy that reads its implementation from a beacon rather than its own slot. Every Pool points at PoolFactory, so one transaction upgrades the whole live fleet (Admin, Contract Addresses).

Bundle

Atomic sequence of transactions submitted as one unit, typically by an MEV searcher to a builder or relay. Any failure reverts the whole bundle, which is what makes coordinated front- and back-running possible.


C

Catmull-Rom Spline

Cubic interpolation with centered secant tangents. Rejected for AIMM: not monotone in general, no sign preservation and no magnitude clamp (Spline).

Circuit Breaker

Threshold that halts operations instead of quoting through them. In AIMM: HALT_RISK_BIT, the base-token depeg halt (BaseDepegged) and per-asset reference bands, the confidence halt past MAX_CONFIDENCE_HALT_BPS (1,000 bps), and the TTL revert past which a stale feed stops pricing (Flow Guards).

Core

A pool whose legs share one reserve, curve family and risk config. A deployment is cut into several cores linked through a shared hub (Pool Composition).

CREATE3

Deploy scheme making the address a pure function of factory, deployer key and mined salt, independent of bytecode, so the same address is reachable on every chain (Contract Addresses).

CLOB (Central Limit Order Book)

Order-driven market matching bids and asks by price-time priority. Contrast with AMMs, which quote algorithmically.

Concentrated Liquidity

LPs supply inside chosen price ranges rather than across all prices: higher fee density, active rebalancing, out-of-range risk. Variants are CLMM (ticks), DLMM (bins), quadratic and elliptical (Gyroscope). AIMM has no per-LP range: depth is a pool-level spline profile.

Elliptical Concentration

Concentration on an ellipse: a circle stretched (λ), rotated (φ) and displaced (α, β), all fixed at deployment. Cleaner than stacking two-asset CLMM instances for a correlated basket; Gyroscope E-CLP.

Quadratic Concentration

Two-asset concentration by a quadratic on a bounded range [α, β]: more efficient than a CPMM hyperbola, more forgiving than a CSMM line. Gyroscope 2-CLP.

Cooperative Behavior

Extraction that shares value back: back-running without harming the preceding transaction, liquidations, rebalancing arbitrage, donate() raising the liquidity index for every holder. It improves price discovery at no net LP cost, unlike adversarial behavior.

Collateral

Assets backing an obligation; the ratio of the two sets solvency. In a pool the reserves back LP liabilities and coverage ratio is the measurement, with over- and under-collateralized the two states either side of 100%.

Confidence (CI)

Per-asset 1σ uncertainty in bps pushed alongside the mark (confidenceBps). It is the only channel through which oracle uncertainty reaches pricing: it widens the symmetric spread by Uconf and halts quoting past MAX_CONFIDENCE_HALT_BPS; deviation bands never feed the spread.

Coverage Ratio

reserves / liabilities per leg: how much token the pool holds per unit of LP claim. It drives the mid through inventory skew, bounds a same-asset exit at face · min(c, C) (haircut), and sets the convex coverage toll on a drained leg.

StateEffect
c = 1zero skew, symmetric pricing
c < 1undercollateralized: positive skew offset, in-kind exit capped at c
c > 1overcollateralized: negative skew offset, discount to rebalancing flow

Skew saturates at c ≤ 0.5 (+100) and c ≥ 2.0 (-100), hardcoded in computeInventorySkew with no per-asset dial. Deep dive: Inventory Management.

Coverage Impact

The direction a trade pushes a leg’s coverage: improving or worsening. Worsening flow pays the skew-driven mid shift and the κ wall on the same size (Pool §3.4).

Est. Coverage Impact

Quote-time signed delta of that ratio for a pending size, computed off reserves and liabilities without executing. Negative means the trade degrades the leg and lowers the in-kind exit bound (haircut); see Pool §5.4.

Coverage Wall

The convex κ_cov shape that makes draining an already under-covered leg progressively expensive, so depth saturation cannot be used to empty a leg. The charge it produces is the coverage toll (Inventory Management §6).

Coverage Toll

The κ_cov wall: a convex charge in bps of gross output when a swap drains a leg below par (covToll, charged before the fee haircut). Zero at κ = 0 or on coverage-improving flow, growing with size; with the skew offset it composes the Net Premium and is never part of the fee.


D

Delegatecall

Executes another contract’s code in the caller’s storage context. In AIMM it is confined to a Pool calling its four linked libraries; every call between distinct contracts is a normal external call, with no diamond or facet pattern.

Depeg Band / Depeg Halt

Halt-only agreement check between two attestations of the same price, not a peg test. Every non-base asset carries refFeedId/refBandBps (zero reverts NotConfigured); a breach reverts PriceOutsideRefBand, and a base-token breach reverts BaseDepegged and halts the hub (Flow Guards).

Deviation (Oracle)

Two senses. Push trigger: the per-asset band θ past which the keeper pushes early. Push clamp: maxDeviationBps, a mandatory non-zero per-feed bound on how far one push may move the mark, volatility-adaptive, capped at 10× base, revert on breach. Neither reaches the spread; only confidence does (Oracle Keeper).

Density Median

The single x at which a centered depth curve quotes zero offset, stored in the curve header and used as the zero-skew anchor by PricingLib._skewToDepth (Liquidity Shaping §5.1).

Depth Denominator

The leg’s raw reserves, the divisor turning a trade size into a fraction of the spline x-domain. Coverage-independent, so coverage never scales price impact (Inventory Management §4).

Dispersion

Width of the price range depth is spread over, also called range breadth. It scales with σ at a per-asset sensitivity set by vega, under a per-preset cap at the write and a protocol ceiling (Liquidity Shaping).

Dual ledger (pool hooks)

Reserves split R=Rliq+Rinv: pricing and coverage use R, executable cash is Rliq. YieldHook targets ~65% invested with ±5% hysteresis so typical swaps stay on the liquid path; yield accrues via hookCreditYield, losses via hookWriteDown (Pool Hooks).


E

ECDSA (Elliptic Curve Digital Signature Algorithm)

Elliptic-curve signature scheme; Ethereum signs transactions with it over secp256k1.

EOA (Externally Owned Account)

Account controlled by a private key rather than contract code. It can initiate transactions but not execute arbitrary code; EIP-4337 and EIP-7702 blur the line.

EIP (Ethereum Improvement Proposal)

Numbered, peer-reviewed proposal covering core protocol, interface or meta changes. Every ERC is an EIP; not every EIP is an ERC.

EIP-712 (Typed Structured Data Hashing and Signing)

Hashing and signing of typed structured data, so a signer sees domain, types and values instead of opaque hex and a signature cannot be replayed across domains. Used by ERC-2612, ERC-3009 and the oracle push digest (Quorum).

EIP-1153 (Transient Storage)

Transaction-scoped storage cleared at transaction end. AIMM uses it for reentrancy guards and mark caching, saving ~2,100 gas per hit against persistent storage.

ERC (Ethereum Request for Comment)

Application-level subset of the EIP process: token, vault and interface standards. Tokens ERC-20/721/1155, extensions ERC-2612/3009/3156, vaults ERC-4626/7540, crosschain ERC-7802.

ERC-20 (Token Standard)

Fungible token interface: transfer, approve, balanceOf. The base for stablecoins, governance and utility tokens.

ERC-2612 (ERC-20 Permit)

Adds permit() so an EIP-712 signature replaces a separate approval transaction.

ERC-3009 (Transfer with Authorization)

Single-transaction transfers authorised by an off-chain EIP-712 signature.

ERC-3156 (Flash Loan Standard)

IERC3156FlashLender and IERC3156FlashBorrower, unifying the incompatible Aave and dYdX interfaces. AIMM implements it (Flash Loan, Flash).

ERC-4626 (Yield-Bearing Vault Standard)

Tokenized-vault interface standardising deposit, withdrawal and share mechanics for lending pools and yield aggregators.


F

Feed (Oracle)

Per-asset record holding the keeper mark and its risk metadata: mark, σ, push timestamp, TTL, 1σ confidence, flags, per-push maxDeviationBps and the signed source time, written on θ or heartbeat. σ is stored as signed, floored each push at the realized |Δmark|/mark; there is no on-chain σ-EMA (Internal Oracle, Oracle Keeper).

Face

A liability amount booked at par in the leg’s liability book, distinct from the tokens paid out. LP claims are held in face and converted at the pool rate on exit (Inventory Management §5).

Faucet Twin

An 18-decimal mintable mock of an official 6-decimal token (USDC.b, EURC.b), used as the routing hub on testnet (Asset Registry).

Flash Loan

Uncollateralized loan repaid inside the same transaction or the whole transaction reverts, standardised by ERC-3156. AIMM charges flashFeePbps.

Finality

The point past which a transaction cannot be reorganised. BFT-style finality needs <1/3 Byzantine stake, Nakamoto-style <50% hashpower or stake.

TypeGuaranteeTimeExamples
ProbabilisticReorg probability falls with depthMinutes to hoursBitcoin PoW, Ouroboros
EconomicReorg burns slashable stake~10-15 minGasper (Ethereum)
DeterministicCannot revertSecondsTendermint, HotStuff
Soft (L2)Sequencer-guaranteedInstantArbitrum, Base pre-batch
Hard (L2)L1-finalized batch10-30 minArbitrum, Base post-batch

FCFS / FIFO (First-Come-First-Served / First-In-First-Out)

Ordering by arrival at the sequencer, used by early rollups to avoid explicit MEV auctions. It still loses to latency games, which is why chains moved to priority fees or auctions (Timeboost, Gas Auction, Price-Time Priority).

Flow Guard

Protection against an illegitimate sequence of calls, scoped to a transaction, a block or an epoch.

TypeScopeAIMM implementation
Reentrancy GuardTransactionTransient storage (EIP-1153)
Time-based cooldownBlock/epoch15 s DEFAULT_FLOW_COOLDOWN, hard cap 300 s MAX_FLOW_COOLDOWN
Circuit BreakerEpochHalt bits, depeg bands, confidence halt

The deposit-to-withdraw cooldown is what blocks JIT: LPToken.mint freezes the minted quantity in locks[holder] and _beforeTokenTransfer bounds outflow by balance - frozen until it elapses. Settable per pool via Admin.setFlowCooldown (Flow Guards).


G

Gamma (γ)

Four unrelated quantities share the symbol, none an AIMM config field: Avellaneda-Stoikov risk aversion in r=s-qγσ2τ (A-S), Curve V2’s concentration parameter, options gamma (the convexity a CL LP is short), and the contention discount γc[0.5,1] in the shared-inventory model (Foundations).

Gas Auction

L1 ordering by priority fee: an implicit auction for block space that searchers bid up to land ahead of a victim. MEV-protected RPCs exist to bypass it; contrast FCFS, Timeboost, Price-Time Priority.

Gas Optimization

Transient caching (2,100 gas per hit), packed structs for single-slot reads, and anchor-tree path resolution bounded at MAX_DEPTH = 4 (≤ 8 legs, no path caching).

Grace Period

Two windows share the name. Timelock grace: 7 days after a timelocked op matures, past which it expires (Admin). Oracle grace: g=min(ttl/2,30s), inside which Ustale is exactly zero (Oracle Keeper).


H

Half-Spread

One side of the spread: mid to bid or mid to ask. A taker pays exactly one half-spread per swap, taken off the output (PricingLib._settleQuote); the round trip is two (Spread & Fees §1).

Bid Spread

The paid spread on the sell side: mid down to the price the taker sells at. One half-spread plus any binding staleness and confidence surcharge, plus the output-side coverage toll when the swap drains the leg (Spread & Fees §3).

Ask Spread

The mirror of the bid spread above the mid, same composition. The two sides meet at the mid only at par coverage with no toll binding.

Half-Swing (H)

Half the peak-to-peak price offset a depth curve spans, evaluated at the fit’s reference dispersion dispRefPbps. The ratio H/dispRef sets a preset’s width at quote time (Liquidity Shaping §4.3).

Haircut

face - amount when positive, from previewWithdraw and LiabilitySwapped. There is no per-leg formula: every exit settles at the pool rate C = Σ R·m / Σ L·m, a cross exit converting face · C and a same-asset exit paying face · min(c, C), so with c and C above 1 the haircut is 0 (Inventory Management §5).

Heartbeat

Maximum interval between mark pushes when θ has not been crossed; whichever fires first triggers the push. A missed heartbeat widens the spread past the grace period and stops quoting past the feed’s TTL.

Hub

The intermediary asset of a BTR core, its base token. Cross-pool routing always takes the hub out of the source pool, so the hub carries a mandatory κ wall like any listed asset (Deployments).

Hooks

Per-asset void callbacks on IPoolHooks (preOutflow, optional postInflow, flags HOOK_PRE_OUTFLOW / HOOK_POST_INFLOW) plus the dual ledger. Both return nothing, so a hook can never override a fee or alter a quote (Pool Hooks).


I

Impermanent Loss (IL)

The gap between holding an LP position and holding the underlying tokens when prices diverge; it closes if prices revert, which is why it is impermanent. Compare LVR, which does not close.

Insurance Fund

Protocol-held buffer that receives the deleveraging penalty and absorbs bad debt before it is socialised to LPs (Total Return Swaps).

Interior Leg

A leg of an anchor path whose child is neither endpoint: priced at mid with skew, no spline impact, no reserve change (Anchor Path Pricing).

Interior Fence

Per-quote fee floor on an interior leg, Fi=wi·PBPS/(PBPS-w¯/2), sized off that leg’s own live mid swing. It caps mid-manipulation profit on a multi-hop route and closes route-dependent price inconsistency on one edge (Invariants).

Internal Price Discovery

Per-asset oracle mode. EXTERNAL (0) reads IOracle(primary).getFeed from an on-chain adapter or a signed mark push and covers almost every asset. INTERNAL (1) is the synthetic par helper FeedMathLib.getPegFeed fixed at 1.0, for cash-collateralized 1:1 tokens only, with the reference feed as the breaker; the base asset cannot use it and there is no reserve TWAP (Curation §3.2).

Invariant

The constraint defining a reserve-priced curve: CPMM x·y = k, CSMM x + y = k, CFMM F(x₁,…,xₙ) = k, StableSwap. AIMM has none: price comes from the mark and the depth spline (Invariants).

Inventory Skew

Mid displacement as a fixed protocol law of coverage alone, with no per-asset parameter (computeInventorySkew), derived from the A-S reservation price.

ψ(c)=-100L=0+100c1/2+200(1-c)1/2<c<1(drainingarm)-100(c-1)1c<2(fillingarm)-100c2

The arms are deliberately asymmetric and the saturation points are constants. It moves the mid, never the spread, and it is not an adverse-selection defense: at c1 it is zero, so the first pick-off is untaxed, and it rewards coverage-improving flow even when that flow is informed. Why those slopes: Inventory Management §3.


K

Kappa (κ_cov)

Strength of the coverage wall, kappaCovBps, priced into a swap’s output when that output drains the delivering leg. Output-only, so returning inventory is never tolled; every listed asset including the hub carries κ in [50, 10000] and a spoke never exceeds its hub (Invariants §I-9).

Knot (Spline)

Breakpoint on the cumulative-depth axis where segments join. Strictly increasing interior knots, ≤ 14 segments; at degree 4 with simple knots the density is C2 at every knot. Shape comes from nondecreasing weights, not per-knot offsets (Quartic I-Spline).


L

LCA (Least Common Ancestor)

The deepest anchor-tree node ancestral to both swap endpoints, and the turning point of the path: up from the input, down to the output. It is not necessarily the base; USDT -> DAI turns at USDC in a BTC-based pool and never touches the BTC mark.

Liabilities

LP claims against pool reserves, Asset.liabilities beside Asset.reserves, both uint128. Their ratio is the coverage ratio.

Debt Swap / Liability Swap

Pool.swapLiability re-denominates an LP claim from one leg to another without leaving the pool: shares burn on the leg in, mint on the leg out, and no reserves move. It pays the same coverage toll as an ordinary swap, so a round trip is loss-making, both legs need the liability-swap flag, and the flow cooldown applies (Liability Swaps).

Liquidity Index

liquidityIndexWad, the accrued multiplier that turns fee income into LP value. Updated on interaction; donate() raises it for every holder.

Liquidity Provider (LP)

Supplies quotes or inventory, through limit orders in a CLOB or deposits into an AMM, earning spread and fees net of adverse selection and rebalancing cost. Risks: IL, LVR, order flow toxicity. Compare Market Maker, Liquidity Taker.

Liquidity Taker

Executes immediately against resting liquidity, hitting a bid or lifting an offer in a CLOB or swapping against a pool. Pays the spread and price impact.

Liquidity Profile

Pool-level quartic I-spline depth curve setting price impact and concentration. Each asset points into a shared preset table via presetId, so re-pointing (UPDATE_PROFILE) is the cheap frequent op and writing a curve (UPDATE_CURVE) the rare one; live quotes scale by dispersion / dispRefPbps and no asset lists without a curve (Liquidity Shaping).

Liquidity Shaping

Adjusting that profile in response to market conditions: dispersion scales live, preset refit and repoint run under timelock. Unlike a fixed bonding curve, it rebalances depth without touching an invariant.

Bonding Curve

Fixed function tying supply to price: CPMM hyperbola, CSMM line, StableSwap near peg. AIMM replaces it with a liquidity profile whose width responds to volatility through dispersion.

Liquidity Bootstrapping Pool (LBP)

Launch pool whose weights start skewed toward the existing asset (95/5) and decay toward parity, making the new token cheaper over time and blocking whale accumulation at the launch price. Time-weighted liquidity shaping applied to price discovery.

Liquidity Range

The price interval an LP’s concentrated liquidity sits in: a set of ticks behaving as a continuous local CPMM, or a set of bins each behaving as a discrete CSMM. Tighter range means more leverage, more rebalancing and more out-of-range risk.

Liquidity Book

Trader Joe’s DLMM implementation: discrete bins, positions fungible per bin, fees responding to volatility and bin utilization. Ported by Meteora, Cetus and Saros.

LP Token

Fungible claim on deposited liquidity. AIMM tracks per-user, per-asset balances rather than pool-wide shares, and LPToken carries the flow-guard freeze.

LVR (Loss Versus Rebalancing)

The loss from holding a position through a price move versus continuously rebalancing at market, measured at 5-7% of LP capital annually on reserve-priced AMMs. Unlike IL it is permanent: the loss stands even if price reverts.

L=Vrebalanced-Vposition,L˙σ28Lactive

The rate form holds for a classical CFMM centred on a stale reserve-implied price. A fresh keeper mark removes curve-staleness LVR, not adverse selection: what remains is push-latency LVR between pushes, bounded in intent by θ, the heartbeat and minFeePbps, and distinct from OEV. Nothing rebates it (Oracle Keeper).


M

Market Making

Posting firm two-sided quotes continuously and earning the spread plus rebates, manually on a CLOB or algorithmically in an AMM.

Market Maker

The participant doing that, bearing inventory risk and adverse selection cost. The AMM equivalent is the liquidity provider.

Maker-Taker Fees

Schedule rebating makers and charging takers, to incentivise passive liquidity. AIMM does not run one: the fee is half the spread, paid by the taker on the output.

Moving Average

Rolling-window smoothing. AIMM runs none on-chain: the keeper aggregates a time-decaying volume-weighted mid off-chain and the chain quotes that raw mark, so there is no price EMA and no TWAP accumulator.

TypeWeightingResponseAIMM use
SMAEqualSlownone
EMAExponential decayFastoff-chain volatility tracking at the source
LWMALinear decayMediumnone
TWAPTime-weightedWindow-dependentoff-chain keeper aggregation only

EMA (Exponential Moving Average)

EMAt=EMAt-1+α(xt-EMAt-1), weighting recent data by exponential decay. Used only at the keeper source, for σ.

LWMA (Linear Weighted Moving Average)

Linearly decaying weights, responsiveness between an SMA and an EMA.

SMA (Simple Moving Average)

Arithmetic mean over a fixed window, every point equal: smoothest and slowest, no decay bias.

TWAP (Time-Weighted Average Price)

TWAP=1T0TPtdt, mathematically an SMA and manipulation-resistant because an attacker must hold the manipulated price for the window. AIMM stores no cumulative price × time and writes nothing per swap; off-chain charts rebuild TWAPs from Swapped events (Internal Price Discovery).

MEV (Maximal/Miner Extractable Value)

Profit available to whoever controls ordering, inclusion or suppression inside a block. Extraction types differ in externality: front-running harmful, sandwich most harmful, back-running benign, spoofing encrypted-mempool specific. Executed by searchers through builders.

MEV Strategies

Front-running

Landing a transaction ahead of an observed pending one to profit from its price impact, at the victim’s expense. Block-ordering analogue of informed order flow.

Back-running

Landing immediately after another transaction to capture the move it caused. Benign: stat arb at block granularity, common in liquidations and DEX arbitrage.

Sandwich Attack

A front-run and a back-run around one victim trade, moving the price against it and unwinding after. The most damaging MEV strategy for DEX users, since the adverse move is deliberate.

JIT (Just-In-Time) Liquidity

Adding liquidity atomically before a large swap and removing it after, collecting fees with no price risk. ~1% of Uniswap v3/v4 volume across 1-20 bots; AIMM’s flow guard blocks it by making the round trip non-atomic.

MEV Spoofing

Trading on encrypted mempool metadata (size, target) and withholding the decryption key share when the position turns out unfavourable, consuming block space without committing. Mitigated by non-decryption penalties and permutation schemes.

Greasing

Submitting transactions that never execute but consume blockspace and fees, extracting from block construction itself. Called block-stuffing when used defensively.

MITCH

The mark provider’s instrument id a feed is signed under, identical on every chain (Asset Registry).

Mempool

Pending-transaction buffer, with architecture varying by chain.

ArchitectureChainsOrdering exposure
Public gossipEthereum L1, BNB ChainAnyone can observe pending flow; classic MEV
Sequencer queueArbitrum, Base, Optimism, OP StackNo public gossip; the sequencer sees everything
Leader forwardingSolana (Gulf Stream)No queryable mempool; the slot leader and Jito order
DAGSui (Narwhal)MEV concentrates on shared-object contention

MEV-Protected RPC

RPC that routes a transaction to a private relay or builder instead of the public mempool, to prevent front-running and sandwiches. Current free and private endpoints: Slippage & Price Impact §4.3.

Research: Private MEV Protection RPCs (CoW DAO), MEV on Polygon, Cross-chain Sandwich Attacks, UniswapX Price Improvement, Protected Order Flow Relay.

Market Making & DeFi Specific Metrics

Liquidity-provision metrics and what each drives in AIMM.

MetricDefinitionAIMM application
Bid-Ask SpreadBest bid to best askWidth set by σ, confidence and staleness, not by coverage
LVRLP loss versus a rebalanced bookWhat the external mark reduces; never rebated
TVLValue held by the protocolAbsolute depth, so execution quality at a given size
VolumeTraded notional per periodFee accrual into liquidityIndexWad

Fee revenue cannot be modelled from a flat rate: the fee is half the path spread on the post-toll output and moves with σ, confidence, staleness and path length.

Total Value Locked (TVL)

TVL=ibi·pi over balances and their marks. Larger TVL means deeper liquidity and lower price impact; a decline is a risk signal.

Volume

Traded notional per period, iamountIni·priceAtSwapi, and the driver of LP fee income. It has to be summed per swap rather than multiplied by a rate (Market Making Metrics); low-volume assets earn too little to offset IL drag.

Monotone Cubic Hermite Interpolation

See Spline and Fritsch-Carlson.


N

Net Premium

App label for the skew offset plus the coverage toll against the mark, with no fee and no price impact. It sits beside Total Cost rather than inside it because it can be negative: coverage-improving flow is paid to rebalance (Slippage & Price Impact).

Native Token

The chain’s own currency, sentinel address 0xEeee...EEeE (EIP-7528). Pools wrap and unwrap it automatically (Wrapped Native).

Nonce

Per-account transaction counter preventing replay and fixing order. Also a proof-of-work parameter and a contract-level uniqueness input.

Order Flow Toxicity

How informative trade flow is against the LP, covering every extraction type in the arbitrage taxonomy. Proxied by VPIN or short-horizon reversion; see Toxic Flow for what AIMM does about it.


O

On-Chain Mark

An EXTERNAL mark read from another chain contract at quote time (Uniswap quoter, PropAMM quote, Chainlink feed) instead of an off-chain push, so the pool has no keeper, quorum or push infrastructure to trust. It inherits the source’s own latency and manipulability: an AMM-pool mark moves only when someone trades against that pool (Oracle Keeper).

Oracle

Where a pool reads each asset’s mark. Modes mix within a pool, and inventory skew sits around whatever the mark says.

TypeSourceUse
EXTERNAL IOracleSigned mark push, Chainlink adapter, Uniswap or vault reader, customDefault
INTERNAL pegFeedMathLib.getPegFeedCash-collateral 1:1 only
Reserve TWAP in-poolPool swapsNot supported; ship an EXTERNAL adapter

The signed-mark path is venues → signed mid → k-of-n push (ExternalOracleV5) → θ or heartbeat. mark1e18 is the sole quote source; σ and confidence ride with it, σ floored at |Δmark|/mark; no on-chain EMA (Oracle Keeper).

OEV (Oracle Extractable Value)

MEV concentrated on the discrete signed push transaction, as opposed to diffuse LVR between pushes. On a public mempool a searcher can front-run the pending move to pick off the stale mark, back-run for first access to the corrected one, or time the heartbeat at zero deviation.

Overlap with LVR, not subset: back-running a correct push can still extract from residual skew or cross-feed incoherence. STALE_Z is zero inside the grace and skew is ambiguous here, so neither is a mitigation (Oracle Keeper).

Overcollateralized

Coverage above 100%: more reserves than liabilities, negative skew offset, saturating at -100 from c ≥ 2.


P

Prices

One object per word. Canonical definitions: Slippage & Price Impact §1.1.

TermWhat it is
markoracle price as attested, in the child’s anchor unit
midthe mark after the inventory shift, at zero volume
skewsigned dimensionless index (int8, [-100, +100]), an input, never a price
skew offsetthe displacement (mid − mark)/mark in bps; a level, cancels on a round trip
price impactcost of traversing the liquidity shape from the skew anchor; one-directional
spreadround-trip fee width, symmetric about the mid
feehalf the spread, charged once on the output (LP Fee, Protocol Fee)
coverage tollconvex charge on a drained output leg; one-directional, charge-only
slippagestochastic gap between quote and fill; a risk, not a pool term

Avellaneda-Stoikov’s reservation price is what this codebase calls the mid. Do not write “premium”: say skew offset for the level, band or surcharge for the width (§1.2).

Bid Price

Highest price a buyer will pay; the best bid is the bid side of the market.

Ask Price

Lowest price a seller will accept; the best ask is the ask side of the market.

Mid-Price

mid=mark×(1+skewOffset): fair value after the inventory adjustment, before the spread, quoted at zero size. Takers never fill at the raw mark.

Execution Price

The VWAP along the spline from the skewed mid, less the output-side fee. The symmetric spread around mid is Svol+Ustale+Uconf.

Fair Value

External reference for the asset. In BTR pools that is the pushed keeper mark, not a pool-derived TWAP.

Mark Price

The level quotes anchor to, not the fill. External: any IOracle, push or on-chain. Internal: cash-collateral par at 1.0 (getPegFeed) with a depeg gate, not for general assets (Internal Oracle).

Index Price

Median or volume-weighted price across several spot venues, used in derivatives to resist single-exchange manipulation when setting a mark.

Price Impact

The cost of trade size: how far the average fill drifts from the mid as the trade sweeps the curve. Distinct from the spread, a width present at zero size, and from slippage, an unexpected quote-to-fill deviation.

In AIMM it is the traverse Γ(q) from the skew-anchored mid plus the coverage toll t(q) on an under-covered output leg, symmetric only at c = 1. The buy-side traverse saturates past the domain clip, so depth alone cannot stop a drain and the toll is what can (Slippage & Price Impact).

Protocol Fee

protocolFee=totalFee·protoSharePct/100, the protocol’s cut of the fee; the rest is the LP fee. Collected by the treasury (Spread & Fees §5).

LP Fee

The remainder after the protocol fee, accruing to LPs through the liquidity index. One of the two rows under Paid Spread in the swap recap.

The half-spread on the side the taker pays, never the full width: the output-side haircut of the path spread, booked as LP and protocol fee and disclosed beside price impact.

Partial Fills

Filling any executable portion immediately and leaving the remainder open. AIMM swaps do not partial-fill: they settle in full or revert on minAmountOut.

PBPS (pico basis points)

The unit every fee, spread, dispersion and curve-offset field is stored in: PBPS = 1,000,000, so 1 pbps = 0.01 bp = 0.0001%. Compare BPS and WAD (Parametrization).

Pool Rate (C)

PoolSolvencyLib.solvency in WAD: mark-valued backed reserves over mark-valued liabilities, C = Σ R·m / Σ L·m. Every LP mint, exit and hook write-down settles at it, which is what makes exits order-independent (Haircut, Inventory Management §5).

Preset (density codebook)

A shared per-pool curve-table entry an asset points at by Asset.presetId instead of owning its own curve. The table quantizes shape while dispersion scales width continuously (Liquidity Shaping §2.2).

PropAMM

Proprietary or “dark” oracle AMM: an on-chain program whose quotes come from a closed off-chain pricing model pushed on-chain at high cadence. Solana cohort: HumidiFi, SolFi, Tessera, Obric, ZeroFi (Foundations).

Price-Time Priority

CLOB matching rule: better prices first, then earlier timestamps at equal price.

Price Discovery

How order flow and competition incorporate information into price.


Q

Quorum (k-of-n Signer Set)

Every pushed batch needs k independent signatures from n attester keys, floored at 2-of-3 on-chain, and a peer countersigns only after re-validating against its own market view. One compromised key cannot move the mark; a compromised quorum is bounded by the per-push deviation clamp, the confidence halt and the depeg bands, and any signer is revocable immediately, which halts pushing rather than loosening it. Signer independence is a deployment property, not a contract guarantee, and Arc currently shares one set (Oracle Keeper).


R

Reentrancy Guard

Transaction-level flow guard blocking recursive entry before state updates complete. AIMM uses EIP-1153 transient storage, saving ~2,100 gas against a persistent slot (Flow Guards).

Rehypothecation (idle farming)

Deploying idle liquidity into a curated strategy (CompoundV2YieldHook into Venus Core) while the pool still prices on full R. Deployment happens on postInflow or the hook’s own rebalance(), never per swap; recall is on Rliq shortfall via preOutflow (dual ledger, Pool Hooks).

Relayer

Service observing events on one chain and submitting them to another, fee-incentivised. For the oracle push relay it holds no signing key, so it is a liveness actor rather than a trusted one (Oracle Keeper).

Reserves

Economic token book of a pool asset (Asset.reserves), updated on deposit, withdrawal, swap and hook yield or write-down. With hooks invested R=Rliq+Rinv (dual ledger): pricing and coverage use R, executable cash is Rliq.

Residual Lag Risk

Oracle-anchored venue term for an on-chain mark trailing the market by more than one round-trip fee. In AIMM it decomposes into push-latency LVR, continuous and bounded in intent by θ, heartbeat and minFeePbps, and OEV, discrete and concentrated on the push transaction.

Risk Config

Per-asset safety state in Asset slot 2: flags (feature, halt and depositor-gate bits), kappaCovBps, depositCapCode (m<<4|e = m·10^e whole base tokens) and maxLiabWeightBps. Tightening is instant (setRiskConfigTighten, raiseKappa); any other direction is a queued UPDATE_RISK at the TUNING tier (Pool §8).

Price-shaping fields live on Asset instead: minFeePbps, vegaBps, minLiquidity, presetId and the dispersion band. Neither struct dials skew, a fixed law, nor the price-impact denominator, the leg’s raw reserves.

Risk Steward

Bounded key that may move risk parameters instantly, with no timelock, inside on-chain RiskFences set by the owner. It can tighten freely and widen only within the fence (Risk Steward).

RFQ (Request for Quote)

Execution model where a taker asks a maker or solver for a signed quote priced off-chain, rather than trading against a public curve (Foundations).

RPC (Remote Procedure Call)

The interface between applications and a chain node: transaction submission, balance and block queries, contract calls. See MEV-Protected RPC.


S

MEV Searcher

Independent operator hunting MEV, building bundles and submitting them to builders or relays. Searchers span the whole extraction taxonomy, harmful and benign alike.

Sequencer

Rollup leader that receives transactions, fixes their order, executes them and posts batches to L1. It gives soft finality instantly and hard finality at batch commitment (Finality), and it is the single point of both ordering power and censorship risk.

Ordering differs per chain: Arbitrum moved from FCFS to Timeboost auctions, Optimism and Base run FCFS plus priority fee. Decentralized sequencer sets are on most roadmaps.

Skew

See Inventory Skew.

Slippage

The gap between the quoted price and the fill, from market movement, third-party MEV, or the pool moving under the quote: an intervening swap shifts the curve, a keeper pushes a new mark or an old one goes stale, or the coverage wall reprices. It is not price impact, which is deterministic in trade size and quoted in advance in SwapQuote.

Enforcement is a revert, never a partial fill: the taker sets minAmountOut and a short fill costs only gas.

if (finalAmountOut < minAmountOut) revert ThresholdViolation(finalAmountOut, minAmountOut);

The swap UI offers two allowances: fixed, the default, an absolute percentage defaulting to 0.5% on a 1-2-5 ladder; and auto, labelled “Spread based”, a percentage of the live round-trip spread defaulting to 50% and clamped to [10, 300] (Swapping §4).

Staleness Surcharge

The Ustale term of the spread, zστ/BPS with z=472, charged per leg once a feed passes its grace window and exactly zero inside it (Spread & Fees).

Spoke

Any non-base listed asset, anchored to a parent at most MAX_DEPTH = 4 edges from the root (Anchor Tree). Each spoke keeps its own inventory, coverage, feed and risk preset; only the base-relative mark and per-leg premiums are shared.

Monotonicity

A function that never reverses direction over its domain. Depth must be monotone in price offset: a dip, a shallower zone between two deeper ones, implies negative marginal liquidity and opens internal arbitrage (Quartic I-Spline).

Linearity

Superposition, f(ax + by) = af(x) + bf(y). It does not hold for pool pricing: depth reshapes the curve, so cost is non-linear in size (Price Impact).

Normalization

Scaling to a fixed range, xnorm=x-min(x)max(x)-min(x)[0,1], preserving distribution shape. Order size is normalized against pool depth so pricing compares across assets; contrast Standardization, which centres instead of bounding.

Standardization

Transform to mean 0 and standard deviation 1, Z=X-μσ, producing Z-scores comparable across scales. See Normalization, Volatility.

Density Analysis

Measuring where observations cluster on an axis. AIMM’s depth placement is volatility-driven, not volume-driven: the curator picks the preset shape, and dispersion κ=minDispersionPbps+σ·ν/BPS widens the band as realized σ rises. No on-chain volume accumulator feeds knot placement (TWAP).

Spread

Best bid to best ask: the round-trip cost and a liquidity measure. In AIMM SwapQuote.spreadPbps is a width about the mid, not a cost total and not a fee; one swap pays half of it, once, on the post-toll output (PricingLib._settleQuote), so minFeePbps floors the spread rather than the fee.

S=Svol+Ustale+Uconf

It is symmetric and carries no coverage or deviation term: coverage moves the mid through inventory skew instead. It has no upper bound, deliberately, since a cap would sell an underpriced quote and break path additivity; trader protection is minAmountOut and the uint16 saturation of spreadPbps is a field width. Spread is not total cost (Spread & Fees).

Spline

Piecewise polynomial through control points (knots), avoiding the global oscillation of one high-degree polynomial. AIMM uses one for the liquidity profile; the shipped curve is the quartic I-spline and the rejected alternatives are below (Liquidity Shaping).

Quartic I-Spline (Clamped)

The canonical AIMM curve (NUQuarticLib.sol): a clamped quartic B-spline with nondecreasing control weights, making it the monotone integral of a nonnegative density. Monotonicity is a linear coefficient constraint checked exactly on-chain, and simple interior knots at degree 4 give C2 density at every knot.

Packing is 1 header slot (interior segment directory, density median, dispRefPbps, flags) plus 2 slots per segment, ≤ 14 segments, the last boundary being the constant BPS and unstored. Eval costs 3 cold SLOADs (5.4k gas); the exact O(1) range integral for VWAP costs 5 (11.2k gas). Live quotes scale linearly by dispersion/dispRefPbps, preserving both properties.

Fritsch-Carlson Monotone Cubic Hermite Interpolation

Cubic Hermite with monotonicity from Fritsch & Carlson 1980 (SIAM J. Numer. Anal. 17(2)): sign-preserving averaged-secant tangents plus the α² + β² ≤ 9 clamp. Rejected for AIMM: C1 only, and the asymmetric clamp risks a value discontinuity in the density at knots.

Makima Spline

Modified-Akima cubic using weighted neighbouring slopes to limit oscillation on monotone data. Rejected: C1 only and monotonicity not guaranteed exactly, where the quartic I-spline gives both exactly.


T

Theta (θ)

Per-asset deviation band that triggers an early mark push: cross it and the keeper pushes before the heartbeat elapses. Distinct from maxDeviationBps, the clamp on how far one push may move the mark (Deviation); tighter θ cuts push-latency LVR at higher push cost.

Tick

Discrete price point in CLMM designs. AIMM has none: depth is continuous through the spline.

Timeboost

Arbitrum’s express-lane auction, launched late 2024: searchers bid for priority inclusion, proceeds go to the DAO treasury, and everything else still runs FCFS behind it. It captures MEV explicitly rather than leaking it to latency games (Sequencer).

Timelock

Delay before a sensitive operation may execute, three tiers under ConstantsLib.sol production delays. De-risking (halt, tighten, cancel, κ raise) is instant on every tier, and testnet runs a compressed 6h/2h/1h schedule.

TierDelayCovers
GOVERNANCE7 dayspool / Admin / Flash implementation swaps, AccessControl role and factory rotation, treasury, sweep, base-token migration, re-anchor, roster backfill, GEN-1 seat handover
LISTING1 dayadd asset, curves, hooks, oracle implementation upgrade, signer roster, guardian / risk-steward grants
TUNING1 hourrisk config, profiles, fees, weakening asset params

See Access Control.

Toxic Flow

Order flow toxicity as the pool experiences it: unidirectional, led by CEX prices, extracting even when price reverts. AIMM’s defense is the fresh mark plus the σ band and the confidence and staleness surcharges in the spread, never inventory skew, which manages inventory rather than toxicity.

Total Return Swap

The full economic return of an asset, price change plus carry, delivered to a party that does not hold it. On BTR it is built from swapLiability (Total Return Swaps).

Transient Storage

See EIP-1153.

Total Cost

What a taker pays above the mid: Paid Spread + Price Impact, printed as one expandable row with those two details and with Net Premium outside it. The fill is formally a product, exec/mark=Pskew·Γ(q)·(1-t(q))·(1-s/2), where impact proper is Γ(q) plus t(q) on an under-covered output leg (Slippage & Price Impact).

Treasury

Protocol-controlled address that collects accrued protocol fees and nothing else. Rotating it runs through the GOVERNANCE tier, so it can be vetoed while pending.


U

Undercollateralized

Coverage below 100%: positive skew offset, same-asset exits capped in kind at the leg’s c, and the convex κ wall on any swap draining it further. Recovery is priced, never rewritten by a background process, and a leg under par is not itself an LP loss since claims settle at the pool rate (Haircut).

UUPS (Universal Upgradeable Proxy Standard)

Upgrade pattern where the logic contract holds the upgrade function. Admin and Flash are UUPS behind ERC-1967 proxies gated by UpgradeGate at the GOVERNANCE tier; the pool fleet is not UUPS and upgrades through the PoolFactory beacon (Admin).


V

Vega (ν)

Per-asset volatility sensitivity feeding both the base spread and dispersion. Live values are per class: ν=10,000 on stable legs and every pool’s hub, 4,500 metals, 4,000 crypto majors, 3,500 equities, 3,000 FX, with vegaHardMinBps = 5{,}000 and vegaHardMaxBps = 20{,}000 as fences enforced at the write, not a preset menu.

In PricingLib.sol: sVol = minFeePath + σ × vegaBps / (100 × BPS) in _pathSpread, and dispersion = min(minDispersionPbps + σ × vega / BPS, MAX_DISPERSION_PBPS) in _calculateDispersion. Higher vega widens spreads and concentrates depth as σ spikes (Parametrization).

VCR (Volume Capital Ratio)

Expected 24h volume at a given average slippage divided by venue TVL: the capital-efficiency metric used in Foundations §18.1.

Volatility (σ)

Price variability, computed off-chain only: the mark provider aggregates a 30-minute Parkinson range estimate and pushes one sigmaPbps per feed alongside the mark, into the oracle’s σ lane. No estimator runs in-pool (Internal Price Discovery, Foundations).

VWAP (Volume-Weighted Average Price)

In AIMM, the average price of a swap over the depth it traverses: the spline integral over the swept interval divided by its width, O(1) in trade size thanks to stored prefix integrals. The depth ladder quotes it per rung; an order past the ladder’s remaining capacity shows the capacity edge, which is not a fillable price (Price Impact).


W

WAD

Fixed-point unit of 1e18, used for coverage ratios, prices and high-precision percentages. Compare BPS and pbps.

Wrapped Native

ERC-20 form of the chain’s native token, WETH for ETH. Pools wrap and unwrap automatically.

Weight (Spline)

Control weight of the quartic I-spline (wQ, pbps·Q). Nondecreasing weights (Δw ≥ 0) guarantee a monotone depth curve and set where density concentrates; validated on-chain at every curve install.