> ## Documentation Index
> Fetch the complete documentation index at: https://docs.exponent.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Choosing Your SDK

> Pick the right Exponent SDK for your use case

Exponent has several developer-facing SDK surfaces across Yield Exchange, Tranching, and Strategy Vaults. 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 exposure           | **Core**      | [Quickstart →](/developer-core/core-sdk)                |
| Swap PT/YT instantly at market price, or provide concentrated liquidity for fees                      | **CLMM**      | [Quickstart →](/developer-clmm/sdk-quickstart)          |
| Place limit orders at a specific implied APY, with passive fills and YT yield accrual                 | **Orderbook** | [Quickstart →](/developer-orderbook/sdk-quickstart)     |
| Split one yield asset into protected Senior exposure and first-loss Junior exposure                   | **Tranching** | [Quickstart →](/developer-tranching/sdk-quickstart)     |
| Deposit into a managed vault, earn yield through diversified strategies, and withdraw through a queue | **Vault SDK** | [Quickstart →](/developer-strategy-vaults/create-vault) |

## Comparison

|                  | Core                                    | CLMM                                      | Orderbook                                | Tranching                                            |
| ---------------- | --------------------------------------- | ----------------------------------------- | ---------------------------------------- | ---------------------------------------------------- |
| **What it does** | Split yield-bearing assets into PT + YT | AMM for swapping PT and YT                | Limit order book for PT and YT           | Split one yield asset into Senior/Junior LP tranches |
| **Execution**    | Instant                                 | Instant                                   | Instant (market) or queued (limit)       | Instant deposit/withdraw, subject to coverage checks |
| **Pricing**      | SY exchange rate                        | AMM curve (APY-based ticks)               | Implied APY                              | Utilization-driven return curve                      |
| **Price impact** | None                                    | Slippage on large trades                  | None (limit orders)                      | LP share price changes with NAV and utilization      |
| **Fees**         | Protocol fee on accrued yield           | Dynamic swap fee (decays toward maturity) | Maker/taker fees (decay toward maturity) | Protocol fees on yield, deposits, and withdrawals    |
| **Best for**     | Creating PT/YT positions                | Fast swaps, providing liquidity           | Active strategies, precise APY targeting | Protected yield exposure and first-loss capital      |
| **SDK class**    | `Vault`, `YtPosition`                   | `MarketThree`                             | `Orderbook`                              | `TranchingMarket`                                    |

## Tranching

Exponent Tranching is a risk-tranching market for one SY yield asset. Depositors choose between a Senior LP token and a Junior LP token. Senior receives more protected exposure to the underlying asset, while Junior provides first-loss protection and receives a larger share of upside when that protection is valuable.

Tranching markets use a utilization-driven curve. Utilization measures how stretched Junior protection is relative to the market's minimum coverage requirement. As utilization increases, the curve allocates more return to Junior.

See the [Tranching Overview](/developer-tranching/overview) and [Tranching SDK](/developer-tranching/sdk-quickstart) for deposit and withdraw flows.

## 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](/developer-strategy-vaults/create-vault) for details.

## Quick SDK Examples

### Core — strip base assets into PT + YT

```typescript theme={null}
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

```typescript theme={null}
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

```typescript theme={null}
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,
})
```

### Tranching — deposit into Senior or Junior

```typescript theme={null}
import { TrancheSide } from "@exponent-labs/exponent-sdk/client/tranching"

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

const { ixs, setupIxs } = await market.ixWrapperDeposit({
  user: wallet.publicKey,
  trancheSide: TrancheSide.Senior,
  amountBase: 1_000_000_000n, // raw base-token units
  minLpOut: 0n,               // raw Senior LP units
})
```

## Get Started

<CardGroup cols={2}>
  <Card icon="code-merge" horizontal href="/developer-core/core-sdk" title="Core Quickstart">
    Strip your first position in minutes.
  </Card>

  <Card icon="square-list" horizontal href="/developer-orderbook/sdk-quickstart" title="Orderbook Quickstart">
    Post your first limit order.
  </Card>

  <Card icon="arrows-to-dotted-line" horizontal href="/developer-clmm/sdk-quickstart" title="CLMM Quickstart">
    Execute your first swap or LP deposit.
  </Card>

  <Card icon="layer-group" horizontal href="/developer-strategy-vaults/create-vault" title="Strategy Vaults Quickstart">
    Deploy your first vault strategy.
  </Card>

  <Card icon="layer-group" horizontal href="/developer-tranching/sdk-quickstart" title="Tranching Quickstart">
    Deposit into Senior or Junior tranches.
  </Card>
</CardGroup>

<Info>
  Need to combine systems (e.g. strip + sell PT on CLMM for a fixed rate)? See the [Trading Guide](/developers/guides/trade).
</Info>
