CalixBridge uses a lock-and-release model to move assets between Calix Chain and external networks. A Go relayer monitors on-chain events and finalizes transfers on the destination chain.
The bridge operates in two steps:
bridgeOut (or bridgeOutNative) on the source chain â assets are locked in the contract and a BridgeOut event is emitted.bridgeIn on the destination chain to release or mint the equivalent assets.| Asset | Token Address | Destinations |
|---|---|---|
| Native CLX | address(0) | Ethereum, BSC |
| CLX20 tokens | any CLX20 | Ethereum, BSC |
| Any ERC-20 | any ERC-20 | Ethereum, BSC |
| IBC assets | via IBC port | Osmosis, Cosmos Hub |
bridgeIn// Approve bridge first
await token.approve(bridgeAddress, amount);
// Bridge out to Ethereum
await bridge.bridgeOut(
tokenAddress,
amount,
destinationChainId, // e.g. 1 for Ethereum mainnet
recipientAddress // hex address on destination
);
await bridge.bridgeOutNative(
destinationChainId,
recipientAddress,
{ value: ethers.parseEther("10") }
);