HubAssetKey:
Params(HubAssetKey) and State(HubAssetKey).
There is one central pool contract. Listing an asset creates rows in that pool;
it does not deploy a per-asset pool.
Activation model
There is no market-status enum. Whether a market is usable is the product of four independent conditions:
Spokes decide whether an account can use a hub asset as collateral or as debt.
Each listing also carries three independent halt flags:
Prices always come from the price aggregator. Spokes do not override oracles.
Listing sequence
Listing is governance-controlled, each step a timelockedAdminOperation:
- Deploy the central pool once if it does not exist (
DeployPool(hash)). - Create the market on that pool (
CreateLiquidityPool), which writesParams/State(HubAssetKey). - Configure the asset’s oracle (
ConfigureAssetOracle). - Add or edit
SpokeAsset(spoke_id, HubAssetKey)rows for each spoke that can use the asset (AddAssetToSpoke/EditAssetInSpoke).
deploy_pool(wasm_hash) is protocol-wide. It is not called per market, and there
is no token-approval step.
Pool parameters
MarketParamsRaw lives in pool Params(HubAssetKey) storage.
There are no
_ray or _bps suffixes on the wire, and no supply or borrow cap
fields on the market. Caps are per-spoke, in SpokeAssetConfig.Spoke parameters
SpokeAssetConfig lives in controller SpokeAsset(spoke_id, HubAssetKey)
storage.
Configured values
Treat on-chain views as the source of truth. This page explains behaviour; it is not a live config dump. Readget_sync_data(hub_asset) from the pool for a
market’s real parameters, and get_spoke_asset(spoke_id, hub_asset) from the
controller for its risk listing.
As a sense of scale, mainnet currently runs 30 markets across 3 hubs and
8 live spokes. Rate curves are not uniform: max_borrow_rate is 125% or 175%
depending on the market, and the reserve factor ranges from 1,500 to 3,000 bps.
See Live configuration and
Risk parameters.
Next
Risk parameters
Units, ranges, and configured values for market and spoke risk parameters.
Accounts and risk
Account storage, spoke binding, health factor, and position limits.
Oracles
Reflector and RedStone sources, tolerance bands, and flow policies.
Controller ABI
Controller entrypoints for listing, configuration, and user flows.

