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

# Route Discovery

> Find available Transit routes and check minimum order sizes.

Before submitting an order, query the available routes to find asset pairs matching your source and destination chains.

## Step 1: Fetch Available Routes

`GET /v1/transit/routes`

### Parameters

| Parameter | Type   | Required | Description                                                                                       |
| --------- | ------ | -------- | ------------------------------------------------------------------------------------------------- |
| `filter`  | string | No       | AIP-160 filter expression. Keys: `sourceChainId`, `destinationChainId`, `offerAsset`, `wantAsset` |

### Example Request

```bash theme={null}
curl "https://api.paxoslabs.com/v1/transit/routes" \
```

With filtering:

```bash theme={null}
curl "https://api.paxoslabs.com/v1/transit/routes?filter=sourceChainId%3D1" \
```

### Response

```json theme={null}
{
  "routes": [
    {
      "sourceChainId": 1,
      "destinationChainId": 4663,
      "destinationChainEID": 40451,
      "offerAsset": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "wantAsset": "0x...",
      "minOrderSize": "35000000",
      "tokenMetadataMap": {
        "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": {
          "chain_id": "1",
          "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
          "name": "USD Coin",
          "symbol": "USDC",
          "decimals": "6",
          "token_standard": "ERC20"
        }
      }
    }
  ]
}
```

## Step 2: Select a Route

From the response, identify a route matching your needs and note these fields:

| Field                | Usage                                               |
| -------------------- | --------------------------------------------------- |
| `sourceChainId`      | Chain where you'll submit the transaction           |
| `destinationChainId` | Chain where funds will be delivered                 |
| `offerAsset`         | Token address you'll send (on source chain)         |
| `wantAsset`          | Token address you'll receive (on destination chain) |
| `minOrderSize`       | Minimum order in offer-asset base units             |

## Step 3: Verify Minimum Order Size

The `minOrderSize` field indicates the minimum amount in the offer asset's base units. For a 6-decimal token like USDC, `35000000` equals \$35.

Requests below this threshold return a `400 INVALID_ARGUMENT` error.

## Response Fields

| Field                 | Type   | Description                                  |
| --------------------- | ------ | -------------------------------------------- |
| `sourceChainId`       | number | EVM chain ID of source chain                 |
| `destinationChainId`  | number | EVM chain ID of destination chain            |
| `destinationChainEID` | number | Endpoint ID of destination chain             |
| `offerAsset`          | string | Token address on source chain                |
| `wantAsset`           | string | Token address on destination chain           |
| `minOrderSize`        | string | Minimum order size in offer-asset base units |
| `tokenMetadataMap`    | object | Token metadata keyed by lowercase address    |

## Next Steps

<Card title="Order Submission" icon="paper-plane" href="/v1.0.0/intro/products/transit/developers/guides/order-submission">
  Get quote calldata and submit your order.
</Card>
