---
updatedAt: 2026-05-14T11:27:34.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Create Bridge Swap Transaction with Approval

Generates both token approval and swap transactions in a single call with configurable slippage protection.

> 💡 
**Compute Unit Value:** `110` (Fixed)

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "name": "Blockdaemon",
      "email": "info@blockdaemon.com"
    },
    "description": "The Blockdaemon DeFi API provides a single interface to a multitude of DeFi projects and blockchains",
    "title": "Blockdaemon DeFi API",
    "version": "1.0.0",
    "x-logo": {
      "altText": "Blockdaemon logo",
      "backgroundColor": "#fafafa",
      "url": "https://storage.googleapis.com/blockdaemon-app-static-images/marketing/PNG/dark-logo.png"
    }
  },
  "externalDocs": {
    "description": "Blockdaemon DeFi documentation",
    "url": "http://www.blockdaemon.com/api/defi"
  },
  "servers": [
    {
      "url": "https://svc.blockdaemon.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "`X-API-Key: <Token>` header must be set to authenticate API requests.You can create tokens in the \"Configure\" tab of your API access area at https://app.blockdaemon.com."
      }
    },
    "schemas": {
      "_bridge_swapwithapproval_Request": {
        "type": "object",
        "properties": {
          "bridgeId": {
            "type": "string",
            "description": "The unique ID to specify the bridge protocol for routing cross-chain queries or transactions. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-bridges-protocols).",
            "enum": [
              "600",
              "300",
              "400",
              "100",
              "500"
            ],
            "example": "600"
          },
          "srcChainId": {
            "type": "string",
            "description": "The unique chain ID to specify the source chain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).",
            "example": "1"
          },
          "dstChainId": {
            "type": "string",
            "description": "The unique chain ID to specify the destination chain. Find more [here](https://docs.blockdaemon.com/docs/defi-api-supported-protocols#supported-chains).",
            "example": "1"
          },
          "srcTokenSymbol": {
            "type": "string",
            "description": "Symbol of the token to swap.",
            "example": "usdt"
          },
          "dstTokenSymbol": {
            "type": "string",
            "description": "Symbol of the token to be received after the swap.",
            "example": "ETH"
          },
          "srcTokenAddress": {
            "type": "string",
            "description": "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.",
            "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
          },
          "dstTokenAddress": {
            "type": "string",
            "description": "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.",
            "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
          },
          "amountIn": {
            "type": "string",
            "description": "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\".",
            "example": "1000000000000000000"
          },
          "amountOutMin": {
            "type": "string",
            "description": "Minimum acceptable output amount in the token's smallest denomination (base units). Provides slippage protection — the transaction reverts if the output falls below this value. Set to \"0\" to disable slippage protection. Examples: to require at least 0.99 USDC (6 decimals), use \"990000\"; to require at least 0.99 WETH (18 decimals), use \"990000000000000000\".",
            "example": "0"
          },
          "from": {
            "type": "string",
            "description": "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.",
            "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
          },
          "to": {
            "type": "string",
            "description": "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.",
            "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
          },
          "gasPriority": {
            "type": "string",
            "description": "Specifies the priority level for gas fees (e.g., 'low', 'medium', or 'high'), which influences the transaction speed and cost.",
            "example": "low"
          },
          "slippage": {
            "type": "string",
            "description": "Maximum acceptable slippage as a percentage of the swap value. Valid range: 0 to 100 (e.g., 1 = up to 1% slippage). Defaults to 1. The transaction reverts if the output deviates more than this percentage from the quoted price.",
            "example": "10"
          },
          "enableFee": {
            "type": "boolean",
            "description": "Flag to include a basis points fee transaction alongside the main transaction when set to true.",
            "example": false
          },
          "batchOption": {
            "type": "string",
            "description": "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.",
            "enum": [
              "EIP-5792",
              "EIP-7702"
            ],
            "example": "EIP-5792"
          },
          "batcherContract": {
            "type": "string",
            "description": "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.",
            "example": "0x9c933f9d2efd76ce25b0d3dde84d3f94e78a50ca"
          },
          "simulate": {
            "type": "boolean",
            "description": "When true, dry-runs the transaction batch via eth_simulateV1 and returns a simulate field with status and error on each transaction.",
            "example": false
          },
          "gas": {
            "type": "string",
            "description": "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.",
            "example": "100000"
          },
          "srcChainSymbol": {
            "type": "string",
            "description": "Symbol of the source chain.",
            "example": "ETH"
          }
        },
        "required": [
          "dstChainId",
          "amountIn",
          "from",
          "to"
        ],
        "description": "The request body for a /defi/v1/bridge/swap-with-approval",
        "example": {
          "bridgeId": "600",
          "srcChainId": "1",
          "dstChainId": "1",
          "srcTokenSymbol": "usdt",
          "dstTokenSymbol": "ETH",
          "srcTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
          "dstTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
          "amountIn": "1000000000000000000",
          "amountOutMin": "0",
          "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
          "to": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
          "gasPriority": "low",
          "slippage": "10",
          "enableFee": false,
          "batchOption": "EIP-5792",
          "batcherContract": "0x9c933f9d2efd76ce25b0d3dde84d3f94e78a50ca",
          "simulate": false,
          "gas": "100000",
          "srcChainSymbol": "ETH"
        }
      }
    }
  },
  "tags": [
    {
      "name": "bridge",
      "description": "API endpoints for operations related to bridges"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/defi/v1/bridge/swap-with-approval": {
      "post": {
        "tags": [
          "bridge"
        ],
        "summary": "Create Bridge Swap Transaction with Approval",
        "description": "Generates both token approval and swap transactions in a single call with configurable slippage protection.\n\n> 💡 \n**Compute Unit Value:** `110` (Fixed)",
        "operationId": "bridgeSwapWithApproval",
        "requestBody": {
          "required": true,
          "description": "The request body for a /defi/v1/bridge/swap-with-approval",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/_bridge_swapwithapproval_Request"
              },
              "example": {
                "bridgeId": "600",
                "srcChainId": "1",
                "dstChainId": "1",
                "srcTokenSymbol": "usdt",
                "dstTokenSymbol": "ETH",
                "srcTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
                "dstTokenAddress": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
                "amountIn": "1000000000000000000",
                "amountOutMin": "0",
                "from": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
                "to": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402",
                "gasPriority": "low",
                "slippage": "10",
                "enableFee": false,
                "batchOption": "EIP-5792",
                "batcherContract": "0x9c933f9d2efd76ce25b0d3dde84d3f94e78a50ca",
                "simulate": false,
                "gas": "100000",
                "srcChainSymbol": "ETH"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "number",
                      "description": "Numeric status code indicating success or failure of the API call",
                      "example": 200
                    },
                    "msg": {
                      "type": "string",
                      "description": "Human-readable message describing the API result or error"
                    },
                    "data": {
                      "oneOf": [
                        {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "chainId": {
                                "type": "string",
                                "description": "Blockchain network identifier (EVM chain ID, Solana chain name, etc.)",
                                "example": "1"
                              },
                              "from": {
                                "type": "string",
                                "description": "Sender's wallet address",
                                "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                              },
                              "to": {
                                "type": "string",
                                "description": "Recipient's wallet address",
                                "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                              },
                              "gas": {
                                "type": "string",
                                "description": "Gas limit for the transaction",
                                "example": "100000"
                              },
                              "value": {
                                "type": "string",
                                "description": "Amount being transferred or involved in a transaction",
                                "example": "10"
                              },
                              "data": {
                                "type": "string",
                                "description": "Main payload object or array returned by the API",
                                "example": "0x40e53eb7000000000000000000000000000000000000000000000000000000000016e360"
                              },
                              "referenceId": {
                                "type": "string",
                                "description": "Unique ID for tracking a specific transaction or operation",
                                "example": "8eec8150896e4fdaa26d4d1a1338d676"
                              },
                              "gasPrice": {
                                "type": "string",
                                "description": "Price per gas unit for the transaction",
                                "example": "10000"
                              },
                              "simulate": {
                                "type": "object",
                                "description": "Present when the request used `simulate: true`; eth_simulateV1 summary (omitted when simulation was not run).",
                                "properties": {
                                  "status": {
                                    "type": "string",
                                    "enum": [
                                      "success",
                                      "failure"
                                    ]
                                  },
                                  "error": {
                                    "type": "string",
                                    "nullable": true,
                                    "description": "Failure reason when status is failure; null when status is success"
                                  }
                                },
                                "required": [
                                  "status",
                                  "error"
                                ]
                              }
                            },
                            "required": [
                              "chainId",
                              "from",
                              "to",
                              "value",
                              "data",
                              "referenceId"
                            ]
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "createFeeTxn": {
                              "type": "object",
                              "properties": {
                                "chainId": {
                                  "type": "string",
                                  "description": "Blockchain network identifier (EVM chain ID, Solana chain name, etc.)",
                                  "example": "1"
                                },
                                "from": {
                                  "type": "string",
                                  "description": "Sender's wallet address",
                                  "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                                },
                                "to": {
                                  "type": "string",
                                  "description": "Recipient's wallet address",
                                  "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                                },
                                "value": {
                                  "type": "string",
                                  "description": "Amount being transferred or involved in a transaction",
                                  "example": "10"
                                },
                                "gasPrice": {
                                  "type": "string",
                                  "description": "Price per gas unit for the transaction",
                                  "example": "10000"
                                },
                                "gas": {
                                  "type": "string",
                                  "description": "Gas limit for the transaction",
                                  "example": "100000"
                                },
                                "simulate": {
                                  "type": "object",
                                  "description": "Present when the request used `simulate: true` with `enableFee: true`; fee leg eth_simulateV1 summary.",
                                  "properties": {
                                    "status": {
                                      "type": "string",
                                      "enum": [
                                        "success",
                                        "failure"
                                      ]
                                    },
                                    "error": {
                                      "type": "string",
                                      "nullable": true,
                                      "description": "Failure reason when status is failure; null when status is success"
                                    }
                                  },
                                  "required": [
                                    "status",
                                    "error"
                                  ]
                                }
                              },
                              "required": [
                                "chainId",
                                "from",
                                "to",
                                "value"
                              ]
                            },
                            "swapWithApproveTxn": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "chainId": {
                                    "type": "string",
                                    "description": "Blockchain network identifier (EVM chain ID, Solana chain name, etc.)",
                                    "example": "1"
                                  },
                                  "from": {
                                    "type": "string",
                                    "description": "Sender's wallet address",
                                    "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                                  },
                                  "to": {
                                    "type": "string",
                                    "description": "Recipient's wallet address",
                                    "example": "0xdAe2F6EdDdA6fb4fb60cc02633DE27e2b431B402"
                                  },
                                  "gas": {
                                    "type": "string",
                                    "description": "Gas limit for the transaction",
                                    "example": "100000"
                                  },
                                  "value": {
                                    "type": "string",
                                    "description": "Amount being transferred or involved in a transaction",
                                    "example": "10"
                                  },
                                  "data": {
                                    "type": "string",
                                    "description": "Main payload object or array returned by the API",
                                    "example": "0x40e53eb7000000000000000000000000000000000000000000000000000000000016e360"
                                  },
                                  "referenceId": {
                                    "type": "string",
                                    "description": "Unique ID for tracking a specific transaction or operation",
                                    "example": "8eec8150896e4fdaa26d4d1a1338d676"
                                  },
                                  "gasPrice": {
                                    "type": "string",
                                    "description": "Price per gas unit for the transaction",
                                    "example": "10000"
                                  },
                                  "simulate": {
                                    "type": "object",
                                    "description": "Present when the request used `simulate: true`; eth_simulateV1 summary (omitted when simulation was not run).",
                                    "properties": {
                                      "status": {
                                        "type": "string",
                                        "enum": [
                                          "success",
                                          "failure"
                                        ]
                                      },
                                      "error": {
                                        "type": "string",
                                        "nullable": true,
                                        "description": "Failure reason when status is failure; null when status is success"
                                      }
                                    },
                                    "required": [
                                      "status",
                                      "error"
                                    ]
                                  }
                                },
                                "required": [
                                  "chainId",
                                  "from",
                                  "to",
                                  "value",
                                  "data",
                                  "referenceId"
                                ]
                              }
                            }
                          },
                          "required": [
                            "createFeeTxn",
                            "swapWithApproveTxn"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "from": {
                              "type": "string"
                            },
                            "chainId": {
                              "type": "string"
                            },
                            "referenceId": {
                              "type": "string"
                            },
                            "methodUsed": {
                              "type": "string",
                              "enum": [
                                "EIP-5792",
                                "EIP-7702"
                              ]
                            },
                            "calls": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "to": {
                                    "type": "string"
                                  },
                                  "value": {
                                    "type": "string"
                                  },
                                  "data": {
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "to",
                                  "value",
                                  "data"
                                ]
                              }
                            }
                          },
                          "required": [
                            "from",
                            "chainId",
                            "referenceId",
                            "methodUsed",
                            "calls"
                          ]
                        },
                        {
                          "title": "Generated schema for EIP-7702",
                          "type": "object",
                          "properties": {
                            "from": {
                              "type": "string"
                            },
                            "chainId": {
                              "type": "string"
                            },
                            "referenceId": {
                              "type": "string"
                            },
                            "methodUsed": {
                              "type": "string"
                            },
                            "to": {
                              "type": "string"
                            },
                            "data": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            },
                            "batcherContract": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "from",
                            "chainId",
                            "referenceId",
                            "methodUsed",
                            "to",
                            "data",
                            "value",
                            "batcherContract"
                          ]
                        }
                      ]
                    }
                  },
                  "example": {
                    "status": 200,
                    "msg": "success",
                    "data": [
                      {
                        "chainId": "1",
                        "from": "0xa67E9B68c41b0f26184D64C26e0b2B81466E5994",
                        "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                        "value": "0",
                        "gas": "900000",
                        "data": "0x095ea7b30000000000000000000000008731d54e9d02c286767d56ac03e8037c07e01e980000000000000000000000000000000000000000000000000000000000002710",
                        "nonce": 0,
                        "referenceId": "fdd8054bbd7f42d59692b35e7e7141c0"
                      },
                      {
                        "chainId": "1",
                        "from": "0xa67E9B68c41b0f26184D64C26e0b2B81466E5994",
                        "to": "0x8731d54E9D02c286767d56ac03e8037C07e01e98",
                        "value": "336014619161195",
                        "gas": "900000",
                        "data": "0x9fbf10fc000000000000000000000000000000000000000000000000000000000000006d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a67e9b68c41b0f26184d64c26e0b2b81466e599400000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a67e9b68c41b0f26184d64c26e0b2b81466e59940000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
                        "gasPrice": "1588879231",
                        "nonce": 1,
                        "referenceId": "fdd8054bbd7f42d59692b35e7e7141c0"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "x-bd-cu": "110",
        "x-bd-cu-type": "fixed",
        "x-internal": false
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```