Skip to main content
A market is the accounting unit for one token in one hub. It has its own supply, debt, cash, interest indexes, and rate parameters. Every market resides in the same central pool contract.

Market identity

Controller and pool calls identify a market with this key:
The same token under two hub ids represents two independent markets. Indexers, keepers, and integrations must retain both fields when identifying a market. Creating a market adds accounting rows to the central pool. A spoke selects the markets available to its accounts. Its listing determines collateral eligibility, borrow eligibility, risk parameters, halt flags, and supply and borrow caps. Several spokes can use the same market and its liquidity.

Availability

Market operations apply the following checks as required by the flow: Existing debt can be repaid and existing supply withdrawn after delisting, subject to the operation’s remaining checks. Liquidation Transfer seizure also permits an unlisted collateral market. Credit seizure into a new receiver supply position still requires a listing; an existing receiver position uses its stored risk terms. Market-level operations, including flash loans and recapitalization, use hub and pool configuration rather than spoke admission. Prices are configured by token on the price aggregator and apply across hubs and spokes. Ordinary repayment needs no price; debt-free withdrawal skips account valuation. Supply can need prices when refreshing stored risk parameters. See Accounts and risk and Oracles.

Listing a market

Governance creates the hub and target spokes through CreateHub and AddSpoke. The remaining setup uses timelocked operations:
  1. Deploy the central pool once with DeployPool(hash) if it does not exist.
  2. Create the market with CreateLiquidityPool.
  3. Configure the token price with ConfigureAssetOracle.
  4. Add the market to each permitted spoke with AddAssetToSpoke, or update an existing listing with EditAssetInSpoke.
Pool deployment is protocol-wide. There is no separate token-approval or pool-template registration step.

Reading configuration

Use these views before building transactions. A market definition in a configuration file does not establish that the market or its spoke listings are deployed. Live configuration explains how to check availability. Continue with Accounts and risk, Risk parameters, or Interest and revenue.