Skip to main content
Risk parameters live in two places. The market carries the rate curve and flash-loan settings. The spoke listing carries everything that decides how much you can borrow and when you get liquidated. Read live values with get_sync_data(hub_asset) on the pool and get_spoke_asset(spoke_id, hub_asset) on the controller. The ranges below are what mainnet uses today, not limits the contracts enforce.

Hub-Level pool params

Spoke-Level asset params

What mainnet uses today

Across the 8 live mainnet spokes: The same asset can carry different numbers in different spokes — that is the point of spokes. USDC is collateral at 7,600 bps LTV on Blue Chip and borrow-only on the RWA spokes.

Spoke liquidation curve

SpokeConfig carries the curve that drives liquidation sizing and bonus. Read live values with get_spoke(spoke_id).

Validation

  • LTV must be strictly below the liquidation threshold (#113).
  • liquidation_threshold × (BPS + liquidation_bonus) <= BPS², so a liquidation can never seize more than full value (#113).
  • liquidation_fees must be strictly below 100%. The protocol fee comes out of the bonus, not on top of it.
  • Caps must be non-negative and within the asset’s decimal domain (#116); a cap of zero means no new exposure rather than “unlimited”.
  • Rate slopes must be non-decreasing and utilization breakpoints ordered (#117#131).
  • A listing cannot be removed while it still has non-zero usage (#309).
The guardian can tighten paused, frozen, and no_seize immediately, but clearing any of them through the fast path is rejected with #317 SpokeAssetFlagRelaxation. Reopening requires the timelocked EditAssetInSpoke operation.

Next

Accounts and risk

Position snapshotting, spoke risk, and account gates.

Markets

Hub assets, pool params, and spoke asset config.