> ## 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.

# Yield stripping vaults

> Returns raw vault data with associated CLMM markets, orderbooks, and pricing information.

export const ApiResponse = ({children, errors = {}}) => {
  const [status, setStatus] = useState("200");
  const statuses = ["200", ...Object.keys(errors)];
  return <section className="api-response" aria-label="Response">
      <div className="api-response-header not-prose">
        <h2>Response</h2>
        <div className="api-response-format">
          {statuses.length > 1 ? <select aria-label="Response status" value={status} onChange={event => setStatus(event.target.value)}>
              {statuses.map(code => <option key={code} value={code}>{code}</option>)}
            </select> : <span>200</span>}
          <span className="api-response-mime">application/json</span>
        </div>
      </div>
      <div hidden={status !== "200"}>{children}</div>
      {status !== "200" && <div aria-live="polite">
          {Object.entries(errors[status]).map(([name, value]) => <ResponseField key={name} name={name} type={value === null ? "null" : Array.isArray(value) ? "array" : typeof value}>
              {name === "error" ? "Error message describing why the request failed." : "Additional error details."}
            </ResponseField>)}
        </div>}
    </section>;
};

## Query Parameters

<ParamField query="is_active" type="boolean">
  Filter by active status.
</ParamField>

<ParamField query="is_expired" type="boolean">
  Filter by expiration status.
</ParamField>

<ParamField query="refresh" type="boolean">
  Force cache refresh.
</ParamField>

<RequestExample dropdown>
  ```bash cURL theme={null}
  curl 'https://api.exponent.finance/vaults?is_active=true&is_expired=false'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get("https://api.exponent.finance/vaults?is_active=true&is_expired=false", timeout=30)
  response.raise_for_status()
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.exponent.finance/vaults?is_active=true&is_expired=false");
  if (!response.ok) {
    throw new Error(`Request failed: ${response.status}`);
  }
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ApiResponse errors={{}}>
  <ResponseField name="address" type="string">
    Vault address.
  </ResponseField>

  <ResponseField name="start_timestamp" type="string">
    Vault start date (ISO 8601).
  </ResponseField>

  <ResponseField name="end_timestamp" type="string">
    Vault maturity date (ISO 8601).
  </ResponseField>

  <ResponseField name="pt_mint" type="string">
    PT token mint address.
  </ResponseField>

  <ResponseField name="yt_mint" type="string">
    YT token mint address.
  </ResponseField>

  <ResponseField name="sy_token" type="string">
    SY token mint address.
  </ResponseField>

  <ResponseField name="is_active" type="boolean">
    Whether the vault is active.
  </ResponseField>

  <ResponseField name="pt_price" type="number">
    PT price in base asset.
  </ResponseField>

  <ResponseField name="yt_price" type="number">
    YT price in base asset.
  </ResponseField>

  <ResponseField name="implied_apy" type="number">
    Current implied APY (decimal).
  </ResponseField>

  <ResponseField name="underlying_apy" type="number">
    Underlying asset APY (decimal).
  </ResponseField>

  <ResponseField name="pt_supply" type="number">
    Total PT supply in base token units.
  </ResponseField>

  <ResponseField name="tvl_in_base_token" type="number">
    Total value locked in base token units.
  </ResponseField>

  <ResponseField name="sy_exchange_rate" type="number">
    SY to base token exchange rate.
  </ResponseField>

  <ResponseField name="clmm_markets" type="array">
    <Expandable title="child attributes">
      <ResponseField name="address" type="string">
        CLMM market address.
      </ResponseField>

      <ResponseField name="current_tick" type="number">
        Current tick index.
      </ResponseField>

      <ResponseField name="current_spot_price" type="number">
        Current spot price (ln implied rate).
      </ResponseField>

      <ResponseField name="liquidity_balance" type="number">
        Total liquidity.
      </ResponseField>

      <ResponseField name="sy_balance" type="number">
        SY token balance.
      </ResponseField>

      <ResponseField name="pt_balance" type="number">
        PT token balance.
      </ResponseField>

      <ResponseField name="is_active" type="boolean">
        Whether the market is active.
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="orderbooks" type="array">
    <Expandable title="child attributes">
      <ResponseField name="address" type="string">
        Orderbook address.
      </ResponseField>

      <ResponseField name="is_active" type="boolean">
        Whether the orderbook is active.
      </ResponseField>
    </Expandable>
  </ResponseField>
</ApiResponse>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "address": "7f1PgxY3kGsPqLAKpwcduZkcBEhpjMz7U1iJ4pcCCzDy",
      "start_timestamp": "2026-08-21T10:00:00+00:00",
      "end_timestamp": "2027-01-10T13:00:00+00:00",
      "alt_address": "3jWaCBKwrMgRVfZGja1wXacDPb3kN5GGxRbNQTxvnPGU",
      "additional_address_lookup_table": null,
      "pt_mint": "HH7FiYbEfDwQoK2ZJpkMz1T6wG6TqPsWcxWCtEVgigrZ",
      "yt_mint": "GFpXWuDCm7QMjkYbMveNZoLzybqJaginDDvuX3bJqgLF",
      "sy_token": "G1qbuP11CdquJCzuDjruWqatQAHroajmxhLfeQVgHosF",
      "is_production_visible": true,
      "markets": [],
      "orderbooks": [
        {
          "address": "imv1h6xgX8GyiJjkBj5xvFxwWoB7sCyTGCi6yGK2bZt",
          "created_at": "2026-08-24T11:34:03+00:00",
          "updated_at": "2026-10-15T09:30:38+00:00",
          "vault_address": "7f1PgxY3kGsPqLAKpwcduZkcBEhpjMz7U1iJ4pcCCzDy",
          "last_seen_implied_apy": 117871
        }
      ],
      "clmm_markets": [
        {
          "address": "9cD4nKmLuM8FMj8Ur1ozbv7C1onZbeavQaJC7uM72eiq",
          "pt_balance": 795887294945161,
          "sy_balance": 1801971646481953,
          "tick_space": 2500,
          "vault_address": "7f1PgxY3kGsPqLAKpwcduZkcBEhpjMz7U1iJ4pcCCzDy",
          "ln_fee_rate_root": 0.00199800266267306,
          "treasury_fee_bps": 3500,
          "liquidity_balance": 65046662409647230,
          "current_spot_price": 1.12623508746926,
          "current_implied_apy": 0.126235087469263,
          "additional_address_lookup_table": null
        }
      ],
      "name": "ONyc-10JAN27",
      "pt_price": 0.9720432464775597,
      "yt_price": 0.027956753522440314,
      "implied_apy": 0.12623508746926304,
      "implied_apr": 0.12623508746926304,
      "underlying_apy": 0.11020907427677296,
      "underlying_apy_1_epoch": 0.11016234687811677,
      "underlying_apy_3_epoch": 0.1101739044908685,
      "underlying_apy_7_epoch": 0.11020907427677296,
      "underlying_apy_30_epoch": 0.11071851092602114,
      "years_to_maturity": 0.23851711241121257,
      "pt_supply": 23098505.878982306,
      "tvl_in_base_token": 2856426178529278,
      "clmm_in_range_liquidity_in_base_token": 2504229637979333,
      "legacy_tvl_in_base_token": 0,
      "orderbook_executable_depth_in_base_token": 8756664638204541,
      "sy_exchange_rate": 1.155839113,
      "pt_redemption_rate": null,
      "all_time_high_sy_exchange_rate": 1.155839113,
      "final_sy_exchange_rate": 1.155839113
    }
  ]
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.