Skip to main content

Documentation Index

Fetch the complete documentation index at: https://v2-docs.exponent.finance/llms.txt

Use this file to discover all available pages before exploring further.

Exponent has three core systems — Core, CLMM, and Orderbook. Each serves a different purpose. Pick the one that matches what you’re building.

What are you building?

I want to…Use
Split yield-bearing assets into PT + YT, lock a fixed rate, or get leveraged yield exposureCoreQuickstart →
Swap PT/YT instantly at market price, or provide concentrated liquidity for feesCLMMQuickstart →
Place limit orders at a specific implied APY, with passive fills and YT yield accrualOrderbookQuickstart →
Deposit into a managed vault, earn yield through diversified strategies, and withdraw through a queueVault SDKQuickstart →

Comparison

CoreCLMMOrderbook
What it doesSplit yield-bearing assets into PT + YTAMM for swapping PT and YTLimit order book for PT and YT
ExecutionInstantInstantInstant (market) or queued (limit)
PricingSY exchange rateAMM curve (APY-based ticks)Implied APY
Price impactNoneSlippage on large tradesNone (limit orders)
FeesProtocol fee on accrued yieldDynamic swap fee (decays toward maturity)Maker/taker fees (decay toward maturity)
Best forCreating PT/YT positionsFast swaps, providing liquidityActive strategies, precise APY targeting
SDK classVault, YtPositionMarketThreeOrderbook

Strategy Vaults

Strategy Vaults are a higher-level abstraction: rather than interacting with yield stripping, CLMM, or orderbook directly, depositors provide capital to a managed vault that deploys it into approved strategies (Kamino Lending, Marginfi, etc.) through policy-gated execution. Strategy Vaults issue LP tokens representing proportional ownership and use a queued withdrawal process. See the Strategy Vaults SDK for details.

Quick SDK Examples

Core — strip base assets into PT + YT

const vault = await Vault.load(env, connection, vaultAddress)

const ix = await vault.ixStripFromBase({
  owner: wallet.publicKey,
  amountBase: 1_000_000n,
})

CLMM — buy PT with base assets

const market = await MarketThree.load(env, connection, marketAddress)

const { ixs, setupIxs } = await market.ixWrapperBuyPt({
  owner: wallet.publicKey,
  minPtOut: 950_000_000n,
  baseIn: 1_000_000_000n,
})

Orderbook — post a limit order at a target APY

const orderbook = await Orderbook.load(env, connection, orderbookAddress)

const { ix, setupIxs } = await orderbook.ixWrapperPostOffer({
  trader: wallet.publicKey,
  price: 0.12,              // 12% implied APY
  amount: 1_000_000_000n,
  offerType: OfferType.BuyYt,
  offerOption: offerOptions("FillOrKill", [false]),
  virtualOffer: false,
  expirySeconds: 86_400 * 7,
  mintSy: syMintAddress,
})

Get Started

Core Quickstart

Strip your first position in minutes.

Orderbook Quickstart

Post your first limit order.

CLMM Quickstart

Execute your first swap or LP deposit.

Strategy Vaults Quickstart

Deploy your first vault strategy.
Need to combine systems (e.g. strip + sell PT on CLMM for a fixed rate)? See the Trading Guide.