What is the bridge flow for a web3 bridge transaction?

Last updated: February 10, 2026


Five-Step Bridge Process

The bridging process follows a structured five-step approach:

  1. Get a quote from the bridge API

  2. Accept/commit the quote

  3. Send the funds to the bridge contract

  4. Funds are detected as received

  5. Bridge execution completes

Bridge States and Transitions

Bridge transactions progress through several states:

  • PENDING: Quote committed, waiting for deposit on-chain

  • PENDING_CONFIRMATION: (Fast chains only) Deposit detected but waiting for confirmation

  • ACCEPTED: Deposit confirmed, working on executing on destination chain

  • EXECUTED: Bridge completed successfully

  • CANCELLED: Transaction failed (e.g., insufficient energy/gas)

Technical Implementation

Using the SDK, the process involves:

  • Call prepareBridge() to get a quote and check if token approval is needed

  • Handle the response based on type:

    • no-approval-needed: Call bridge() directly

    • approval-needed: Call approve() first, then bridge()

    • error: Handle the error appropriately

Key Requirements

  • A quote must be created before sending funds - direct sends to bridge contracts without quotes will not be processed

  • The quote contains all the information needed to process the bridge transaction

  • Bridge transactions are atomic - they either complete fully or fail completely (no partial fills)

Webhook Notifications

Throughout the process, webhook events are triggered:

  • BRIDGE_PENDING: When quote is committed

  • BRIDGE_ACCEPTED: When deposit is confirmed (includes depositTxHash)

  • BRIDGE_EXECUTED: When bridge completes (includes both depositTxHash and withdrawTxHash)

This structured approach ensures reliable cross-chain transfers while providing visibility into transaction status throughout the process.