Oct 20, 2025

Purple Flower

Every negotiation happens inside a Market, which sets the rails for a loan pair (e.g., USDC ↔ ETH). Markets are defined by:

struct Market {
  bytes32 marketId;
  address loanToken;
  address collateralToken;
  uint256 interestRateBps;        // minimum interest rate
  uint256 ltvBps;                 // policy LTV guidance
  uint256 liquidationIncentiveBps;// liquidator bonus
  uint256 marketFeeBps;           // protocol fee
  uint256 totalPrincipalOutstanding;
  uint256 totalLoans;
  uint256 totalValueLocked;
}

What the parameters do

  • loanToken / collateralToken: The pair (e.g., lend USDC, post ETH collateral).

  • interestRateBps: A floor for rates in this market.

  • ltvBps: LTV policy reference; actual LTV comes from intent negotiation.

  • liquidationIncentiveBps: Bonus paid to liquidators for restoring health.

  • marketFeeBps: Protocol fee taken on interest (governance‑controlled).

Governance workflow

  • Create market: Provide token addresses + risk/fee parameters.

  • Observe telemetry: totalPrincipalOutstanding, totalLoans, TVL track health and adoption.

  • Tune over time: Adjust parameters or spin up new markets to segment risk.

Why it matters
Clear, on‑chain market parameters give matchers and users predictable boundaries, while still allowing user‑level customization via intents.

Key takeaways
Markets frame risk and fees; intents provide flexibility; governance keeps the system safe and adaptable.