Skip to main content

Glossary

Accumulated rate

The per-second interest-accrual factor on a branch, maintained by InterestEngine. Each trove stores a normalized debt and a snapshot of this accumulator; actual current debt is normalized × accumulated rate. See Interest model.

Aggregator

The singleton contract that coordinates across branches: routes redemptions, runs drips, enforces issuance quotas, tracks per-branch debt EMAs, sets delta-rate offsets. See Architecture.

ActivePool

The per-branch custody contract for collateral backing active troves. Each branch has two: one for unshielded troves (ActivePool) and one for shielded (ActiveShieldedPool).

Base trove / unshielded trove

A trove not opted into the shield. Sits in the unshielded sorted list and is exposed to redemption. Pays the branch rate adjusted by a shield-share discount funded by the shielded book, zero when no troves on the branch are shielded, larger when shielded share is high. See The shield.

Baton

The control-loop concept in RateParControl: at any moment, exactly one of rate or par is "active" (has the baton). Switching is gated by dwell timers (24h to enter PAR mode, 12h to exit). See Peg & PI controller.

Bootstrap period

The 14-day window after deployment during which redemptions are disabled. Borrowing, repaying, depositing, and liquidations all work normally. Defined by BOOTSTRAP_PERIOD = 14 days on Aggregator.

BPT

Balancer Pool Token. The receipt token you get for providing liquidity to a Balancer pool. The protocol's LP staking accepts the BPT of its curated RD pool. See LP staking.

Branch

A per-collateral instance of the trove/pool stack: WETH branch, wstETH branch, rETH branch, etc. Each branch has its own pools, sorted lists, oracle, and risk parameters.

CCR

Critical collateral ratio. When a branch's TCR drops below CCR, the branch enters recovery mode. Typical: 150%. Per-branch parameter.

CompositePriceFeed

The abstract base for derivative-asset price feeds (LSTs, WBTC). Combines a Chainlink ETH/USD (or BTC/USD) feed with a canonical rate to produce the derivative's USD price.

Debt-utilization EMA

An exponential moving average of branch debt with 72-hour half-life, maintained per branch by the Aggregator. Used as input to the controller that sets the branch's delta-rate offset, and as the weight in the cross-branch redemption basket.

Delta-rate offset

A per-branch additive offset added to the singleton system rate to produce that branch's effective borrow rate. Driven by the branch's debt-utilization error.

Drip

The periodic act of folding accrued interest into branch debt accumulators and routing accumulated fees. Per-branch via TroveManager.drip() or InterestEngine.drip(); cross-branch via Aggregator.dripAll(). Paid as a keeper reward up to DRIP_MAX_REWARD = 425 RD.

FEE

The protocol's primary value-capture token. Distributed to Stability Pool depositors, LP stakers, and FEE stakers from protocol activity. FEE stakers earn RD from borrow interest. (Redemption fees are retained by the redeemed trove and do not flow to stakers.) See FEE staking.

FLX

A separate token, distributed independently of FEE. FLX stakers earn FEE on a one-year linear stream from FLXStaking. See FLX staking.

Gas compensation reserve

The 200 RD per trove that the protocol holds in GasPool for the duration of the trove. Paid to the liquidator on liquidation; refunded to the borrower on clean close. RD_GAS_COMPENSATION = 200e18.

ICR

Individual collateral ratio. For a single trove: collateral_value_in_USD / debt_in_RD. Must be at or above MCR to avoid liquidation.

Kickback rate

The fraction (in [0, 1]) of a tagged Stability Pool depositor's FEE rewards that flows to the depositor. The remaining 1 − kickback_rate flows to the front-end operator. Set permanently when the front end registers. See Front-end operators.

Liquidation penalty

The multiplier applied to debt value when seizing collateral on liquidation. Two variants:

  • _LIQUIDATION_PENALTY, used in SP offset (typical 105%).
  • _LIQUIDATION_PENALTY_REDIST, used in redistribution (typical 110%).

Liquity v1

The protocol RAI Dollar started as a fork of. See Comparison with Liquity.

MarketOracle

The singleton Balancer-hook TWAP/TWAL oracle of RD/USD market price. Reads finalized observations (≥ 60s old) and provides input to RateParControl. See Oracles.

MCR

Minimum collateral ratio. A trove with ICR below MCR is liquidatable. Typical: 110%. Per-branch parameter.

