Bridge

Let your user move a position to a new chain in one SDK call.

Source burn, CCIP-validated message, destination mint, all in one call. Chainlink CCIP with the Risk Management Network: two independent oracle networks validate every message, with the RMN running on a separate codebase as an independent kill switch. Settlement time on each route is set by CCIP and the source chain's finality, not by Flo.

SDK · Core primitive

The full Bridge spec lives in the docs

Source burn, CCIP-validated message, destination mint, all in one call. Route matrix, failure semantics, and the Risk Management Network detailed in the reference. Python and Node.js tabs, copy-ready.

Open the Bridge reference

How bridging works

Burn on source, validate via CCIP, mint on destination. The supply accounting stays balanced throughout, every bridge is a net-zero change to total Flo token supply.

01

Source burn

Flo burns the Flo tokens on the origin chain. The burn is recorded in the Flo Capital SPC ledger so the supply accounting stays balanced.

02

CCIP message · Committing DON + RMN

Flo posts a Chainlink CCIP message from the source chain to the destination. The Committing DON commits the message; the Executing DON delivers it on the destination; the Risk Management Network runs in parallel on a separate codebase and can curse the lane if anomalous activity is detected. No single network can sign a fraudulent bridge.

03

Destination mint

On the destination chain, Flo mints the Flo tokens to the wallet you specified. End-to-end settlement time is set by Chainlink CCIP and the source chain's finality requirements, not by Flo.

What bridge gives you

No multi-step UX, no router contracts to integrate, no liquidity fragmentation across chains. Same token, same holder, new chain.

🌉

Every Flo token, every supported chain

Bridge AAPL, TLT, APCI, or any other Flo token. The same API works across every supported origin and destination.

🔒

Chainlink CCIP · Risk Management Network

Flo bridges run on Chainlink CCIP. Two independent oracle networks validate every cross-chain message; the Risk Management Network runs in parallel and can curse a lane if it detects malicious activity.

One call, one transaction

The user signs once. Flo orchestrates the source burn, the CCIP message, and the destination mint. No multi-step UX.

🛠️

Developer pays gas

You cover gas on both chains, which keeps costs transparent. L2s keep the bill low. No hidden fees from Flo.

📋

Full lifecycle webhooks

Subscribe to bridge.queued, bridge.committed, bridge.delivered, bridge.requires_manual_execution, and bridge.lane_cursed events to drive in-app progress indicators, alert on stuck messages, and trigger operator-assisted recovery.

🔁

Symmetric routes

Every route is bidirectional. If you can bridge A → B, you can bridge B → A with the same API shape.

Supported routes

Live across Base, Arbitrum, and Ethereum, every route bidirectional. If you need Flo on a chain that isn't here, drop us a line at chains@flo.finance , we move based on developer pull.

FromToProvider
EthereumBaseChainlink CCIP
EthereumArbitrum OneChainlink CCIP
BaseArbitrum OneChainlink CCIP
BaseEthereumChainlink CCIP
Arbitrum OneEthereumChainlink CCIP
Arbitrum OneBaseChainlink CCIP

Settlement time on each route is set by Chainlink CCIP and the source chain's finality, not by Flo. See CCIP execution latency for live, per-lane numbers.

Build once. Ship on every chain.

Let your users mint on one chain and move anywhere the API supports, without breaking the underlying Flo Capital SPC accounting.