> For the complete documentation index, see [llms.txt](https://docs.liminal.money/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.liminal.money/tokenized/developers/sdk/discovery.md).

# Discovery

Retrieve active xToken metadata for integrators.

This endpoint returns the dynamic contract and asset data needed to integrate xTokens on a supported chain. Integrators can use it to discover xToken addresses, deposit pipe addresses, supported deposit assets, redemption pipes, and NAV oracle addresses without hardcoding them.

#### Endpoint

`GET /sdk/tokenized/xtokens`

#### Base URL

`https://api.liminal.money`

#### Query Parameters

| Parameter | Type   | Required | Description                                                     |
| --------- | ------ | -------- | --------------------------------------------------------------- |
| chainId   | number | No       | EVM chain ID to fetch xToken metadata for. Defaults to HyperEVM |

#### Example Request

```actionscript-3
curl "https://api.liminal.money/sdk/tokenized/xtokens?chainId=999"
```

#### Example Response

```json
{
    "chain": {
      "chainId": 999,
      "name": "HyperEVM"
    },
    "data": [
      {
        "id": "xhype",
        "name": "Liminal xHYPE",
        "symbol": "XHYPE",
        "address": "0xAc962FA04BF91B7fd0DC0c5C32414E0Ce3C51E03",
        "chainId": 999,
        "decimals": 18,
        "iconUrl": "https://liminal.money/icons/xtokens/x-hype.svg",
        "depositPipes": [
          {
            "address": "0xe7e0b7d87c4869549a4a47a8f216e362d0efc9f9",
            "asset": {
              "address": "0xb88339cb7199b77e23db6e890353e22632ba630f",
              "symbol": "USDC",
              "decimals": 6,
              "iconUrl": "https://liminal.money/assets/USDC.svg"
            }
          },
          {
            "address": "0xf64428046b62b6ce4750ab499b06b8a108e1e91c",
            "asset": {
              "address": "0x111111a1a0667d36bd57c0a9f569b98057111111",
              "symbol": "USDH",
              "decimals": 6,
              "iconUrl": "https://app.hyperliquid.xyz/coins/USDH_spot.svg"
            }
          },
          {
            "address": "0xe2d9598d5fedb9e4044d50510aaba68b095f2ab2",
            "asset": {
              "address": "0xb8ce59fc3717ada4c02eadf9682a9e934f625ebb",
              "symbol": "USDT0",
              "decimals": 6,
              "iconUrl": "https://liminal.money/assets/USDT0.svg"
            }
          }
        ],
        "redemptionPipe": {
          "address": "0x19f4881cdb479d01ce214f6908c99b4fe76c03e8",
          "asset": {
            "address": "0xb88339cb7199b77e23db6e890353e22632ba630f",
            "symbol": "USDC",
            "decimals": 6,
            "iconUrl": "https://liminal.money/assets/USDC.svg"
          }
        },
        "navOracle": "0xbf97a22b1229b3ffba65003c01df8ba9e7bff042"
      }
    ]
  }
```

#### Response Fields

| Field                                  | Description                                                                                                        |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| chain.chainId                          | Chain ID for the returned metadata.                                                                                |
| chain.name                             | Human-readable chain name.                                                                                         |
| data\[].id                             | Stable lowercase xToken identifier.                                                                                |
| data\[].name                           | Display name.                                                                                                      |
| data\[].symbol                         | xToken symbol.                                                                                                     |
| data\[].address                        | xToken contract address on the selected chain.                                                                     |
| data\[].chainId                        | Chain ID for this xToken entry.                                                                                    |
| data\[].decimals                       | xToken decimals.                                                                                                   |
| data\[].iconUrl                        | xToken icon URL.                                                                                                   |
| data\[].depositPipes\[].address        | DepositPipe contract address for the listed                                                                        |
| deposit asset.                         |                                                                                                                    |
| data\[].depositPipes\[].asset.address  | Deposit asset token address.                                                                                       |
| data\[].depositPipes\[].asset.symbol   | Deposit asset symbol.                                                                                              |
| data\[].depositPipes\[].asset.decimals | Deposit asset decimals.                                                                                            |
| data\[].depositPipes\[].asset.iconUrl  | Deposit asset icon URL.                                                                                            |
| data\[].redemptionPipe.address         | RedemptionPipe contract address.                                                                                   |
| data\[].redemptionPipe.asset.address   | Redemption output token address.                                                                                   |
| data\[].redemptionPipe.asset.symbol    | Redemption output token symbol.                                                                                    |
| data\[].redemptionPipe.asset.decimals  | Redemption output token decimals.                                                                                  |
| data\[].redemptionPipe.asset.iconUrl   | Redemption output token icon URL.                                                                                  |
| data\[].navOracle                      | NAV oracle address for the xToken.                                                                                 |
| data\[].oftAddress                     | LayerZero OFT or OFT adapter address on the selected chain. May equal `address` when the xToken itself is the OFT. |

#### Notes

* data\[].address is the xToken address users receive after depositing.
* Each depositPipes\[] item maps one supported deposit asset to the DepositPipe that should be called for that asset.
* redemptionPipe is singular because each xToken has one redemption pipe for the selected chain.
* On Ethereum, Arbitrum, and other spoke chains, direct deposit/redemption pipe contracts do not exist; use the returned `oftAddress` for OFT-related integration.
