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:
Get a quote from the bridge API
Accept/commit the quote
Send the funds to the bridge contract
Funds are detected as received
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 neededHandle the response based on type:
no-approval-needed: Callbridge()directlyapproval-needed: Callapprove()first, thenbridge()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 committedBRIDGE_ACCEPTED: When deposit is confirmed (includesdepositTxHash)BRIDGE_EXECUTED: When bridge completes (includes bothdepositTxHashandwithdrawTxHash)
This structured approach ensures reliable cross-chain transfers while providing visibility into transaction status throughout the process.