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_feesmust 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.

