Skip to main content
A hub is an isolation domain. Every market is addressed as:
Never identify a market by asset address alone. The same token on two hubs is two markets: separate indexes, cash, revenue, debt, and bad-debt socialization.

What the hub gives you

  • One pool contract, but separate accounting rows per market
  • Its own interest-rate curve, reserve factor, and flash-loan settings, stored in pool Params(HubAssetKey)
  • Its own indexes, cash, revenue, and bad-debt write-downs
Caps are not set here. Supply and borrow caps live on the spoke listing (SpokeAssetConfig), so two spokes can cap the same market differently. See Spokes.

Discover markets

  1. Read deployed controller / pool addresses from Addresses (do not hardcode).
  2. Resolve listed hub assets from controller/pool views used by your indexer or SDK.
  3. Always pass both hub_id and asset into supply, borrow, withdraw, and repay.