Gitcoin Grants 20!Donate here

L2BEAT Bridges is a work in progress. You might find incomplete research or inconsistent naming. Join our discord to suggest improvements!

Frax Ferry logoFrax Ferry

The Frax Ferry is a permissioned bridge that can be used to transfer tokens between chains.
  • Total value locked
    $33.83 M13.87%
  • Destination
    Various
  • Validated by
    Optimistic
  • Type
    Token Bridge
  • ...

    Risk summary
    Technology

    Principle of operation

    The Frax Ferry is a permissioned bridge that can be used to transfer tokens between chains. Users can transfer tokens to the bridge escrow on the origin chain, and the bridge administrator (the Captain) periodically posts hashes of transaction batches on the destination chains. After the challenge period is expired, the batch is considered valid, and another permissioned account (First Officer) executes the transfer of the tokens on the destination chain.

    1. Fraxferry documentation
    2. Fraxferry.sol - Etherscan source code

    Both inbound and outbound transfers are verified optimistically

    Hashes of transaction batches on the origin chains are posted periodically on the destination chains by the Frax Maintenance Bot EOA (the Captain). After the batch hash is posted on the destination chain, a challenge period begins. If no challenge is submitted within the challenge period of 11h, the batch is considered valid. The authorised bridge First Officer can then execute the transfer of the tokens on the destination chain. No slashing mechanism is implemented. During a challenge period, a batch can be challenged by a permissioned set of watchdogs, the Crew Members, by sending a transaction on the destination chain. Should a batch be disputed, the bridge is paused until it is unpaused by the bridge owner.

    • Funds can be frozen if a crew member pauses the contract and owner does not unpause it.

    • Funds can be frozen if the captain does not post the hash of the transaction batch, or first officer does not disembark to distribute the funds.

    • Funds can be stolen if incorrect hash is submitted and nobody challenges it.

    • Funds can be stolen if bridge owner removes funds from the bridge escrow (CRITICAL).

    1. Fraxferry - Depart transactions batch function
    2. Fraxferry - Dispute Batch function
    3. Fraxferry - Disembark Batch function

    Destination tokens are not upgradable

    Tokens on the destination chain are not upgradable. The owner of the token contract sets permissioned Minter addresses that can mint new tokens up to a max cap amount.

    1. Frax token - Arbiscan source code, minter_mint function
    Permissions

    The system uses the following set of permissioned addresses:

    Bridge Owner 0xB174…3f27

    Address authorized to pause and unpause the bridge, remove posted batches, set the challenge period, and change the bridge Captain, First Officer and Crew Members. It is also allowed to set fees and transfer tokens from the bridge escrow. Note that there are over 60 frax ferry bridges smart contracts, each with its own owner. Please check the owner() method of the specific escrow smart contract you are interested in.

    FPI Bridge Owner 0x6A7e…C502

    Has the same permissions as the above Bridge Owner, but only for the FPI and FPIS bridge contracts.

    Address authorized to post batch transaction data from the origin chain. Note that there are over 60 frax ferry bridges smart contracts, each with its own Captain. Please check the captain() method of the specific escrow smart contract you are interested in.

    First Officer 0xBB43…45B9

    Address authorized to distribute funds on the destination chain once the challenge period has passed. Note that there are over 60 frax ferry bridges smart contracts, each with its own firstOfficer. Please check the firstOfficer() method of the specific escrow smart contract you are interested in.

    Crew Members 0xBB43…45B9

    Addresses authorized to dispute batch transaction data on the destination chain. Note that there are over 60 frax ferry bridges smart contracts, each with its own crew members. Please check the crewmember() method of the specific escrow smart contract you are interested in.

    Smart contracts
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    The system consists of the following smart contracts:

    FRAX Ferry Bridge (Arbitrum) 0x85c5…6128

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Arbitrum) 0x4b87…a50C

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (Arbitrum) 0x5878…6BDB

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (Arbitrum) 0xCd4a…6C9E

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (Arbitrum) 0x5056…7bab

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Arbitrum) 0x8afd…D7D6

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (Arbitrum) 0x2453…Cc0d

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (Aurora) 0x6ac9…9eC4

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FRAX Ferry Bridge (Avalanche) 0xA381…CF8b

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Avalanche) 0x9Ab2…a742

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (Avalanche) 0xbb6b…68d1

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (Avalanche) 0x18A5…f17F

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (Avalanche) 0x94dd…12b4

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Avalanche) 0xF380…7620

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (Avalanche) 0x59ae…F8A9

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (Boba) 0x3eF1…8B4b

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FRAX Ferry Bridge (bsc) 0xDAe2…e2D9

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (bsc) 0x9B62…0E5d

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (bsc) 0xfbD3…5393

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (bsc) 0xf18B…0bb5

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (bsc) 0xce4D…03f5

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (bsc) 0x621D…661A

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (bsc) 0xe3e7…a8C9

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (evmos) 0x2d22…A842

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FRAX Ferry Bridge (Fantom) 0xfB78…1788

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Fantom) 0x1313…9622

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    frxETH Ferry Bridge (Fantom) 0xaF43…7EdE

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Fantom) 0xB6b0…3dE4

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    FRAX Ferry Bridge (Fraxtal) 0x5e1D…8FEE

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Fraxtal) 0x4A6d…42f6

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (Fraxtal) 0x9A57…8a6c

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (Fraxtal) 0x9588…3003

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    sfrxETH Ferry Bridge (Fraxtal) 0x5c5f…0FE3

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (Fraxtal) 0x2b48…bE47

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (Moonbeam) 0xF1E1…F242

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Moonbeam) 0x2De1…Fd7A

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    frxETH Ferry Bridge (Moonbeam) 0x2285…22c5

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Moonbeam) 0xbc3A…F187

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    FRAX Ferry Bridge (Moonriver) 0x15AD…4bb0

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Moonriver) 0xFe7e…94DE

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FRAX Ferry Bridge (Optimism) 0x06Fa…25d4

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Optimism) 0x6650…270a

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (Optimism) 0xC05D…2B2a

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (Optimism) 0x8Bf7…46F0

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (Optimism) 0x2F08…BdE2

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Optimism) 0x04ba…a0CC

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (Optimism) 0x9694…2367

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (Polygon PoS) 0x4395…2c57

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (Polygon PoS) 0xCa02…9276

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    frxETH Ferry Bridge (Polygon PoS) 0x98f5…6e26

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Polygon PoS) 0x91Ff…fF90

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    FRAX Ferry Bridge (Polygon zkEVM) 0x86E7…c98a

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (polygonzkEVM) 0xBa32…525a

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (Polygon zkEVM) 0x45D2…3349

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (Polygon zkEVM) 0xF887…772c

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (Polygon zkEVM) 0x3aaB…B137

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (Polygon zkEVM) 0xb868…F4d2

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.

    sFRAX Ferry Bridge (Polygon zkEVM) 0x602c…578E

    sFRAX Bridge Contract (Escrow). This contract stores the following tokens: sFRAX.

    FRAX Ferry Bridge (zkSync) 0x32dD…72C4

    FRAX Bridge Contract (Escrow). This contract stores the following tokens: FRAX.

    FXS Ferry Bridge (zkSync) 0x27E9…a214

    FXS Bridge Contract (Escrow). This contract stores the following tokens: FXS.

    FPI Ferry Bridge (zkSync) 0x0F61…BDf5

    FPI Bridge Contract (Escrow). This contract stores the following tokens: FPI.

    FPIS Ferry Bridge (zkSync) 0xFBC5…5482

    FPIS Bridge Contract (Escrow). This contract stores the following tokens: FPIS.

    frxETH Ferry Bridge (zkSync) 0x9f76…3Fa9

    frxETH Bridge Contract (Escrow). This contract stores the following tokens: frxETH.

    sfrxETH Ferry Bridge (zkSync) 0x2939…Ef37

    sfrxETH Bridge Contract (Escrow). This contract stores the following tokens: sfrxETH.