Skip to main content
Stellar Lending uses governance -> controller -> central pool.

Contracts

ContractResponsibility
GovernanceOwns controller and timelocks protocol-admin operations.
ControllerAccounts, spokes, oracle policy, risk checks, liquidation, flash loans, strategies, and pool ownership.
PoolCustody and accounting rows keyed by HubAssetKey.
DeFindex strategyAdapter configured for one HubAssetKey and spoke_id.

Market Coordinate

All market-specific flows use:
HubAssetKey { hub_id, asset }
The same token on different hubs is independent.

Account Risk

Accounts bind to one spoke. The spoke decides collateral flags, borrow flags, caps, LTV, liquidation threshold, liquidation bonus, fee, and optional oracle override for each hub asset.

Pool Boundary

The controller is the pool owner. Users do not call pool mutators directly. The pool tracks internal cash, indexes, scaled supply, scaled debt, and revenue.

External Boundaries

  • Oracle output is validated before use.
  • Aggregator output is checked by token balance deltas.
  • Flash-loan receivers are arbitrary code; the pool verifies repayment.
  • Token contracts must be fixed-balance assets.

Keeper

The keeper is off-chain. It renews TTL and may call update_indexes. It is configured with launched HubAssetKey markets.