L2BEAT Bridges is a work in progress. You might find incomplete research or inconsistent naming. Join our discord to suggest improvements!
Connext Bridge is a cross-chain bridge that performs atomic swap between user and a liquidity provider (on separate chains) to perform asset swap. Liquidity Providers (Routers) bid for user requests in an off-chain auction.
Connext Bridge is a cross-chain bridge that uses liquidity providers that participate in an auction with each other to fulfill a user token transfer request. Specifically, when a user intends to perform a cross-chain token transfer, they initially broadcast this intent off-chain to Routers (which are registered and run by liquidity providers, with their liquidity kept in Connext Bridge escrow on selected chains). Routers that are able and willing to commit to fulfill the transfer need to respond off-chain with a bid during a short period of time. Upon selection of a bid, the user and the Router start a peer-to-peer atomic swap process. The user communicates with TransactionManager contract on the source chain to lock their tokens and commit to the selected bid. This event triggers selected Router to lock corresponding amount on the destination chain. The user waits for this event and then relays a signed message to the destination contract (via a Relayer) to claim those funds, while the Router uses the same signed message to claim funds on the source chain. There is a timeout for this process - when it passes, both the user and the Router can reclaim their locked funds.
Users can be censored if liquidity providers decide to never bid to fulfill transfers of a given user.
Funds can be frozen if liquidity provider (Router) decides to not cooperate, living user's funds locked for a limited period of time (e.g. 72 hours).
A user and a Router (liquidity provider) engage in a peer-to-peer atomic swap process and both are expected to monitor each other’s actions during the “Prepare” (lock) and “Fulfill” (claim) phases. When a Relayer is used to send a message to the destination chain, the user needs to verify that it happens, and that it happens in a timely manner.