Skip to main content
A spoke is the risk module bound to a lending account. Users open positions on a spoke; the spoke routes liquidity through the controller to the central pool.

What a spoke controls

For each HubAssetKey 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, and no_seize
The spoke itself also carries the liquidation curve — 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.
Read 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.
The keys in configs/mainnet/spokes.json are not the on-chain spoke ids. A disabled entry is skipped when spokes are created, so config key 4 is on-chain spoke 3, and every later key is shifted by one. Read the id from networks.json or from the chain — never from the config file’s key.
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.