How Bridging Works
Bridging follows a straightforward process:1
Create bridge request
Specify source chain, destination chain, and amount to bridge.
2
Processing
HIFI executes the cross-chain operations (burn on source, mint on destination).
3
Completion
Stablecoins arrive on the destination chain.
Creating Bridge Requests
Use the Create Bridge endpoint to initiate a cross-chain transfer. Request:Response
Response
Unique bridge ID. Use this to check status using the Retrieve Bridge endpoint.
Bridge status. Progression:
CREATED → SOURCE_INITIATED → SOURCE_PROCESSED → DESTINATION_INITIATED → COMPLETED. See Transaction Status for details.Source chain details including wallet address, chain, and currency.
Destination chain details including wallet address, chain, and currency.
Amount being bridged in the specified currency.
Bridge quote details including amounts and rate. For same-asset bridges, the rate is always “1”.
Transaction receipt. Contains
transactionHash and operations (approve, burn, mint) once bridge operations are executed on-chain.For detailed field documentation, see the Create Bridge API reference.
Transaction Status
Bridge transactions progress through several phases:Source Chain Phase
| Status | Description |
|---|---|
| CREATED | Bridge request created and awaiting processing |
| SOURCE_INITIATED | Burning tokens on source chain |
| SOURCE_PENDING | Waiting for source chain confirmation |
| SOURCE_PROCESSED | Tokens successfully burned on source chain |
| SOURCE_FAILED | Source chain operation failed |
Destination Chain Phase
| Status | Description |
|---|---|
| DESTINATION_INITIATED | Minting tokens on destination chain |
| DESTINATION_PENDING | Waiting for destination chain confirmation |
| COMPLETED | Tokens successfully minted on destination chain |
| DESTINATION_FAILED | Destination chain operation failed |
Other Statuses
| Status | Description |
|---|---|
| NOT_INITIATED | Bridge not submitted due to validation error |
| QUOTE_FAILED | Quote expired (bridges typically don’t use quotes) |
| UNKNOWN | Status could not be determined |
Tracking Bridges
Status Updates: Subscribe to
WALLET.BRIDGE.CREATE and WALLET.BRIDGE.UPDATE webhook events to receive real-time status notifications. See Webhooks for setup instructions.Response
Response
Bridge status.
COMPLETED means tokens have been successfully minted on the destination chain.Blockchain operations that were executed during the bridge. Each operation (approve, burn, mint) contains
transactionHash, userOpHash, and chain for verification on block explorers.Bridge Operations
Bridging involves three blockchain operations tracked in thereceipt.operations object:
| Operation | Description | Chain |
|---|---|---|
| Approve | Authorizes bridge contract to spend your tokens | Source chain |
| Burn | Destroys tokens on the source chain | Source chain |
| Mint | Creates equivalent tokens on the destination chain | Destination |
transactionHash- Blockchain transaction hash (view on block explorer)userOpHash- User operation hash for account abstraction walletschain- Which blockchain the operation occurred on
Processing Time: Bridge operations typically complete within 2-5 minutes depending on network congestion. Use the transaction hashes to track progress on block explorers.
Supported Routes
Currently supported bridging routes:| Source Chain | Destination Chains |
|---|---|
| Polygon | Ethereum, Base, Optimism, Arbitrum, Solana |
| Ethereum | Polygon, Base, Optimism, Arbitrum, Solana |
| Solana | Polygon, Ethereum, Base, Optimism, Arbitrum |
| Base | Polygon, Ethereum, Solana, Optimism, Arbitrum |
| Optimism | Polygon, Ethereum, Solana, Base, Arbitrum |
| Arbitrum | Polygon, Ethereum, Solana, Base, Optimism |
Key Concepts
1:1 Transfers
1:1 Transfers
Bridges maintain a 1:1 ratio when transferring the same asset across chains. When you bridge 10 USDC from Polygon to Ethereum, you receive 10 USDC on Ethereum (minus any network fees).The
quoteInformation.rate will always be “1” for same-asset bridges.External Wallet Bridging
External Wallet Bridging
You can bridge to external wallet addresses (not managed by HIFI) by providing
walletAddress instead of userId in the destination:Gas Sponsorship Required: To bridge to external addresses, you must be enrolled in HIFI’s Gas Sponsorship Program. Otherwise, provide a
userId to bridge to a HIFI wallet.Bridge vs Transfer
Bridge vs Transfer
Bridges move assets across different blockchains (e.g., Polygon → Ethereum).Transfers move assets within the same blockchain (e.g., Polygon wallet A → Polygon wallet B).Use bridges when you need assets on a different chain. Use transfers for same-chain movements.
Sample Code
Complete bridge flow
1
Create bridge request
2
Monitor progress
Poll the retrieve endpoint or subscribe to
WALLET.BRIDGE.UPDATE webhooks. Track through statuses:- SOURCE_INITIATED → SOURCE_PENDING → SOURCE_PROCESSED
- DESTINATION_INITIATED → DESTINATION_PENDING → COMPLETED
3
Verify on block explorers
Once COMPLETED, use transaction hashes from
receipt.operations to verify:- Check burn transaction on source chain explorer (Polygonscan)
- Check mint transaction on destination chain explorer (Etherscan)
Bridge with approval
1
Create bridge with approval
Set
requireApproval: true for multi-party authorization:2
Review pending bridge
The bridge enters
PENDING_APPROVAL status. Dashboard admins are notified to approve or reject via email and webhook.3
Execution or rejection
If approved, the bridge proceeds through normal processing. If rejected, it’s cancelled.
Getting Help
- 📧 Email: support@hifibridge.com
- 💬 Slack: Message us in our shared Slack channel
Related Resources
- Wallet Transfers - Same-chain transfers
- Wallets - Understand wallet addresses and balances
- Webhooks - Real-time bridge status notifications
- API Reference - Complete endpoint documentation