---
title: "getQuotes"
method: GET
path: "/cross-chain/quotes"
tags: ["Cross-Chain"]
---

# getQuotes

`GET /cross-chain/quotes`

Get the quotes for a cross chain swap

## Query parameters

- `originChain` string, required
- `destinationChain` string, required
- `sellToken` string, required
- `buyToken` string, required
- `sellAmount` string, required
- `originAddress` string, required
- `destinationAddress` string
- `gasPayer` string
- `solanaEphemeralSignerPubkey` string
- `slippageBps` integer
- `excludedBridges` string
- `includedBridges` string
- `excludedSwapSources` string
- `feeBps` string
- `feeRecipient` string
- `feeToken` string
- `sortQuotesBy` 'speed' | 'price', required
- `maxNumQuotes` integer

## Headers

- `0x-api-key` string, required

## Response `200`

Successful response

- union
  - object
    - `liquidityAvailable` true, required — Whether sufficient liquidity exists across bridges and DEXs to execute the cross-chain swap
    - `allowanceTarget` union, required — The contract address to set the allowance on, if necessary
      - string
      - string
      - string
      - string
    - `originChainId` number, required — The numeric chain ID of the origin chain where the swap begins
    - `originChain` string, required — The name of the origin chain where the swap begins
    - `destinationChainId` number, required — The numeric chain ID of the destination chain where tokens will be received
    - `destinationChain` string, required — The name of the destination chain where tokens will be received
    - `sellToken` union, required — The contract address of the token being sold on the origin chain
      - string
      - string
      - string
      - string
    - `buyToken` union, required — The contract address of the token being bought on the destination chain
      - string
      - string
      - string
      - string
    - `issues` object, required
      - `allowance` object, nullable, required — The allowances that the `originAddress` must set in order to execute the swap successfully. Null if no allowance is required
        - `spender` union, required — The address to set the allowance on
          - string
          - string
          - string
          - string
      - `balance` object, nullable, required — The balance of `sellToken` that the `originAddress` must hold. Null if the `originAddress` has sufficient balance
        - `token` union, required — The contract address of the `sellToken`
          - string
          - string
          - string
          - string
      - `simulationIncomplete` boolean, required — This is set to `true` when 0x cannot validate the transaction. This happens when the `originAddress` has an insufficient balance of `sellToken` and 0x is unable to perform enhanced quote validation with such low balance. Note that this does not necessarily mean that the trade will revert
      - `invalidSwapSourcesPassed` string[], required — List of invalid swap sources specified in the `excludedSwapSources` parameter
      - `invalidBridgesPassed` string[], required — List of invalid bridge providers specified in the `excludedBridges` or `includedBridges` parameter
    - `zid` string, required — The unique ZeroEx identifier of the request
    - `quotes` object[], required — Array of available cross-chain quotes, each representing a different combination of bridges and DEXs
      - `fees` object, required — All fees associated with this cross-chain quote, including integrator fees, 0x protocol fees, and bridge native fees
        - `integratorFee` object, nullable, required — The details about the first fee collected by the integrator
          - `token` union, required — The contract address of the token in which the integrator collected a fee
            - string
            - string
          - `type` 'volume', required — The fee type indicating it is calculated as a percentage of trade volume
          - `chainId` number — The chain ID where this fee will be collected
          - `collectedBy` 'relay', nullable, required — How this fee is collected. null: transferred on-chain as part of the trade. "relay": collected and paid out by Relay, so it is not a transfer in the origin transaction and may use the token entering the bridge rather than feeToken
        - `integratorFees` object[], nullable, required — The details about the fees collected by the integrator
          - `token` union, required — The contract address of the token in which the integrator collected a fee
            - string
            - string
          - `type` 'volume', required — The fee type indicating it is calculated as a percentage of trade volume
          - `chainId` number — The chain ID where this fee will be collected
          - `collectedBy` 'relay', nullable, required — How this fee is collected. null: transferred on-chain as part of the trade. "relay": collected and paid out by Relay, so it is not a transfer in the origin transaction and may use the token entering the bridge rather than feeToken
        - `zeroExFee` object, nullable, required — The details about the fee collected by 0x
          - `token` union, required — The contract address of the token in which 0x collected a fee
            - string
            - string
          - `type` 'volume', required — The fee type indicating it is calculated as a percentage of trade volume
          - `collectedBy` 'relay', nullable, required — How this fee is collected. null: transferred on-chain as part of the trade. "relay": collected and paid out by Relay, so it is not a transfer in the origin transaction and may use the token entering the bridge rather than feeToken
        - `providerAppFee` object, nullable, required — Provider-native app fee collected by the bridge provider (currently only Relay). The chain ID identifies the fee currency and may differ from the origin and destination chains
          - `token` union, required — The contract address of the token in which the provider collected an app fee
            - string
            - string
            - string
            - string
          - `type` 'volume', required — The fee type indicating it is calculated as a percentage of trade volume
          - `chainId` number, required — The chain ID of the provider app fee currency
        - `bridgeNativeFee` object, nullable, required — Native fee required by the bridge provider for cross-chain message passing that will be added to the transaction value
          - `token` union, required — The contract address of the token in which the bridge fee is collected
            - string
            - string
            - string
            - string
          - `type` 'native', required — The fee type indicating it is a native bridge fee
        - `reimbursementFee` object
          - `token` union, required — The contract address of the token in which the reimbursement fee is collected
            - string
            - string
          - `recipient` string, required — The wallet address that receives the reimbursement fee
      - `gasCosts` union, required — Estimated gas costs for executing the transaction on the origin chain, formatted by chain type
        - object
          - `chainType` 'evm', required — The blockchain type for Ethereum-compatible chains
        - object
          - `chainType` 'svm', required — The blockchain type for Solana Virtual Machine
        - object
          - `chainType` 'tvm', required — The blockchain type for Tron Virtual Machine
      - `steps` union[], required — Sequential steps required to complete the cross-chain swap, including wrapping, swaps, and bridge operations
        - union
          - object
            - `chainId` number, required — The chain ID where this step will be executed
            - `sellToken` string, required — The input token address for this step
            - `buyToken` string, required — The output token address for this step
            - `type` 'wrap', required
          - object
            - `chainId` number, required — The chain ID where this step will be executed
            - `sellToken` string, required — The input token address for this step
            - `buyToken` string, required — The output token address for this step
            - `type` 'unwrap', required
          - object
            - `type` 'swap', required
            - `chainId` number, required — The chain ID where this swap will be executed
            - `sellToken` string, required — The input token address for this swap
            - `buyToken` string, required — The output token address for this swap
            - `estimatedTimeSeconds` integer, nullable, required — Estimated time for this swap step to complete
          - object
            - `type` 'bridge', required
            - `originChainId` number, required — The chain ID where tokens will be sent from
            - `destinationChainId` number, required — The chain ID where tokens will be received
            - `sellToken` union, required — The token address on the origin chain
              - …
            - `buyToken` union, required — The token address on the destination chain
              - …
            - `provider` string, required — The bridge provider name handling this cross-chain transfer
            - `estimatedTimeSeconds` integer, nullable, required — Estimated time for this bridge step to complete
      - `transaction` union, required — The transaction details to execute on the origin chain to initiate the cross-chain swap
        - object
          - `chainType` 'evm', required — The blockchain type for Ethereum-compatible chains
          - `details` object, required
            - `to` string, required — The contract address to send the transaction to on the EVM chain
            - `data` string, required — The calldata containing execution details for the EVM transaction
        - object
          - `chainType` 'svm', required — The blockchain type for Solana Virtual Machine
          - `details` object, required
            - `serializedTransaction` string, required — The base64-encoded serialized Solana transaction
        - object
          - `chainType` 'tvm', required — The blockchain type for Tron Virtual Machine
          - `details` object, required
            - `to` string, required — The Tron contract address to interact with
            - `data` string, required — The calldata for the Tron smart contract call
            - `ownerAddress` string, required — The Tron address of the transaction sender
            - `memo` string — Optional memo attached to the Tron transaction
      - `estimatedTimeSeconds` number, nullable, required — Estimated total time in seconds for the cross-chain swap to complete, including bridge confirmation time
      - `issues` object, required
        - `allowance` object, nullable, required — The allowances that the `originAddress` must set in order to execute the swap successfully. Null if no allowance is required
          - `spender` union, required — The address to set the allowance on
            - string
            - string
            - string
            - string
        - `balance` object, nullable, required — The balance of `sellToken` that the `originAddress` must hold. Null if the `originAddress` has sufficient balance
          - `token` union, required — The contract address of the `sellToken`
            - string
            - string
            - string
            - string
        - `simulationIncomplete` boolean, required — This is set to `true` when 0x cannot validate the transaction. This happens when the `originAddress` has an insufficient balance of `sellToken` and 0x is unable to perform enhanced quote validation with such low balance. Note that this does not necessarily mean that the trade will revert
      - `quoteId` string, required — The unique ID for this cross-chain quote
  - object
    - `liquidityAvailable` false, required — Whether sufficient liquidity exists across bridges and DEXs to execute the cross-chain swap
    - `zid` string, required — The unique ZeroEx identifier of the request

## Other responses

- `400` — 400 error response
- `500` — 500 error response

---

[API](https://skmtc.net/0xproject/apis/0x-cross-chain-api.md) · [All operations](https://skmtc.net/0xproject/apis/0x-cross-chain-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/0xproject/0x-cross-chain-api/versions/043dbd431099/schema)
