Hanzo Bridge
Cross-chain asset transfers, simplified
Bridge assets between Lux and major blockchain networks securely. Built-in compliance checks, optimized routes, and enterprise-grade reliability.
Multi-Chain Bridging
Transfer assets between Lux, Ethereum, Polygon, Avalanche, and more.
Fast Finality
Optimized routes for fastest possible cross-chain settlement.
Compliance Checks
Built-in screening for sanctioned addresses and suspicious activity.
Secure Messaging
Verified cross-chain message passing with cryptographic proofs.
Get Your API Key
Start building in under 5 minutes
No credit card required. Free tier includes 300M compute units/month.
Trusted by developers building:
Key Capabilities
Everything you need, nothing you don't.
Multi-Chain Bridging
Transfer assets between Lux, Ethereum, Polygon, Avalanche, and more.
Fast Finality
Optimized routes for fastest possible cross-chain settlement.
Compliance Checks
Built-in screening for sanctioned addresses and suspicious activity.
Secure Messaging
Verified cross-chain message passing with cryptographic proofs.
Automatic Retries
Failed transactions automatically retried with gas optimization.
Real-Time Tracking
Track bridge transactions across chains in real-time.
Protocol Integrations
Built on Wormhole, LayerZero, and native bridges for best execution.
Audit Trail
Complete history of all bridge transactions for compliance.
Simple to Integrate
Get started with just a few lines of code. SDKs for every language.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@hanzo/bridge/IHanzoBridge.sol";
import "@hanzo/bridge/IBridgeReceiver.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
contract CrossChainVault is IBridgeReceiver {
IHanzoBridge public bridge;
mapping(bytes32 => bool) public processedMessages;
constructor(address _bridge) {
bridge = IHanzoBridge(_bridge);
}
// Bridge tokens to another chain
function bridgeTokens(
address token,
uint256 amount,
uint16 destChainId,
address recipient
) external payable returns (bytes32 messageId) {
IERC20(token).transferFrom(msg.sender, address(this), amount);
IERC20(token).approve(address(bridge), amount);
messageId = bridge.sendTokens{value: msg.value}(
token,
amount,
destChainId,
abi.encode(recipient)
);
}
// Get bridge quote for fees
function getBridgeQuote(
address token,
uint256 amount,
uint16 destChainId
) external view returns (uint256 fee, uint256 estimatedTime) {
return bridge.getQuote(token, amount, destChainId);
}
// Receive bridged tokens (callback from bridge)
function onBridgeReceive(
bytes32 messageId,
uint16 srcChainId,
address token,
uint256 amount,
bytes calldata payload
) external override {
require(msg.sender == address(bridge), "Only bridge");
require(!processedMessages[messageId], "Already processed");
processedMessages[messageId] = true;
address recipient = abi.decode(payload, (address));
IERC20(token).transfer(recipient, amount);
}
}Built For
DeFi Aggregation
Access liquidity across chains. Find the best rates and lowest slippage.
Portfolio Rebalancing
Move assets between chains for yield optimization and risk management.
Cross-Chain DAOs
Manage treasury assets across multiple chains from a single interface.
Exchange Integration
Enable deposits and withdrawals from any supported chain.
Supported Chains
Start Building with Hanzo Bridge
Get your free API key and ship your first request in under 5 minutes. No credit card required.