Skip to main content
POST
/
clients
/
me
/
integrations
/
0x
/
cross-chain
/
quotes
Get cross-chain swap quotes
curl --request POST \
  --url https://api.portalhq.io/api/v3/clients/me/integrations/0x/cross-chain/quotes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "originChain": "<string>",
  "destinationChain": "<string>",
  "sellToken": "<string>",
  "buyToken": "<string>",
  "sellAmount": "<string>",
  "sortQuotesBy": "speed",
  "originAddress": "<string>",
  "destinationAddress": "<string>",
  "slippageBps": 123,
  "maxNumQuotes": 5,
  "excludedBridges": "<string>",
  "includedBridges": "<string>",
  "excludedSwapSources": "<string>",
  "feeBps": "<string>",
  "feeRecipient": "<string>",
  "feeToken": "<string>",
  "zeroXApiKey": "<string>"
}
'
{
  "data": {
    "rawResponse": {
      "liquidityAvailable": true,
      "allowanceTarget": "<string>",
      "originChainId": "<string>",
      "originChain": "<string>",
      "destinationChainId": "<string>",
      "destinationChain": "<string>",
      "sellToken": "<string>",
      "buyToken": "<string>",
      "issues": {
        "allowance": {
          "actual": "<string>",
          "spender": "<string>"
        },
        "balance": {
          "token": "<string>",
          "actual": "<string>",
          "expected": "<string>"
        },
        "simulationIncomplete": true
      },
      "zid": "<string>",
      "quotes": [
        {
          "sellAmount": "<string>",
          "buyAmount": "<string>",
          "minBuyAmount": "<string>",
          "fees": {},
          "gasCosts": {},
          "steps": [
            {}
          ],
          "transaction": {
            "from": "<string>",
            "to": "<string>",
            "data": "<string>",
            "gas": "<string>",
            "gasPrice": "<string>",
            "value": "<string>"
          },
          "approvalTransaction": {
            "from": "<string>",
            "to": "<string>",
            "data": "<string>",
            "value": "<string>",
            "gas": "<string>",
            "gasPrice": "<string>"
          },
          "estimatedTimeSeconds": 123,
          "issues": {},
          "quoteId": "<string>"
        }
      ]
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.portalhq.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Client API Key or Client Session Token (CST). Pass as a Bearer token in the Authorization header.

Body

application/json
originChain
string
required

Origin chain in CAIP-2 format (e.g. eip155:8453).

destinationChain
string
required

Destination chain in CAIP-2 format (e.g. eip155:42161).

sellToken
string
required

Token to sell on the origin chain. Accepts a contract address (e.g. 0x833589...), a native token keyword (NATIVE, ETH, AVAX, SOL, etc.), or a supported token symbol (USDC).

buyToken
string
required

Token to buy on the destination chain. Same formats as sellToken.

sellAmount
string
required

Amount of sellToken in base units to sell.

sortQuotesBy
enum<string>
required

Sort quotes by speed or price.

Available options:
speed,
price
originAddress
string

Wallet address on origin chain. Defaults to the client's EIP-155 address.

destinationAddress
string

Wallet address to receive tokens. Defaults to originAddress.

slippageBps
number

Maximum slippage in basis points (100 = 1%). Defaults to 100.

maxNumQuotes
integer

Maximum number of quotes to return. Defaults to 3.

Required range: 1 <= x <= 10
excludedBridges
string

Comma-separated bridge providers to exclude.

includedBridges
string

Comma-separated bridge providers to include.

excludedSwapSources
string

Comma-separated DEX sources to exclude.

feeBps
string

Integrator fee in basis points.

feeRecipient
string

Address to receive integrator fees.

feeToken
string

Token for fee collection (defaults to sell token).

zeroXApiKey
string

Optional 0x API key.

Response

Cross-chain quotes retrieved successfully

data
object