What a spoke controls
For eachHubAssetKey via SpokeAsset(spoke_id, HubAssetKey):
- Collateral and borrow enable flags
- Supply and borrow caps, in raw asset units. Zero means no new exposure, not unlimited
- LTV and liquidation threshold
- Liquidation bonus and fee
- Three halt flags:
paused,frozen, andno_seize
liquidation_target_hf_wad, hf_for_max_bonus_wad, and
liquidation_bonus_factor_bps — which decides how large the liquidation bonus
grows as an account gets sicker.
Pricing is protocol-level via the price aggregator (PriceKey::Token(asset)).
Spokes do not override oracles or prices — see
Oracles.
Spoke id is fixed when the account is created and never changes. Spoke ids
start at 1; spoke_id == 0 is invalid (#300 SpokeNotFound). A spoke marked
deprecated accepts no new positions (#301 SpokeDeprecated).
Halt matrix
Three layers can block an action. They are independent, and they block different things on purpose.paused does not stop a liquidation from seizing that collateral. Seizure is
pro-rata across an account’s whole collateral set, so pausing one asset would
otherwise halt liquidation of every account holding it. no_seize is the
separate flag for that job.get_spoke(spoke_id) and get_spoke_asset(spoke_id, hub_asset) before you
choose a spoke for account creation.
Mainnet spokes
Eight spokes are live on mainnet today. Most pair a specific collateral theme with the same four borrowable majors.
Notice that the same asset carries different terms in different spokes. USDC is
collateral on Blue Chip and on Stables & FX, but borrow-only on the RWA spokes.
That is the point of spokes.

