---
title: "Get quotes from all bridges"
method: GET
path: "/quotes/multiple"
tags: ["Quotes"]
---

# Get quotes from all bridges

`GET /quotes/multiple`

Retrieves quotes from all supported bridge protocols for comparison

## Query parameters

- `tokenIn` string, required
- `tokenOut` string, required
- `sourceChain` 'ARBITRUM_MAINNET' | 'ARBITRUM_TESTNET' | 'AVALANCHE_MAINNET' | 'AVALANCHE_TESTNET' | 'BASE_MAINNET' | 'BASE_TESTNET' | 'STARKNET_MAINNET' | 'STARKNET_TESTNET' | 'BSC_MAINNET' | 'ETHEREUM_MAINNET' | 'ETHEREUM_TESTNET' | 'OPTIMISM_MAINNET' | 'OPTIMISM_TESTNET' | 'MONAD_MAINNET' | 'MONAD_TESTNET' | 'POLYGON_MAINNET' | 'HYPEREVM_MAINNET' | 'LISK_MAINNET' | 'SOLANA_MAINNET' | 'SOLANA_TESTNET' | 'TRON_MAINNET', required
- `destinationChain` 'ARBITRUM_MAINNET' | 'ARBITRUM_TESTNET' | 'AVALANCHE_MAINNET' | 'AVALANCHE_TESTNET' | 'BASE_MAINNET' | 'BASE_TESTNET' | 'STARKNET_MAINNET' | 'STARKNET_TESTNET' | 'BSC_MAINNET' | 'ETHEREUM_MAINNET' | 'ETHEREUM_TESTNET' | 'OPTIMISM_MAINNET' | 'OPTIMISM_TESTNET' | 'MONAD_MAINNET' | 'MONAD_TESTNET' | 'POLYGON_MAINNET' | 'HYPEREVM_MAINNET' | 'LISK_MAINNET' | 'SOLANA_MAINNET' | 'SOLANA_TESTNET' | 'TRON_MAINNET', required
- `amount` string, required
- `excludeBridges` string
- `recipient` string
- `amountSymbol` 'USDC' | 'USDT' | 'DAI' | 'BUSD' | 'EURC' | 'ETH' | 'WETH' | 'STRK' | 'BNB' | 'LORDS' | 'USDS' | 'USDG' | 'USDT0' | 'WBTC' | 'LINK' | 'SOL' | 'EKUBO' | 'AAVE' | 'UNI' | 'CURVE' | 'cbBTC' | 'VIRTUAL' | 'stETH' | 'wstETH' | 'SKY' | 'AUSD' | 'WMON' | 'LVMON' | 'OP' | 'WLD' | 'ARB' | 'sAVAX' | 'WAVAX' | 'anyBTC' | 'WBNB' | 'TRON' | 'AVAX' | 'POL' | 'MON'

## Response `200`

Multiple quotes retrieved successfully

- object[]
  - `bridgeFeeDetails` object — Bridge-specific fee details
  - `totalFee` string — Total fee in token units
  - `totalFeeFormatted` string — Human-readable formatted total fee
  - `route` object
    - `tokenIn` string
    - `tokenOut` string
    - `sourceChain` string
    - `destinationChain` string
    - `amount` string
    - `bridge` 'ACROSS' | 'CCTP' | 'GATEWAY' | 'RHINOFI'
    - `recipient` string, nullable

## Other responses

- `400` — Bad Request - Invalid parameters
- `401` — Unauthorized - Invalid or missing API key
- `500` — Internal Server Error

## Changes

> 9 revisions in range; 2 could not be searched.

- **2026-02-17** `2168c5f4fdd5` — 15 info
  - added the new optional `query` request parameter `amountSymbol`
  - added the new enum value `HYPEREVM_MAINNET` to the `query` request parameter `destinationChain`
  - added the new enum value `HYPEREVM_MAINNET` to the `query` request parameter `sourceChain`
  - added the new enum value `LISK_MAINNET` to the `query` request parameter `destinationChain`
  - …11 more
- **2025-12-13** `0172b83f90c7` — 4 info
  - added the media type `application/json` for the response with the status `200`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `500`
- **2025-11-11** `fce39ccb3e9d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/horuslabsio/apis/chainrails-api/changes/quotes/multiple/get.md)

---

[API](https://skmtc.dev/horuslabsio/apis/chainrails-api.md) · [All operations](https://skmtc.dev/horuslabsio/apis/chainrails-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/horuslabsio/chainrails-api/revisions/dcf19c1bab20/schema)
