-
ProxyAdminMode,Sei,Fraxtal,X-Layer,Ink,Sonic,Arbitrum,Optimism,Polygon,Avalanche,BSC,Polygon zkEvm,Blast,Berachain,Worldchain,Unichain,Plume,Katana,Aurora,Stable0x223a681fc5c5522c85c96157c0efa18cd6c5405c
Base0xF59C41A57AB4565AF7424F64981523DfD7A453c5
Linea0x3cf371c128b092b085B7732069cEAF3Fd863F270
Scroll0x8f1b9c1fd67136d525e14d96efb3887a33f16250
ZKSync,Abstract0xe59dcae52a4ffa39be99588486c84bc2dc1ba52f
Monad0xc2871eae630640ce1a16b39a17c498f22d76c21a
-
Msigs (links to gnosis safe and squad for Solana)
- Chain:
Mode,Sei,X-Layer,Ink,Sonic,Arbitrum,Optimism,Polygon,BSC,Avalanche,Polygon zkEvm,Blast,Berachain,Worldchain,Unichain,Plume,Katana,Aurora,Hyperliquid,Stable- OFTs
frxUSD:0x80Eede496655FB9047dd39d9f418d5483ED600dfsfrxUSD:0x5Bff88cA1442c2496f7E475E9e7786383Bc070c0frxETH:0x43eDD7f3831b08FE70B7555ddD373C8bF65a9050sfrxETH:0x3Ec3849C33291a9eF4c5dB86De593EB4A37fDe45WFRAX:0x64445f0aecC51E94aD52d8AC56b7190e764E561aFPI:0x90581eCa9469D8D7F5D3B60f4715027aDFCf7927
- OFTs
- Chain:
Ethereum- OFTs
WFRAX:0x04ACaF8D2865c0714F79da09645C13FD2888977f
- OFTs
- Chain:
Base- OFTs
frxUSD:0xe5020A6d073a794B6E7f05678707dE47986Fb0b6sfrxUSD:0x91A3f8a8d7a881fBDfcfEcd7A2Dc92a46DCfa14efrxETH:0x7eb8d1E4E2D0C8b9bEDA7a97b305cF49F3eeE8dAsfrxETH:0x192e0C7Cc9B263D93fa6d472De47bBefe1Fb12bAWFRAX:0x0CEAC003B0d2479BebeC9f4b2EBAd0a803759bbfFPI:0xEEdd3A0DDDF977462A97C1F0eBb89C3fbe8D084B
- OFTs
- Chain:
Linea- OFTs:
frxUSD:0xC7346783f5e645aa998B106Ef9E7f499528673D8sfrxUSD:0x592a48c0FB9c7f8BF1701cB0136b90DEa2A5B7B6frxETH:0xB1aFD04774c02AE84692619448B08BA79F19b1ffsfrxETH:0x383Eac7CcaA89684b8277cBabC25BCa8b13B7Aa2WFRAX:0x5217Ab28ECE654Aab2C68efedb6A22739df6C3D5FPI:0xDaF72Aa849d3C4FAA8A9c8c99f240Cf33dA02fc4
- OFTs:
- Chain:
ZkSync,Abstract- OFTs:
frxUSD:0xEa77c590Bb36c43ef7139cE649cFBCFD6163170dsfrxUSD:0x9F87fbb47C33Cd0614E43500b9511018116F79eEfrxETH:0xc7Ab797019156b543B7a3fBF5A99ECDab9eb4440sfrxETH:0xFD78FD3667DeF2F1097Ed221ec503AE477155394WFRAX:0xAf01aE13Fb67AD2bb2D76f29A83961069a5F245FFPI:0x580F2ee1476eDF4B1760bd68f6AaBaD57dec420E
- OFTs:
- Chain:
Scroll- OFTs:
frxUSD:0x397F939C3b91A74C321ea7129396492bA9Cdce82sfrxUSD:0xC6B2BE25d65760B826D0C852FD35F364250619c2frxETH:0x0097Cf8Ee15800d4f80da8A6cE4dF360D9449Ed5sfrxETH:0x73382eb28F35d80Df8C3fe04A3EED71b1aFce5dEWFRAX:0x879ba0efe1ab0119fefa745a21585fa205b07907FPI:0x93cDc5d29293Cb6983f059Fec6e4FFEb656b6a62
- OFTs:
- Chain:
Monad- OFTs:
frxUSD:0x58e3ee6accd124642ddb5d3f91928816be8d8ed3sfrxUSD:0x137643f7b2c189173867b3391f6629cab46f0f1afrxETH:0x288f9d76019469bfeb56bb77d86afa2bf563b75bsfrxETH:0x3b4cf37a3335f21c945a40088404c715525fcb29WFRAX:0x29acc7c504665a5ea95344796f784095f0cfcc58FPI:0xba554f7a47f0792b9fa41a1256d4cf628bb1d028
- OFTs:
Overall, there are three types of LayerZero contracts that provide liquidity for users upon bridging:
- OFT
- Operates as an ERC20
- When tokens are sent to the chain, the OFT is minted
- When tokens are sent from the chain, the OFT is burned
- Adapter (aka lockbox)
- Holds a running balance of a Frax-protocol token
- When tokens are sent to the chain, the Adapter sends the Frax token from its' balance to the recipient
- When tokens are sent from the chain, the sender sends the Frax token to the Adapter
- Mintable Adapter (aka mint/burn lockbox)
- Holds no balance of Frax-protocol token
- When tokens are sent to the chain, the Mintable Adapter mints the Frax token to the recipient
- When tokens are sent from the chain, the Mintable Adapter burns the Frax token
With the exception of Ethereum and Fraxtal, Frax tokens are represented as an OFT. For Ethereum and Fraxtal, Frax tokens are utilized in the following:
- Fraxtal (Mintable Adapter):
0x96A394058E2b84A89bac9667B19661Ed003cF5D4 - Ethereum (Mintable Adapter):
0x566a6442A5A6e9895B9dCA97cC7879D632c6e4B0
- Fraxtal (Mintable Adapter):
0x88Aa7854D3b2dAA5e37E7Ce73A1F39669623a361 - Ethereum (Mintable Adapter):
0x7311CEA93ccf5f4F7b789eE31eBA5D9B9290E126
- Fraxtal (Mintable Adapter):
0x9aBFE1F8a999B0011ecD6116649AEe8D575F5604 - Ethereum (Adapter):
0x1c1649A38f4A3c5A0c4a24070f688C525AB7D6E6
- Fraxtal (Mintable Adapter):
0x999dfAbe3b1cc2EF66eB032Eea42FeA329bBa168 - Ethereum (Adapter):
0xbBc424e58ED38dd911309611ae2d7A23014Bd960
- Fraxtal (Adapter):
0xd86fBBd0c8715d2C1f40e451e5C3514e65E7576A - Ethereum (OFT):
0x04ACaF8D2865c0714F79da09645C13FD2888977f
- Fraxtal (Mintable Adapter):
0x75c38D46001b0F8108c4136216bd2694982C20FC - Ethereum (Mintable Adapter):
0x9033BAD7aA130a2466060A2dA71fAe2219781B4b
Prior to Upgradeable lockboxes, Frax operated immutable lockboxes on Ethereum. Liquidity can be unlocked via the Stargate UI:
LFRAX:0x909DBdE1eBE906Af95660033e478D59EFe831fEDsFRAX:0xe4796cCB6bB5DE2290C417Ac337F2b66CA2E770EfrxETH:0xF010a7c8877043681D59AD125EbF575633505942sfrxETH:0x1f55a02A049033E3419a8E2975cF3F572F4e6E9AFRAX:0x23432452B720C80553458496D4D9d7C5003280d0FPI:0x6Eca253b102D41B6B69AC815B9CC6bD47eF1979d
- Admin: Chain-respective msig
frxUSD- SPL Token:
GzX1ireZDU865FiMaKrdVB1H6AE8LAqWYCg6chrMrfBw- As bytes32:
0x5e208a73d5bb1c78e9dbf53badd7299afd6bee9acacdcd4fd668833e53c538ad
- As bytes32:
- SPL Token:
sfrxUSD- SPL Token:
DUvWQMyASSkLNJFwsMDA4kwxEvmfaqpPGrvUVKtitX45- As bytes32:
0x8602f005ca65b6da46a3c6ce66ecd1d15be911ca650d5f418d369df184b584cf
- As bytes32:
- SPL Token:
frxETH- SPL Token:
5sDrwVNiHMM2jC78hRBH1CtysDQYiNKihubgW2zNu8tf- As bytes32:
0x38dd9e11bbf63835dc61d3cbf259f4221f5987ac92982c96609b99634662dfb3
- As bytes32:
- SPL Token:
sfrxETH- SPL Token:
58zpC9acE6F4FBtd88L64NoWHJcmzLsQSy5bjz35Ydgv- As bytes32:
0xbf2f1fc27286a43f25b05bd843a74a5478c4246343fa90c1fcb641a1caf46c61
- As bytes32:
- SPL Token:
WFRAX- SPL Token:
zZbQjiRg8uSxZaPu996XuviuZeSY6nsaMuutKZQBJga- As bytes32:
0x4939035f8dd13d15a9386e28b6705519aa6f488791323466a3c0116a201e51aa
- As bytes32:
- SPL Token:
FPI- SPL Token:
8xKX8CRH9LxriRUNCPittu1jiovyQQr4EonWQjHZjWyH- As bytes32:
0xd3cee058686107cc51844f331ee213a33142ab299b5ce473c1cf3a8ddaa721a0
- As bytes32:
- SPL Token:
- Admin: Chain-respective msig
frxUSD- OFT Package:
0xe067037681385b86d8344e6b7746023604c6ac90ddc997ba3c58396c258ad17b- OFT FA:
0xe4354602aa4311f36240dd57f3f3435ffccdbd0cd2963f1a69da39a2dbcd59b5
- OFT FA:
- OFT Package:
sfrxUSD- OFT Package:
0xc9bdfdc965bb7fcdcfa6b45870eab33bfaf8f4e8e3f6b89d3e0203aba634a1c9- OFT FA:
0xbf2efbffbbd7083aaf006379d96b866b73bb4eb9684a7504c62feafe670962c2
- OFT FA:
- OFT Package:
frxETH- OFT Package:
0xecb3a766f12981919158fc8ec3b98dd3f8b39a59280e62e80c600cea1b2c0f9c- OFT FA:
0x8645126a60d36e138d435a28875a2aeef253bf80aae22bebcd411ad4251f1585
- OFT FA:
- OFT Package:
sfrxETH- OFT Package:
0x28b7264258592031a024ed8e1632090648ec53797c269ac91aa0c9ed94268356- OFT FA:
0x80d729c4632bcc6279b7bed2542e01e2cebd34ca9f3f15963c29d1621efc221a
- OFT FA:
- OFT Package:
FXS(depreacted)- OFT Package:
0x687dd7e354df73a46a98cc81cfbf51d46e540560b840591eca9ee054f9a2e34c- OFT FA:
0xb5660995134dc2cb90d615928c37b2a67c3e006c88d222b23a455cffb14202b9
- OFT FA:
- OFT Package:
WFRAX- OFT Package:
0x267749b1a80d9d582019e6b0572c1dbc98648e24101b0861395cdbed095ceff2- OFT FA:
0x4e4cce8f877d7ad45c896c1823017fe07874f3d8db6e15960eda26e211151300
- OFT FA:
- OFT Package:
FPI- OFT Package:
0xadf0ffffa5ee44a94f0c65be05e701951e65e276419f7460286a139d9403e864- OFT FA:
0x15607151cc023512886f5af24d4f77e6e7a5d6fb8a482dfb56b9c4f5c1fca0b2
- OFT FA:
- OFT Package:
Frax operates a lightweight LZ stack on testnets, replicating the dual-lockbox approach. Below are the following addresses:
- Chain:
Ethereum,Metis,Blast,Base - Chain to convert from native token into OFT: Ethereum
- Admin: Chain-respective msig
- OFTs
LFRAX:0x909DBdE1eBE906Af95660033e478D59EFe831fEDsFRAX:0xe4796cCB6bB5DE2290C417Ac337F2b66CA2E770EfrxETH:0xF010a7c8877043681D59AD125EbF575633505942sfrxETH:0x1f55a02A049033E3419a8E2975cF3F572F4e6E9AFRAX:0x23432452B720C80553458496D4D9d7C5003280d0FPI:0x6Eca253b102D41B6B69AC815B9CC6bD47eF1979d
- Ensure
PK_OFT_DEPLOYERandPK_CONFIG_DEPLOYERare the private keys for0x9C9dD956b413cdBD81690c9394a6B4D22afe6745and0x0990be6dB8c785FBbF9deD8bAEc612A10CaE814b, respectively. - Modify
.envRPC_URLto the new chain RPC - Add an item to
scripts/L0Config.json:Proxywith the new chain details (incorrect data will cause the script to fail). source .env && forge script scripts/DeployFraxOFTProtocol.s.sol --rpc-url $RPC_URL- Verify files created within
scripts/txs/{SOURCE_CHAIN_ID}-{DESTINATION_CHAIN_ID}.jsonare correct peers, config source .env && forge script scripts/DeployFraxOFTProtocol.s.sol --rpc-url $RPC_URL --broadcast- Manually verify each contract on the deployed chain (do not need to verify ImplementationMock)
- Use
contracts/flat, Solidity version 0.8.22, Shanghai compiler, 200 optimizer runs
- Use
- Submit each newly crafted json to the respective
DESTINATION_CHAIN_IDmsig.