execute_bridge
Generate unsigned transactions and signatures for cross-chain token transfers or swaps via Relay Protocol. Returns all required steps including approvals and deposits for ERC-20 tokens.
Instructions
Get a quote and unsigned transactions for a bridge or swap via Relay. Returns ALL steps required to complete the transfer.
For ERC-20 tokens (like USDC), there are typically TWO steps:
approve — An ERC-20 approval transaction allowing Relay to spend the token.
deposit — The actual bridge/swap transaction.
For native tokens (ETH), there is usually just ONE step:
deposit — The bridge/swap transaction.
Some routes may also include a "signature" step (EIP-712 signing instead of a transaction).
Each step has a "kind" field:
"transaction" → must be signed and broadcast via eth_sendTransaction
"signature" → must be signed via eth_signTypedData_v4, then POSTed to the Relay API
After calling this tool, pass ALL the returned steps to the wallet tool with action "execute" to sign and submit them in order. The wallet tool handles the full multi-step flow automatically.
If a wallet is connected via the wallet tool, the sender defaults to the connected address. Returns a requestId for tracking status via get_transaction_status.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| originChainId | Yes | Source chain ID. | |
| destinationChainId | Yes | Destination chain ID. | |
| originCurrency | Yes | Origin token address. "0x0000000000000000000000000000000000000000" for native. | |
| destinationCurrency | Yes | Destination token address. "0x0000000000000000000000000000000000000000" for native. | |
| amount | Yes | Amount in the origin token's smallest unit (wei). | |
| sender | No | Sender wallet address. If omitted and a wallet is connected via the wallet tool, the connected address is used. | |
| recipient | No | Recipient wallet address. Defaults to sender. |