bridge

Aggregate Bridge Swap

Aggregates swap quotes from all bridges supporting a specified token pair. It allows users to customize their query to prioritize either the best output or the lowest gas costs. The response provides detailed transaction data including bridge identifiers, output amounts, swap routing parameters (such as call data), gas estimates, and a reference, enabling traders to compare and select the most efficient swap route for their needs.

💡 Compute Unit Value: 95 (Fixed)

post/defi/v1/bridge/swaps

Request

  • Base URL
    https://svc.blockdaemon.com
  • URL
    https://svc.blockdaemon.com/defi/v1/bridge/swaps
  • Auth
    API key in header X-API-Key

Request body

srcChainIdstring

The unique chain ID to specify the source chain. Find more here.

dstChainIdstring required

The unique chain ID to specify the destination chain. Find more here.

srcChainSymbolstring

Symbol of the source chain.

srcTokenSymbolstring

Symbol of the token to swap.

dstTokenSymbolstring

Symbol of the token to be received after the swap.

amountInstring required

Amount of the input token to provide, specified in the token's smallest denomination (base units). Do not send human-readable decimal values. Examples: to swap 1 WETH (18 decimals), use "1000000000000000000"; to swap 1 USDC (6 decimals), use "1000000".

srcTokenAddressstring

Contract address of the source (input) token on the source chain. For EVM chains, use a checksummed hex address (e.g., 0x...). Either srcTokenAddress or srcTokenSymbol must be provided.

dstTokenAddressstring

Contract address of the destination (output) token on the destination chain. For EVM chains, use a checksummed hex address (e.g., 0x...). Either dstTokenAddress or dstTokenSymbol must be provided.

fromstring required

Blockchain address of the token sender. For EVM chains, use a checksummed hex address (e.g., 0xABCDEF...). This address must hold sufficient balance of the input token and will sign the transaction.

gasstring

Maximum number of gas units to allocate for the transaction, as an integer string (e.g., '200000'). If omitted, gas is estimated automatically. Note: this is gas units, not wei or gwei.

tostring required

Blockchain address of the token recipient. For EVM chains, use a checksummed hex address (e.g., 0xABCDEF...). Output tokens are delivered to this address after the swap.

excludedBridgesstring

Comma-separated list of bridge protocol IDs (bridgeId values) to exclude from routing. Find available IDs via the /support endpoint.

bestNetPriceboolean

If true, sorts prepared transactions by net value (amountsOut minus gas) in descending order. If multiple sort parameters are true, bestNetPrice takes precedence.

bestQuoteboolean

If true, sorts prepared transactions by amountsOut in descending order. If multiple sort parameters are true, bestNetPrice takes precedence.

lowestGasboolean

If true, sorts prepared transactions by gas cost in ascending order. If multiple sort parameters are true, bestNetPrice takes precedence.

gasPrioritystring

Specifies the priority level for gas fees (e.g., 'low', 'medium', or 'high'), which influences the transaction speed and cost.

enableFeeboolean

Flag to include a basis points fee transaction alongside the main transaction when set to true.

batchOption'EIP-5792' | 'EIP-7702'

Transaction batching standard to use. Supported values: 'EIP-5792' (wallet-level batching via wallet_sendCalls) or 'EIP-7702' (EOA code delegation via batcherContract). Requires batcherContract when using EIP-7702.

batcherContractstring

The EOA address of the batcher that will be used to execute the transaction when using EIP-7702 batching. If not provided, the default batcher contract for the chain will be used.

simulateboolean

When true, dry-runs the transaction batch via eth_simulateV1 and returns a simulate field with status and error on each transaction.

Example request

{
  "srcChainId": "1",
  "dstChainId": "1",
  "srcChainSymbol": "ETH",
  "srcTokenSymbol": "usdt",
  "dstTokenSymbol": "ETH",
  "amountIn": "1000000000000000000",
  "srcTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
  "dstTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
  "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
  "gas": "100000",
  "to": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
  "excludedBridges": "200",
  "bestNetPrice": false,
  "bestQuote": false,
  "lowestGas": false,
  "gasPriority": "low",
  "enableFee": false,
  "batchOption": "EIP-5792",
  "batcherContract": "0x9c933f9d2efd76ce25b0d3dde84d3f94e78a50ca",
  "simulate": false
}

Response

Successful response

statusnumber

Numeric status code indicating success or failure of the API call

msgstring

Human-readable message describing the API result or error

Example response

{
  "status": 200,
  "msg": "success",
  "data": [
    {
      "bridgeId": "500",
      "bridgeName": "StargateV2",
      "chainId": "1",
      "from": "0xa67E9B68c41b0f26184D64C26e0b2B81466E5994",
      "to": "0xc026395860Db2d07ee33e05fE50ed7bD583189C7",
      "value": "9696507066771",
      "gas": "920000",
      "data": "0xc7c7f5b30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000008d1a4dbf9930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e599400000000000000000000000000000000000000000000000000000000000075e8000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e59940000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000",
      "amountsOut": "9999499",
      "estimationCheck": "Returned error: failed with 35894639 gas: insufficient funds for gas * price + value: address 0xa67E9B68c41b0f26184D64C26e0b2B81466E5994 have 0 want 9696507066771",
      "referenceId": "8a401db3386b4b389c655d4fe8b4589b"
    },
    {
      "bridgeId": "600",
      "bridgeName": "SquidRouterV2",
      "chainId": "1",
      "from": "0xa67E9B68c41b0f26184D64C26e0b2B81466E5994",
      "to": "0xdf4ffda22270c12d0b5b3788f1669d709476111e",
      "value": "0",
      "gas": "920000",
      "data": "0x0d77797c000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e5994000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e5994000000000000000000000000ade3867e7e2dace6fa60f21db2cc89f8fb624452000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000833589fcd6edb6e08f4c7c32d4f71b54bda0291300000000000000000000000000000000000000000000000000000000681c9c160000000000000000000000000000000000000000000000000000000000989680000000000000000000000000000000000000000000000000000000000098778900000000000000000000000000000000000000000000000000000000000002bd000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000021050000000000000000000000000000000000000000000000000000000000000000",
      "amountsOut": "9992073",
      "estimationCheck": "Returned error: execution reverted: ERC20: transfer amount exceeds allowance",
      "referenceId": "8a401db3386b4b389c655d4fe8b4589b"
    },
    {
      "bridgeId": "400",
      "bridgeName": "AllbridgeCore",
      "chainId": "1",
      "gas": "920000",
      "from": "0xa67E9B68c41b0f26184D64C26e0b2B81466E5994",
      "to": "0xC51397b75B783E31469bFaADE79913F3f82210d6",
      "value": "107462908551964",
      "data": "0x7dfb08f10000000000000000000000000000000000000000000000000000000000989680000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e599400000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000",
      "amountsOut": "9990000",
      "estimationCheck": "Returned error: failed with 35894639 gas: insufficient funds for gas * price + value: address 0xa67E9B68c41b0f26184D64C26e0b2B81466E5994 have 0 want 107462908551964",
      "referenceId": "8a401db3386b4b389c655d4fe8b4589b"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.