get_sync_data(hub_asset) and listing values with
controller get_spoke_asset(spoke_id, hub_asset). Configuration files describe
intended settings; live views establish
whether a listing is available and which values apply.
Field units use BPS for percentages, WAD for USD values and health factor, and
RAY for rates and indexes. Caps use token base units. See
Numeric scales for conversions.
Market parameters
The pool applies these settings independently for eachHubAssetKey:
Assets below 3 decimals
These markets cannot be borrowable or flash-loanable. Their spoke listings must have zero liquidation fees. A supply position in such a market must be the account’s only supply market. Borrow, indebted withdrawal, and strategy final risk checks require at least two token base units of this collateral while debt remains. At 2 decimals, that means0.02 token, not two whole tokens.
The full rate curve uses base_borrow_rate, slope1, slope2, slope3,
mid_utilization, and optimal_utilization. Their definitions and formulas are
in Interest and revenue.
The pool accrues interest under the old parameters before applying an update.
Spoke asset parameters
Caps apply to ordinary entry. Liquidation Credit seizure can add supply shares
without enforcing supply caps.
Caps belong to the controller’s spoke accounting. The pool enforces market cash,
utilization, and solvency rather than spoke caps. A zero cap permits no new
exposure; it does not mean unlimited.
Halt flags
Each spoke listing has three independent flags:
Global pause is separate. Supply, borrow, and strategy entrypoints are globally
pause-gated. Withdraw, repay, and liquidate bypass global pause but still apply
their listing checks. Bad-debt cleanup bypasses both global pause and listing
halt flags; its price and cleanup-eligibility checks still apply.
The guardian can tighten these flags immediately.
EditAssetInSpoke and the
fast path can only preserve or tighten flags; attempts to clear one return
#317 SpokeAssetFlagRelaxation.
To clear a flag, schedule timelocked RelaxSpokeAssetFlags with the current
get_spoke_asset_flags_epoch value. A stale epoch returns
#319 SpokeFlagsEpochMismatch. Read the epoch again before scheduling a
replacement. See Governance.
Liquidation curve
get_spoke(spoke_id) returns the spoke-wide liquidation settings:
The target guides repayment sizing. The second parameter determines where the
bonus ramp reaches its full scale before the bonus factor and HF-preserving cap.
See Liquidation math.
Validation rules
- LTV must be strictly below the configured liquidation threshold.
liquidation_threshold * (BPS + liquidation_bonus) <= BPS * BPSbounds the configured threshold and bonus pair. Invalid risk pairs return#113.liquidation_feesmust be below 100%. Transfer mode applies a one-base-unit minimum when a positive fee rounds to zero; Credit mode ceils fees in shares. See Seizure and fees.- Caps must be nonnegative and within the token’s decimal domain (
#116). - Rate slopes must be nondecreasing and utilization breakpoints ordered
(
#117–#131). - A listing with nonzero usage cannot be removed (
#309).

