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

# SY token metadata

> Returns SY token metadata.

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="mint" type="string">
  Return one SY token by mint. An unknown mint returns `404`.
</ParamField>

<ParamField query="refresh" type="boolean" default="false">
  Refresh cached SY token data.
</ParamField>

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

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

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

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

<ApiResponse errors={{}}>
  <ResponseField name="mint" type="string">
    SY token mint.
  </ResponseField>

  <ResponseField name="name" type="string">
    SY display name.
  </ResponseField>

  <ResponseField name="ticker" type="string">
    SY ticker.
  </ResponseField>

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

  <ResponseField name="sy_meta" type="string | null">
    SY metadata account.
  </ResponseField>

  <ResponseField name="interface_accounts" type="string[] | null">
    Accounts required by the SY interface.
  </ResponseField>

  <ResponseField name="interface_type" type="string | null">
    SY interface identifier.
  </ResponseField>

  <ResponseField name="price_source" type="string | null">
    SY price source.
  </ResponseField>

  <ResponseField name="underlying_asset" type="object">
    Underlying token metadata.

    <Expandable title="child attributes">
      <ResponseField name="mint" type="string">
        Token mint.
      </ResponseField>

      <ResponseField name="name" type="string">
        Display name.
      </ResponseField>

      <ResponseField name="ticker" type="string">
        Token ticker.
      </ResponseField>

      <ResponseField name="decimals" type="number">
        Token decimals.
      </ResponseField>

      <ResponseField name="price_source" type="string | null">
        Price-source identifier.
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="quote_asset" type="object">
    Quote/base token metadata.

    <Expandable title="child attributes">
      <ResponseField name="mint" type="string">
        Token mint.
      </ResponseField>

      <ResponseField name="name" type="string">
        Display name.
      </ResponseField>

      <ResponseField name="ticker" type="string">
        Token ticker.
      </ResponseField>

      <ResponseField name="decimals" type="number">
        Token decimals.
      </ResponseField>

      <ResponseField name="price_source" type="string | null">
        Price-source identifier.
      </ResponseField>
    </Expandable>
  </ResponseField>

  <ResponseField name="platform" type="string | null">
    Platform identifier.
  </ResponseField>

  <ResponseField name="platform_name" type="string">
    Platform display name.
  </ResponseField>

  <ResponseField name="sub_platform_name" type="string | null">
    Sub-platform display name.
  </ResponseField>

  <ResponseField name="categories" type="string[]">
    Token categories.
  </ResponseField>

  <ResponseField name="created_at" type="string">
    Creation timestamp.
  </ResponseField>

  <ResponseField name="updated_at" type="string">
    Update timestamp.
  </ResponseField>
</ApiResponse>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "mint": "34JjsusYp6kdr2wKKaJrEpYoRLqJfiSwfiU7hsJHjU8M",
      "name": "Exponent Wrapped JitoSOL (wJitoSOL)",
      "ticker": "wJitoSOL",
      "decimals": 9,
      "sy_meta": "FKLVevNYWv2HLDP9N1qEwWMw23adUDXQNmccFnSLtKzc",
      "interface_accounts": [
        "Jito4APyf642JPZPx3hGc6WWJ8zPKtRbRs4P815Awbb"
      ],
      "interface_type": "splStakePool",
      "price_source": "splStakePool",
      "platform": "sanctum",
      "created_at": "2026-03-11T12:02:36+00:00",
      "updated_at": "2026-03-11T12:02:37+00:00",
      "quote_asset": {
        "mint": "So11111111111111111111111111111111111111112",
        "name": "Solana",
        "ticker": "SOL",
        "decimals": 9,
        "price_source": "jupiter"
      },
      "underlying_asset": {
        "mint": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
        "name": "Jito Staked SOL",
        "ticker": "JitoSOL",
        "decimals": 9,
        "price_source": "jupiter"
      },
      "platform_name": "Jito Staked SOL",
      "sub_platform_name": null,
      "canHaveNegativeYield": false,
      "categories": [
        "SOL"
      ]
    },
    {
      "mint": "84nsuBADtkK8jwBrPFMiVVDm7PxN7Ytducf1Um7vxkYS",
      "name": "Exponent Wrapped rkuSOL",
      "ticker": "wrkuSOL",
      "decimals": 9,
      "sy_meta": "61Dz6DkjDbn1seiD2SgDGpQE8V81ip22RyYwVsB9CcNy",
      "interface_accounts": [
        "ERhozr6u9drmAANXGRNP1oh3quSqPKEwioKH5b8v9Kkt"
      ],
      "interface_type": "splStakePool",
      "price_source": "splStakePool",
      "platform": "raiku",
      "created_at": "2026-05-15T18:35:52.274111+00:00",
      "updated_at": "2026-05-15T18:35:52.274111+00:00",
      "quote_asset": {
        "mint": "So11111111111111111111111111111111111111112",
        "name": "Solana",
        "ticker": "SOL",
        "decimals": 9,
        "price_source": "jupiter"
      },
      "underlying_asset": {
        "mint": "rkubjTrZYioRSeXwDnhwGQzvW3qkcin72JSxUt3WMVp",
        "name": "Raiku Staked SOL",
        "ticker": "rkuSOL",
        "decimals": 9,
        "price_source": "jupiter"
      },
      "platform_name": "Raiku Staked SOL",
      "sub_platform_name": null,
      "canHaveNegativeYield": false,
      "categories": [
        "Staking",
        "SOL"
      ]
    }
  ]
  ```
</ResponseExample>


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