MinTrove

Helper contract that opens a trove at exactly MIN_NET_DEBT + RD_GAS_COMPENSATION = 2,000 RD debt and ICR = MCR. The minimum-size shortcut.

MIN_NET_DEBT

1,800 RD. The minimum net (excluding gas comp) debt a trove can hold. With the 200 RD gas-comp reserve, the minimum total trove debt is 2,000 RD.

Mini-dwarf

A trove that has fallen below the practical clean-up threshold due to redistribution. Mini-dwarfs are skipped by redemption walks and swept on contact.

NICR

Normalized individual collateral ratio. The sorted-trove list is ordered by NICR, which makes inserts/removes O(1) given correct hints. NICR is ICR rescaled to ignore branch par drift.

Par

The protocol's internal price for RD, used by redemption. Normally exactly $1.00. Under sustained stress the controller can adjust par within $0.85–$1.20 (max delta $0.001/hour) to make arbitrage more attractive and drive market RD back to $1. RD's target is always $1; par is a stress-response lever, not a target. See How RD stays near $1.

PriceFeed

The per-branch collateral USD price feed. Chainlink primary, with composite logic for LSTs and WBTC, plus state-machine fallback to last-good price on oracle failure. See Oracles.

RateParControl

The singleton split-range PI controller that produces the system rate and par. Two baton modes (RATE / PAR) with dwell-gated switching. See Peg & PI controller.

RD_GAS_COMPENSATION

200 RD. The fixed amount the protocol reserves per trove for the eventual liquidator.

RD

The protocol's stablecoin. ERC-20, 18 decimals. Minted only by authorized protocol contracts; backed by overcollateralized trove debt at typically ≥110%.

Recovery mode

The state of a branch when its TCR falls below CCR. Liquidations widen to include any trove with ICR < TCR; new opens must clear ICR ≥ CCR. Self-clearing, ends when TCR rises above CCR. See Liquidations & Recovery Mode.

Redemption

The mechanism by which any RD holder can exchange RD for collateral at par minus a fee. Cross-branch, weighted by branch unshielded-debt EMAs. See Redemption.

Redemption fee

The collateral-denominated fee on redemption. Per-branch parameter; bounded [MIN_REDEMPTION_FEE = 0.5%, MAX_REDEMPTION_FEE = 2.5%].

Redemption quota

The token-bucket quota the Aggregator maintains on system-wide redemption. Refills with time. Read via Aggregator.redemptionQuotaAvailable().

SCR

Shutdown collateral ratio. When a branch's TCR falls below SCR, the branch becomes shutdownable via BorrowerOperations.shutdown(). Typical: 110%. Per-branch parameter; must satisfy SCR ≥ MCR.

Shield / shielded trove

An opt-in flag on a trove that moves it into the branch's separate shielded book. Shielded troves are never redeemed against in normal operation. The only path that touches them is a full branch shutdown. In exchange, shielded troves pay a higher borrow rate. See The shield.

Shutdown discount

The price multiplier applied to redemptions on a shutdown branch. Decays linearly from BASE_DISCOUNT = 2% to a max value over a defined window:

  • TCR-below-SCR: max 4% over 1 day.
  • Oracle failure: max ~99.9999% over 14 days.

SortedTroves

The doubly-linked list of troves on a branch, ordered by NICR. Two per branch: one for unshielded, one for shielded.

Stability Pool

The per-branch pool of RD that absorbs undercollateralized debt on liquidation. Depositors receive a pro-rata slice of liquidated collateral plus FEE emissions. See Stability Pool.

System rate

The per-second rate output of RateParControl. Same number across all branches. Per-branch effective rate is system_rate + delta_rate_offset.

TCR

Total collateral ratio for a branch: aggregated collateral value / aggregated debt across all troves on that branch. Drives recovery mode and shutdown triggers.

TWAL

Time-weighted average liquidity, as measured by MarketOracle. Used to validate the TWAP, a draining pool produces a noisy TWAP that the controller can downweight.

TWAP

Time-weighted average price. The MarketOracle produces TWAPs of RD/USD over a configurable quotePeriod from a curated Balancer pool, reading only finalized observations (≥ 60s old).

Unshielded debt EMA

A 72-hour-half-life EMA of unshielded trove debt per branch. Used as the weight for that branch in the cross-branch redemption basket on Aggregator.redeemCollateral.