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

# Networks and Tokens

> List the networks and tokens supported by Utexo Swap.

## List networks

Retrieve all blockchain networks supported by Utexo Swap.

```http theme={null}
GET /affiliate/v1/networks
```

**Response example**

```json theme={null}
[
  {
    "id": 1,
    "name": "Ethereum",
    "type": "EVM",
    "supports_optimized_swap": false,
    "icon_url": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
    "supports_custom_tokens": false
  }
]
```

<Info>
  If `supports_custom_tokens` is `true` for a network, users can swap custom tokens on that network. In that case the tokens returned for the network are popular tokens, not a complete list of supported tokens.
</Info>

## List tokens

Retrieve a paginated list of tokens supported across all networks. Supports pagination, filtering by network, and searching by token symbol, name, or contract address.

```http theme={null}
GET /affiliate/v1/tokens
```

**Query parameters**

| Name | Type | Required | Description |
| - | - | - | - |
| `limit` | integer | No | Maximum number of tokens to return |
| `offset` | integer | No | Number of tokens to skip before returning results |
| `q` | string | No | Search query for token symbol, token name, or contract address |
| `network_id` | integer | No | Filter tokens by network |

**Response example**

```json theme={null}
{
  "data": [
    {
      "network_id": 1,
      "name": "Tether USD",
      "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "symbol": "USDT",
      "icon_url": "https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xdAC17F958D2ee523a2206206994597C13D831ec7/logo.png",
      "wrapped_token_address": null
    }
  ],
  "pagination": {
    "limit": 10,
    "offset": 0,
    "pages": 10,
    "total": 500
  }
}
```

<Info>
  If a token has a non-empty `wrapped_token_address`, it must be wrapped before use. See [Wrap Native Tokens](/product-suite/swap/on-chain-helpers/wrap-native-tokens).
</Info>

## Example

```ts theme={null}
const BASE_URL = "https://api-swap.utexo.com/affiliate";
const headers = { "X-API-Key": process.env.UTEXO_SWAP_API_KEY! };

const networks = await fetch(`${BASE_URL}/v1/networks`, { headers }).then((r) => r.json());
const tokens = await fetch(`${BASE_URL}/v1/tokens?network_id=1&q=USDT&limit=10`, { headers }).then((r) => r.json());
```


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