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

> Returns enriched market data combining vaults, SY tokens, and points configuration. This is the primary endpoint for fetching tradeable yield markets.

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>;
};

<RequestExample dropdown>
  ```bash cURL theme={null}
  curl https://api.exponent.finance/markets
  ```

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

  response = requests.get("https://api.exponent.finance/markets", timeout=30)
  response.raise_for_status()
  print(response.json())
  ```

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

<ApiResponse errors={{}}>
  <ResponseField name="vaultAddress" type="string">
    Yield or strategy vault associated with this record.
  </ResponseField>

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

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

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

  <ResponseField name="baseTokenMint" type="string">
    Base token mint address.
  </ResponseField>

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

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

  <ResponseField name="impliedApy" type="number">
    Current implied APY (decimal, e.g., 0.10 = 10%).
  </ResponseField>

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

  <ResponseField name="yieldExposure" type="number">
    Yield exposure multiplier.
  </ResponseField>

  <ResponseField name="liquidity" type="number">
    Total liquidity in base token units.
  </ResponseField>

  <ResponseField name="maturityDateUnixTs" type="number">
    Maturity date as Unix timestamp.
  </ResponseField>

  <ResponseField name="marketStatus" type="string">
    Market status: `active`, `paused`, or `matured`.
  </ResponseField>

  <ResponseField name="platformName" type="string">
    Platform name (e.g., Kamino, Jito).
  </ResponseField>

  <ResponseField name="tokenName" type="string">
    Underlying token name.
  </ResponseField>

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

  <ResponseField name="orderbookAddresses" type="array">
    Active orderbook addresses for this market.
  </ResponseField>

  <ResponseField name="legacyMarketAddresses" type="array">
    Legacy AMM market addresses.
  </ResponseField>
</ApiResponse>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "vaultAddress": "7f1PgxY3kGsPqLAKpwcduZkcBEhpjMz7U1iJ4pcCCzDy",
      "underlyingAsset": {
        "mint": "5Y8NV33Vv7WbnLfq3zBcKSdYPrk7g2KoiQoe7M2tcxp5",
        "name": "OnRe Tokenized Reinsurance",
        "ticker": "ONyc",
        "decimals": 9,
        "price_source": "jupiter"
      },
      "syTokenName": "wONyc",
      "quoteAsset": {
        "mint": "USD1111111111111111111111111111111111111119",
        "name": "US Dollar 9 Decimals",
        "ticker": "USD",
        "decimals": 9,
        "price_source": null
      },
      "baseTokenMint": "USD1111111111111111111111111111111111111119",
      "ptMint": "HH7FiYbEfDwQoK2ZJpkMz1T6wG6TqPsWcxWCtEVgigrZ",
      "ytMint": "GFpXWuDCm7QMjkYbMveNZoLzybqJaginDDvuX3bJqgLF",
      "syMint": "G1qbuP11CdquJCzuDjruWqatQAHroajmxhLfeQVgHosF",
      "groupingSyMint": "G1qbuP11CdquJCzuDjruWqatQAHroajmxhLfeQVgHosF",
      "ytPriceInAsset": 0.027956753522440314,
      "ptPriceInAsset": 0.9720432464775597,
      "impliedApy": 0.12623508746926304,
      "underlyingApy": 0.11020907427677296,
      "underlyingApy1Epoch": 0.11016234687811677,
      "underlyingApy3Epoch": 0.1101739044908685,
      "underlyingApy7Epoch": 0.11020907427677296,
      "underlyingApy30Epoch": 0.11071851092602114,
      "yieldExposure": 35.76953236710123,
      "liquidity": 2856426178529278,
      "clmmInRangeLiquidity": 2504229637979333,
      "legacyLiquidity": 0,
      "orderbookExecutableDepth": 8756664638204541,
      "maturityDateUnixTs": 1799586000,
      "startDateUnixTs": 1787306400,
      "releaseDateUnixTs": 1787529600,
      "marketStatus": "active",
      "totalMarketSize": 23098505.878982306,
      "volume": 0,
      "categories": [
        "Stablecoins"
      ],
      "platformName": "OnRe",
      "subPlatformName": null,
      "platform": "onrefinance",
      "pointsBoost": {
        "platform": "onrefinance",
        "season": 1,
        "updated_at": "2026-09-21T10:00:00.081371+00:00",
        "created_at": "2026-08-24T12:23:03.7985+00:00",
        "is_active": true,
        "sy_token": "G1qbuP11CdquJCzuDjruWqatQAHroajmxhLfeQVgHosF",
        "points_name": "Onre Points",
        "points_per_day": 1,
        "lp_multiplier": 8,
        "yt_multiplier": 8,
        "type": "sy",
        "is_external_tracking": true,
        "vault_address": null,
        "id": 24
      },
      "decimals": 9,
      "tokenName": "ONyc",
      "syExchangeRate": 1.155839113,
      "ptRedemptionRate": null,
      "allTimeHighSyExchangeRate": 1.155839113,
      "canHaveNegativeYield": true,
      "finalSyExchangeRate": 1.155839113,
      "tickSpace": 2500,
      "annualizedLpFeesPct": 0,
      "marketDetails": "",
      "orderbookAddresses": [
        "imv1h6xgX8GyiJjkBj5xvFxwWoB7sCyTGCi6yGK2bZt"
      ],
      "legacyMarketAddresses": [],
      "legacyMarketAddressToAltTxAddress": {},
      "additionalAddressLookupTable": null,
      "interfaceType": "scope",
      "priceSource": null,
      "discoveryOrder": null,
      "ytHolderRewardsApy": 0,
      "ytHolderRewardCampaigns": []
    }
  ]
  ```
</ResponseExample>


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