{
"contracts": {
"addresses": {
"ethereum": [
{
"name": "HubPoolStore",
"isVerified": true,
"address": "eth:0x1Ace3BbD69b63063F859514Eca29C9BDd8310E61",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple data store used by the Universal_Adapter to store message calldata hashes. The content of this calldata can be proven by Ethereum zk light clients on remote chains and then executed to relay root bundles or arbitrary messages.\n",
"discoveryDrivenData": true
},
{
"name": "AcrossConfigStore",
"isVerified": true,
"address": "eth:0x3B03509645713718B78951126E0A6de6f10043f5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple, owner-controlled contract for storing protocol-wide, token-specific configuration data.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "AdapterStore",
"isVerified": true,
"address": "eth:0x42df4D71f35ffBD28ae217d52E83C1DA0007D63b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A helper contract for chain adapters on the hub chain that support OFT messaging. Handles token -> messenger mapping.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "Ethereum_SpokePool",
"isVerified": true,
"address": "eth:0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda"
],
"implementations": [
"eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1682355155,
"transactionHash": "0x411ae8360c51beff3d6034ea63f03c41e6cf8b031432391fc44bc4f5a1b908ef",
"implementations": [
"eth:0xA667498F46457548f1D3ad557340b95Fdb290148"
]
},
{
"timestamp": 1692663659,
"transactionHash": "0xceb5b11cd6c78b29d16d2c91bedcb4ec7467814fdce84a753f468c452c36c0d6",
"implementations": [
"eth:0x326510c1bf9d85Fb73d0AB8d20Aa5BbE9c7561e9"
]
},
{
"timestamp": 1696340927,
"transactionHash": "0x946dec56639129cadd298ce5a44341b6f361c5c632f5dea2a80d9cb023b836c6",
"implementations": [
"eth:0x5ab0A812327aD959dE664AEC8408Ef8c6ABe7184"
]
},
{
"timestamp": 1708538663,
"transactionHash": "0xf08778addb8376b0beb500bf569c6251eadc124e6aeeaf5f702ab1dbf576379f",
"implementations": [
"eth:0x90438AD3d81a0739ce1Cb20C73564682388c5FdD"
]
},
{
"timestamp": 1710769247,
"transactionHash": "0x3ebfeeedb62ab726a1cb350595df3d4b2212f2fda619ae08015d16f304fc8332",
"implementations": [
"eth:0xa4D3535f33549749Fb97fA42903AC80F6fb54af6"
]
},
{
"timestamp": 1715785919,
"transactionHash": "0xa604480755748d8162a3fb11442719682d473d868450e7460d9dd111a0b8903a",
"implementations": [
"eth:0x08C21b200eD06D2e32cEC91a770C3FcA8aD5F877"
]
},
{
"timestamp": 1725378503,
"transactionHash": "0xd3cfc5a7476fd33d3d3fdc2d77adac2bf6900945f9a5c5f35f65b6507dde381f",
"implementations": [
"eth:0x48Dcf75EA18233BA947E4480dCd70594720449C1"
]
},
{
"timestamp": 1738111451,
"transactionHash": "0x4d37ad20bb31cedba7434223e08229ca95fbfd32eaf2bcbd456af0d0a32bba8b",
"implementations": [
"eth:0xD576931ab0bDC3dfdc2c041d3C7b9d2ED0c6dd9a"
]
},
{
"timestamp": 1738939607,
"transactionHash": "0xbea88935fe99b6faba60ee273a5eb146cd6c2d12decfef8842c5c719a0009376",
"implementations": [
"eth:0x0190a2328e072Fc5a7fA00F6C9ae2a16c7F4E32a"
]
},
{
"timestamp": 1751304083,
"transactionHash": "0xa4cfc9525849a8a3052a587a29006303e9b16ce08fa096460bb6fe2017b1a3ef",
"implementations": [
"eth:0xFBc81a18EcDa8E6A91275cFDF5FC6d91A7C5AE80"
]
},
{
"timestamp": 1770055271,
"transactionHash": "0xce91ef569315a356ecbf8133df44de6a7f0cbbcc8f50433eb3ab5116d71a111f",
"implementations": [
"eth:0x5E5B726C81f43B953a62AD87E2835C85c4D9Dd3B"
]
}
],
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n* Roles:\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor",
"upgradableBy": [
{
"name": "OptimisticGovernor",
"delay": "2d"
},
{
"name": "Across Multisig",
"delay": "no"
}
],
"discoveryDrivenData": true
},
{
"name": "HubPool",
"isVerified": true,
"address": "eth:0xc186fA914353c44b2E33eBE05f21846F1048bEda",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The central L1 contract (hub) that manages liquidity from LPs and coordinates cross-chain settlements. It receives and secures settlement proposals (root bundles) using the UMA Optimistic Oracle, with a challenge period of 30m and a bond amount of 0.45 ABT.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor",
"discoveryDrivenData": true
},
{
"name": "AcrossBondToken (ABT)",
"isVerified": true,
"address": "eth:0xee1DC6BCF1Ee967a350e9aC6CaaAA236109002ea",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A bond token wrapping ETH for usage in the Across protocol. Implements modified ERC20 logic to only allow permissioned proposers to use it as a bond for root bundle proposals.\n* Roles:\n * **owner**: Across Multisig; ultimately OptimisticGovernor\n * **proposers**: EOA 1",
"discoveryDrivenData": true
},
{
"name": "VotingV2",
"isVerified": true,
"address": "eth:0x004395edb43EFca9885CEdad51EC9fAf93Bd34ac",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Core smart contract for UMA's Data Verification Mechanism (DVM), serving as source of truth for disputed claims. UMA token holders collectively resolve price requests and earn rewards for correct participation. Commit- and reveal phases for the voting take 1d each.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Registry",
"isVerified": true,
"address": "eth:0x3e532e6222afe9Bcf02DCB87216802c75D5113aE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Registry for contracts that are allowed to call `requestPrice()` in the UMA voting contracts (ie. request dispute resolution by the UMA DVM).\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Finder",
"isVerified": true,
"address": "eth:0x40f941E48A552bF496B154Af6bf55725f18D77c3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maps interface names to contract addresses (UMA protocol contracts).\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Store",
"isVerified": true,
"address": "eth:0x54f44eA3D2e7aA0ac089c4d8F7C93C27844057BF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "UMA protocol contract responsible for calculating and collecting regular and final fees for using the DVM.\n* Roles:\n * **owner**: GovernorV2\n * **withdrawer**: EOA 3",
"discoveryDrivenData": true
},
{
"name": "FixedSlashSlashingLibrary",
"isVerified": true,
"address": "eth:0x9a406ba5a99983250Fd663947b3c968D387ce5cd",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stores slashing parameters and calculates slashing amounts based on that (UMA protocol).\n",
"discoveryDrivenData": true
},
{
"name": "IdentifierWhitelist",
"isVerified": true,
"address": "eth:0xcF649d9Da4D1362C4DAEa67573430Bd6f945e570",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Keeps a list of whitelisted identifiers that are accepted by the UMA v3 protocol. Across uses the identifier `ACROSS-V2` for its disputes.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "AddressWhitelist",
"isVerified": true,
"address": "eth:0xdBF90434dF0B98219f87d112F37d74B1D90758c7",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A simple address whitelist for tokens that can be used as bonds and/or fees. This whitelist is checked and enforced by various smart contracts in the UMA ecosystem.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "SkinnyOptimisticOracle",
"isVerified": true,
"address": "eth:0xeE3Afe347D5C74317041E2618C49534dAf887c24",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Validates bridge messages by allowing proposers to make bonded assertions about crosschain events. It enforces a challenge period during which any invalid claims can be disputed and escalated to UMA's Data Verification Mechanism (DVM) for resolution.\n",
"discoveryDrivenData": true
},
{
"name": "OptimisticOracleV3",
"isVerified": true,
"address": "eth:0xfb55F43fB9F48F63f9269DB7Dde3BbBe1ebDC0dE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Standard UMA optimistic oracle contract that allows anyone to make an arbitrary claim by posting a bond. The claim is considered true unless it is successfully disputed within a challenge window, with UMA's DVM acting as the final arbiter for disputes.\n* Roles:\n * **owner**: GovernorV2",
"discoveryDrivenData": true
},
{
"name": "Zora_Adapter",
"isVerified": true,
"address": "eth:0x024F2fC31CBDD8de17194b1892c834f98Ef5169b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Soneium_Adapter",
"isVerified": true,
"address": "eth:0x0c9d064523177dBB55CFE52b9D0c485FBFc35FD2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "HyperEVM_Adapter",
"isVerified": true,
"address": "eth:0x0ec70777Ac388774041dD5A1778Cdf3AF3134D2B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to HyperEVM. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Redstone_Adapter",
"isVerified": true,
"address": "eth:0x188F8C95B7cfB7993B53a4F643efa687916f73fA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Scroll_Adapter",
"isVerified": true,
"address": "eth:0x2DA799c2223c6ffB595e578903AE6b95839160d8",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Boba_Adapter",
"isVerified": true,
"address": "eth:0x33B0Ec794c15D6Cc705818E70d4CaCe7bCfB5Af3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Optimism_Adapter",
"isVerified": true,
"address": "eth:0x3562e309C6C79626E5F0Cf746FB5Bf4f6b8EebE5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Tempo_Adapter",
"isVerified": true,
"address": "eth:0x4577980eBFCC6fC8ff516aC06dA9e729c40cA57c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Tempo. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Ethereum_Adapter",
"isVerified": true,
"address": "eth:0x527E872a5c3f0C7c24Fe33F2593cFB890a285084",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Polygon_Adapter",
"isVerified": true,
"address": "eth:0x537abE038C223066B50312474409924487D2E655",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Ink_Adapter",
"isVerified": true,
"address": "eth:0x545E43B6eC2f9a44CAa531298699Ff05958670B5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Linea_Adapter",
"isVerified": true,
"address": "eth:0x5A44A32c13e2C43416bFDE5dDF5DCb3880c42787",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Lens_Adapter",
"isVerified": true,
"address": "eth:0x5e0B7e20a77BDf11812837D30F1326068Bcf24Cf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "BNBSmartChain_Adapter",
"isVerified": true,
"address": "eth:0x6f1C9d3bcDF51316E7b515a62C02F601500b084b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Binance Smart Chain. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n",
"discoveryDrivenData": true
},
{
"name": "Alephzero_Adapter",
"isVerified": true,
"address": "eth:0x6F4083304C2cA99B077ACE06a5DcF670615915Af",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Base_Adapter",
"isVerified": true,
"address": "eth:0x799BDC55d91864b14B2eD63A34DeF5d502AA897f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Unichain_Adapter",
"isVerified": true,
"address": "eth:0x8956eFa31572E1d7ed5c8e36772F214A57DFA0D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "WorldChain_Adapter",
"isVerified": true,
"address": "eth:0x8bbdD67102D743b8533c1277a4ffdA04Dea158D1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Solana_Adapter",
"isVerified": true,
"address": "eth:0x9F788694934fD2Ed34D5340B9a76EB34f2bFD7B3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Adapter for Solana. Uses CCTP v1 AMB to relay root bundles to the Solana spokepool.\n",
"discoveryDrivenData": true
},
{
"name": "Tron_Adapter",
"isVerified": true,
"address": "eth:0xA1da1A70cc9F27F4aEDff1d515B1a0C47fb6c3Db",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Tron. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "ZkSyncEra_Adapter",
"isVerified": true,
"address": "eth:0xA374585E6062517Ee367ee5044946A6fBe17724f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Plasma_Adapter",
"isVerified": true,
"address": "eth:0xb47fD69FE25878F4E43aAF2F9ad7D0A3A0B22363",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to Plasma Mainnet. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero.\n",
"discoveryDrivenData": true
},
{
"name": "Universal_Adapter",
"isVerified": true,
"address": "eth:0xbc5E82035e2C8d4B335Ccb751D6BF47e44Dec678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Arbitrum_Adapter",
"isVerified": true,
"address": "eth:0xc0b6d2f794cc787C71f2cA5ceCD57102C32379B3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Monad_Adapter",
"isVerified": true,
"address": "eth:0xC29a3Ba0fBf477F16Fd53d2C438Eade024FD8452",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "Universal_Adapter",
"isVerified": true,
"address": "eth:0xCA5f9960022078F3585a188e06F910eeC29c7eBD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This adapter can be used to send messages / root bundles to chains that do not have a canonical adapter. It stores calldata in the HubPoolStore on Ethereum, which can then be zk proven on a remote chain. This adapter also supports bridging OFTs via LayerZero and USDC via CCTP.\n",
"discoveryDrivenData": true
},
{
"name": "MegaETH_Adapter",
"isVerified": true,
"address": "eth:0xE1f04404b74F996A311F13aE291849fC153578Ac",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Lisk_Adapter",
"isVerified": true,
"address": "eth:0xF039AdCC74936F90fE175e8b3FE0FdC8b8E0c73b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Mode_Adapter",
"isVerified": true,
"address": "eth:0xf1B59868697f3925b72889ede818B9E7ba0316d0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
},
{
"name": "Blast_Adapter",
"isVerified": true,
"address": "eth:0xF2bEf5E905AAE0295003ab14872F811E914EdD81",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Modular, chain-specific contract that abstracts the communication logic for settlement between the HubPool and various SpokePools and their Relayers, often via canonical bridges.\n",
"discoveryDrivenData": true
}
],
"optimism": [
{
"name": "Optimism_SpokePool",
"isVerified": true,
"address": "oeth:0x6f26Bf09B1C792e3228e5467807a900A503c0281",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"oeth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c"
]
},
"chain": "optimism",
"pastUpgrades": [
{
"timestamp": 1682354696,
"transactionHash": "0xf09b511734ba603400579c64ce6eeb8286e4429e11ab45e2f36df22f0eb59add",
"implementations": [
"oeth:0x618C854204834e110eB77f092e7063d7Ae2855d8"
]
},
{
"timestamp": 1686315223,
"transactionHash": "0x28a173e69040f2f96ebcd4bf6b793c593bff7c2027a455905610119740e9564f",
"implementations": [
"oeth:0xEc88d3C08E2939562Ff8188B4e30A52236C3FF09"
]
},
{
"timestamp": 1692796375,
"transactionHash": "0x792f7cc7f232d7c3616149394b8a2903b8000a3b28ef74c5cc9100aff6ffed42",
"implementations": [
"oeth:0xFd7F000C26B7205c1A3f9b846F44Dc11Ff5E6eb8"
]
},
{
"timestamp": 1696340997,
"transactionHash": "0x14f1c15037cef66839ce570174aad27a4ea7f33a3e2496e36ba2bbb5b6650637",
"implementations": [
"oeth:0xC127c7A25e6D1e1999DF3dC1accddeF278A87303"
]
},
{
"timestamp": 1708538741,
"transactionHash": "0xe34f46235ddb8e21d5fd4f490565d2a39664fc9603c77b15322004a6e5320a3a",
"implementations": [
"oeth:0xE287AAd8F3B99e411f1939492565C7D3F0e77FeF"
]
},
{
"timestamp": 1708826605,
"transactionHash": "0xc0461376071132e3a21654c5f61a6d2ca2f3cebe1ec3ab263c67b91b07db4dcf",
"implementations": [
"oeth:0x2e69a3962E7fF2EEF0c98a76aC3B294b03Dc4C3D"
]
},
{
"timestamp": 1710769317,
"transactionHash": "0x284c45850a83457ea38a5d25e2c0630ac5161026e839f7b27a8c88bfe22456ad",
"implementations": [
"oeth:0x5226a5D010F24F0df089963E94ce88E4c87EB53b"
]
},
{
"timestamp": 1715794729,
"transactionHash": "0xaf6f0949809d1e81f126f9288e833e90eea180f5159a3637d53ad367b294e5ad",
"implementations": [
"oeth:0xAF0079c65Cf5D2f38472956032f5012Cce7b1ba4"
]
},
{
"timestamp": 1716294163,
"transactionHash": "0x59d665d6c0c49dd5486bcc6809b21f485816efa779338497e7e67542fd7a5871",
"implementations": [
"oeth:0x0fDF0fa7FEA145c6c141BCa763c0D4c2e906b3e1"
]
},
{
"timestamp": 1725378635,
"transactionHash": "0x216fb5f149aebdda4ca076d3c9bca9d36f85e307b510a425848b40bd8801f86a",
"implementations": [
"oeth:0xA084031BA301D874a24525450297c1D51b0BF8Bd"
]
},
{
"timestamp": 1738111589,
"transactionHash": "0x055412f01d41dc49be4c853395e79f5ee4e10e736fe5420b5992997b0dc27add",
"implementations": [
"oeth:0x1a4b76a1366c9BceCd187289882823410512d8EB"
]
},
{
"timestamp": 1738939687,
"transactionHash": "0xc530c24b7b6fd88197b9adb1ff44360bc12087aed26bffcf0c62ec0d789131bd",
"implementations": [
"oeth:0xF383FD9A49282C9e1C99eB07a819e27E0d7B956c"
]
},
{
"timestamp": 1751304215,
"transactionHash": "0x612d2761ea8d8df4a72d12724c4b0d26d5ff8b1c1f17fe81d1e3012ba746072e",
"implementations": [
"oeth:0xD51099ac551350Bf3198c69104B5dc4694b3a536"
]
},
{
"timestamp": 1759844157,
"transactionHash": "0xd68d8d6f62cdeb169f7c8b7cd6b8df87e45679f1fe8577bd03322fc1dceec71f",
"implementations": [
"oeth:0x21352B3495A6eE1Bd2921Bdb0a876FaDc3A9245E"
]
},
{
"timestamp": 1770053069,
"transactionHash": "0xe3918b151a7edd22c00b59843b61403cbe665d76f55b6c47db1c1bfbf8454174",
"implementations": [
"oeth:0x0966F5034261CC50926fB9D5C1603A5034Ffa81c"
]
}
],
"description": "The user-facing contract on each connected chain where funds are deposited to initiate a bridge transfer. It also receives settlement data from the HubPool to process refunds for the relayers who fulfilled those transfers.\n* Roles:\n * **admin**: EOA 2\n * **crossDomainAdmin**: HubPool; ultimately Across Multisig, OptimisticGovernor",
"upgradableBy": [
{
"name": "OptimisticGovernor",
"delay": "2d"
},
{
"name": "Across Multisig",
"delay": "no"
},
{
"id": "EOA-2",
"name": "EOA 2",
"delay": "no"
}
],
"discoveryDrivenData": true
}
]
},
"risks": []
},
"description": "Intent framework specialised on popular chains and assets, speed and security.",
"detailedDescription": "# Crosschain transfer flow\n\nThe user initiates a transfer (sometimes called an intent) by depositing into the local chain \"SpokePool\" contract. The deposit specifies the recipient, the destination chain, the amount, the input token, the output token, a fill deadline by which the destination chain transfer must complete, and an optional exclusivity window during which only a chosen relayer can fill. User funds remain in the SpokePool; the deposit's parameters are not persisted in contract storage but only captured in a FundsDeposited event log, which relayers index offchain to learn about deposits.\n\nRelayers fill a crosschain request by calling the destination chain's SpokePool. During the exclusivity window only the chosen relayer can fill; after it expires anyone can. No fill is accepted past the fill deadline. Funds go to the user and the relay hash is marked Filled in the SpokePool's fillStatuses mapping to prevent double-fills.\n\n# Relayer repayments\n\nWhen a crosschain transfer is fulfilled, the relayer specifies on which chain and to which address they want to be repaid. A whitelisted proposer periodically posts a \"root bundle\" to the HubPool containing how much the protocol owes to each relayer (relayer refunds) and the pool rebalances needed so that there is enough liquidity on each chain for the refunds to be paid. The correctness of these roots is crucial; otherwise relayers could lie about filling a transfer and capture user funds.\n\nRoot bundles settle in two levels:\n\n1. Optimistic (Across-native): the proposer bonds 0.45 ABT (a simple ETH wrapper, not to be confused with the ACX governance token) and the root sits in a challenge period of 30m. If unchallenged, the bundle executes; UMA is not involved in this happy path.\n2. Dispute escalation (UMA): anyone can call disputeRootBundle() within the challenge period by posting an equal counter-bond. The disputed bundle is discarded immediately so a new proposal can be submitted, while the dispute itself is escalated to UMA's optimistic oracle, which resolves via UMA token voting; the losing party loses their bond.\n\nFor chains with a canonical L1 to L2 messenger, tokens and admin / refund messages move from the HubPool to each SpokePool through that chain's canonical bridge via a per-chain adapter. For chains without one (BNB Smart Chain, HyperEVM, Plasma, Tempo, Tron, ...), Across uses universal adapters: the HubPool writes the message calldata into the HubPoolStore on Ethereum, and the destination chain reads it by verifying a storage proof against Ethereum's state through a light client contract on the destination. Tokens travel via LayerZero OFT, or via Circle CCTP for USDC.\n\nLPs can provide single-token liquidity to the HubPool to front relayer refunds across chains, earning yield from an LP fee captured on every transfer.",
"intent": {
"intentModel": {
"value": "Intent framework",
"description": "General, open, multi-token architecture where relayers compete to fill crosschain-transfer intents."
},
"userRecovery": {
"value": "Slow-fill fallback",
"description": "If no relayer fast-fills a deposit, Across can complete it through the protocol slow-fill path. Not available for chains that do not have a canonical bridge adapter on Ethereum."
},
"solverAccess": {
"value": "Permissionless",
"description": "Relayers compete to fill deposits and receive repayment."
},
"settlement": {
"value": "Optimistic",
"description": "Relayer repayment is settled through the Across system and can be escalated to token voting via UMA."
}
},
"permissions": {
"ethereum": {
"roles": [],
"actors": [
{
"id": "OptimisticGovernor",
"name": "OptimisticGovernor",
"accounts": [
{
"address": "eth:0x8692B776d1Ff0664177c90465038056Dc64f8991",
"type": "Contract",
"isVerified": true,
"name": "0x8692…8991",
"url": "https://etherscan.io/address/0x8692B776d1Ff0664177c90465038056Dc64f8991"
}
],
"chain": "ethereum",
"description": "Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values.\n* Can upgrade **with 2d delay**\n * Ethereum_SpokePool [via: Across Multisig with 2d delay → HubPool]\n * Optimism_SpokePool [via: Across Multisig with 2d delay → HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role **with 2d delay** [via: Across Multisig with 2d delay]\n* Can interact with Optimism_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) **with 2d delay** [via: Across Multisig with 2d delay → HubPool]",
"discoveryDrivenData": true
},
{
"id": "Across Multisig",
"name": "Across Multisig",
"description": "A Multisig with 3/5 threshold. It uses the following modules: OptimisticGovernor (Optimistic Governance module allowing for proposals by anyone with a bond of 2 WETH. They become executable if not challenged within 2d. The rules for proposals can be read directly from the contract values).\n* Can upgrade **with no delay**\n * Ethereum_SpokePool [via: HubPool]\n * Optimism_SpokePool [via: HubPool]\n* Can interact with AcrossConfigStore\n * update configuration values \n* Can interact with AdapterStore\n * set the token-to-messenger mappings that adapters use to route OFT cross-chain transfers \n* Can interact with Ethereum_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]\n* Can interact with OptimisticGovernor\n * set guard, avatar, target, delay, identifier, escalationManager, bond token and amount \n* Can interact with HubPool\n * pause the system, manage all fees, bonds and security parameters, manage tokens and chain support, and critical emergency actions like admin functions on remote SpokePools or deleting proposals (can steal funds) \n* Can interact with AcrossBondToken (ABT)\n * manage the proposer role \n* Can interact with Optimism_SpokePool\n * relay and delete root bundles, pause the contract, manage routes, set the withdrawal recipient (crosschain rebalancing target) [via: HubPool]",
"accounts": [
{
"address": "eth:0xB524735356985D2f267FA010D681f061DfF03715",
"type": "Contract",
"isVerified": true,
"name": "0xB524…3715",
"url": "https://etherscan.io/address/0xB524735356985D2f267FA010D681f061DfF03715"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766",
"type": "EOA",
"isVerified": true,
"name": "0x72b3…E766",
"url": "https://etherscan.io/address/0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766"
},
{
"address": "eth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
},
{
"address": "eth:0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9",
"type": "EOA",
"isVerified": true,
"name": "0x9962…65e9",
"url": "https://etherscan.io/address/0x996267d7d1B7f5046543feDe2c2Db473Ed4f65e9"
},
{
"address": "eth:0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d",
"type": "EOA",
"isVerified": true,
"name": "0xcc40…e37d",
"url": "https://etherscan.io/address/0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d"
},
{
"address": "eth:0x868CF19464e17F76D6419ACC802B122c22D2FD34",
"type": "EOA",
"isVerified": true,
"name": "0x868C…FD34",
"url": "https://etherscan.io/address/0x868CF19464e17F76D6419ACC802B122c22D2FD34"
}
],
"discoveryDrivenData": true
},
{
"id": "GovernorV2",
"name": "GovernorV2",
"accounts": [
{
"address": "eth:0x7b292034084A41B9D441B71b6E3557Edd0463fa8",
"type": "Contract",
"isVerified": true,
"name": "0x7b29…3fa8",
"url": "https://etherscan.io/address/0x7b292034084A41B9D441B71b6E3557Edd0463fa8"
}
],
"chain": "ethereum",
"description": "Central UMA governance contract. It executes administrative proposals that have been passed by UMA token holder votes.\n* Can interact with VotingV2\n * set critical administrative parameters like migrating to a new contract and requesting governance actions (`requestPrice()`) directly \n* Can interact with Registry\n * manage registered contracts \n* Can interact with Finder\n * manage address mappings \n* Can interact with ProposerV2\n * set the bond amount \n* Can interact with Store\n * set fees for disputes and manage all roles in the contract \n* Can interact with GovernorV2\n * manage all roles in the contract \n* Can interact with EmergencyProposer\n * remove and slash proposals, set the bond amount and the expiry time, manage the executor address \n* Can interact with IdentifierWhitelist\n * manage the whitelist \n* Can interact with AddressWhitelist\n * manage the addresses on the whitelist \n* Can interact with OptimisticOracleV3\n * set critical administrative parameters like default bonds, bond token, fees ",
"discoveryDrivenData": true
},
{
"id": "ProposerV2",
"name": "ProposerV2",
"accounts": [
{
"address": "eth:0x50efaC9619225d7fB4703C5872da978849B6E7cC",
"type": "Contract",
"isVerified": true,
"name": "0x50ef…E7cC",
"url": "https://etherscan.io/address/0x50efaC9619225d7fB4703C5872da978849B6E7cC"
}
],
"chain": "ethereum",
"description": "Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000 UMA tokens.\n* Can interact with GovernorV2\n * propose governance actions ",
"discoveryDrivenData": true
},
{
"id": "UMA Multisig",
"name": "UMA Multisig",
"description": "A Multisig with 2/4 threshold. \n* Can interact with EmergencyProposer\n * remove proposals, execute emergency proposals ",
"accounts": [
{
"address": "eth:0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a",
"type": "Contract",
"isVerified": true,
"name": "0x8180…A44a",
"url": "https://etherscan.io/address/0x8180D59b7175d4064bDFA8138A58e9baBFFdA44a"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x363605C0bdE9F1F5053aDA30618d95dbFc109Bf5",
"type": "EOA",
"isVerified": true,
"name": "0x3636…9Bf5",
"url": "https://etherscan.io/address/0x363605C0bdE9F1F5053aDA30618d95dbFc109Bf5"
},
{
"address": "eth:0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d",
"type": "EOA",
"isVerified": true,
"name": "0xcc40…e37d",
"url": "https://etherscan.io/address/0xcc400c09ecBAC3e0033e4587BdFAABB26223e37d"
},
{
"address": "eth:0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766",
"type": "EOA",
"isVerified": true,
"name": "0x72b3…E766",
"url": "https://etherscan.io/address/0x72b32C1a6A75CBAfAe36c0CA8e763946d370E766"
},
{
"address": "eth:0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe",
"type": "EOA",
"isVerified": true,
"name": "0x8372…c5fe",
"url": "https://etherscan.io/address/0x837219D7a9C666F5542c4559Bf17D7B804E5c5fe"
}
],
"discoveryDrivenData": true
},
{
"id": "EmergencyProposer",
"name": "EmergencyProposer",
"accounts": [
{
"address": "eth:0x91F1804aCaf87C2D34A34A70be1bb16bB85D6748",
"type": "Contract",
"isVerified": true,
"name": "0x91F1…6748",
"url": "https://etherscan.io/address/0x91F1804aCaf87C2D34A34A70be1bb16bB85D6748"
}
],
"chain": "ethereum",
"description": "Token governance contract allowing anyone to create a UMA governance proposal for a bond of 5,000,000 UMA tokens. This circumvents the UMA optimistic oracle but can only be executed or removed after 10d, and only by UMA Multisig.\n* Can interact with GovernorV2\n * can bypass the voting system and execute proposals immediately ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c",
"type": "EOA",
"isVerified": true,
"name": "0xf7bA…997c",
"url": "https://etherscan.io/address/0xf7bAc63fc7CEaCf0589F25454Ecf5C2ce904997c",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can interact with AcrossBondToken (ABT)\n * propose new root bundles to the HubPool by posting an ABT bond. Proposals settle optimistically; only disputes (via `disputeRootBundle()`) escalate to UMA token voting ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "eth:0x2bAaA41d155ad8a4126184950B31F50A1513cE25",
"type": "EOA",
"isVerified": true,
"name": "0x2bAa…cE25",
"url": "https://etherscan.io/address/0x2bAaA41d155ad8a4126184950B31F50A1513cE25",
"displayName": "EOA 3"
}
],
"chain": "ethereum",
"description": "* Can interact with Store\n * withdraw fees ",
"discoveryDrivenData": true
}
]
},
"optimism": {
"roles": [],
"actors": [
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "oeth:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://optimistic.etherscan.io/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 2"
}
],
"chain": "optimism",
"description": "* Can upgrade **with no delay**\n * Optimism_SpokePool ",
"discoveryDrivenData": true
}
]
}
},
"plugins": [
{
"plugin": "across",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
cbridge+20-0
interopConfig+20-0
{
"intent": {
"intentModel": {
"value": "Liquidity network",
"description": "Transfers are filled from the liquidity pool."
},
"userRecovery": {
"value": "Request refund",
"sentiment": "bad",
"description": "There is no onchain refund option. Failed pool transfers can be withdrawn on the source chain using gateway data signed by the Celer SGN."
},
"solverAccess": {
"value": "Internal",
"sentiment": "bad",
"description": "Solvers provide the signatures of the offchain Celer signer quorum with their transaction."
},
"settlement": {
"value": "Celer SGN",
"description": "Relay and refund messages must be authorized by a Celer signer quorum."
}
},
"plugins": [
{
"plugin": "celer",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
debridge-dln+18-0
interopConfig+18-0
{
"description": "Intent framework built on top of the deBridge messaging protocol.",
"intent": {
"intentModel": {
"value": "Intent framework",
"description": "Users create orders that takers can fulfill."
},
"userRecovery": {
"value": "Order cancellation",
"description": "Unfilled orders can be cancelled through the DLN flow."
},
"solverAccess": {
"value": "Permissionless",
"description": "Order fulfillment is designed around independent takers."
},
"settlement": {
"value": "deBridge messaging",
"description": "Order state and settlement use deBridge infrastructure."
}
},
"plugins": [
{
"plugin": "debridge-dln",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
fusionplus+19-0
interopConfig+19-0
{
"description": "Hash time lock (HTLC) based intent framework built by 1inch.",
"intent": {
"intentModel": {
"value": "HTLC",
"description": "Cross-chain swaps use hash time locks."
},
"userRecovery": {
"value": "Timeout refund",
"description": "HTLC construction provides a permissionless timeout-based recovery path."
},
"solverAccess": {
"value": "Whitelist",
"sentiment": "bad",
"description": "Resolvers onboard through 1inch Business Portal compliance and Access NFTs."
},
"settlement": {
"value": "HTLC",
"description": "Settlement follows the HTLC atomic swap."
}
},
"plugins": [
{
"plugin": "oneinch-fusion-plus",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
gaszip+21-0
interopConfig+21-0
{
"description": "Intent-based centralised EOA bridge used for gas token transfers, optimised for speed and diverse chain support.",
"intent": {
"intentModel": {
"value": "Gas refuel",
"description": "Focused on sending small gas balances across chains."
},
"userRecovery": {
"value": "Request refund",
"sentiment": "bad",
"description": "There is no onchain refund option. No self-serve onchain cancellation or refund path; invalid deposits are handled through Gas.zip support."
},
"solverAccess": {
"value": "Internal",
"sentiment": "bad",
"description": "No open solver marketplace."
},
"settlement": {
"value": "Internal",
"sentiment": "bad",
"description": "Settled through Gas.zip internal, centralized accounting."
}
},
"plugins": [
{
"plugin": "gaszip",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
lifi+18-0
interopConfig+18-0
{
"description": "Intent protocol implemented by LI.FI, based on the Open Intents Framework (OIF).",
"intent": {
"intentModel": {
"value": "Intent framework (OIF)",
"description": "Uses the Open Intents Framework standard."
},
"userRecovery": {
"value": "Timeout refund",
"description": "Escrow orders can be refunded after expiry; Compact orders expire without moving locked funds unless fills are proven in time."
},
"solverAccess": {
"value": "Permissionless",
"description": "Whitelisted solvers have access to an internal API and marketplace but in general solving is permissionless in OIF."
},
"settlement": {
"value": "OIF settlement",
"description": "Solvers fill destination outputs, then claim source inputs after oracle proofs of the fills. Oracles are configurable by LiFi."
}
},
"plugins": [
{
"plugin": "lifi-intents",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
mayan+19-0
interopConfig+19-0
{
"description": "Intent framework using the Wormhole message bridge.",
"detailedDescription": "# Architecture\nThe Wormhole messaging protocol consists of a `WormholeCore` contract on each supported chain. Application contracts like the Token Bridge, the multichain token framework *NTT* ('native token transfers') and the Mayan intent framework contracts are each connected to it. The token bridge is a lock-minting token bridge, NTT is a customizable multichain token framework and Mayan supports stablecoin transfers and crosschain asset swaps of any kind as an intent protocol.\n\n# Crosschain oracle and validation\nWormhole uses the same validators for its core messaging protocol on all supported chains. They are called *guardians* and validate crosschain messages with a 13/19 threshold. Guardians are external validator companies who are expected to run their own nodes of all chains they validate on, but they also delegate the running of full nodes to others for smaller chains.\n\n# Upgradeability\nThe core protocol and token bridge contracts are upgradeable by the same *guardians* who validate crosschain messages. Application-level contracts can have custom upgradeability.\n\n# Monitoring\nWormhole provides a [block explorer](https://wormholescan.io/) which is mostly intended for users and researchers tracking crosschain transactions and for aggregate metrics. As for [security and monitoring tools](https://wormhole-foundation.github.io/wormhole-dashboard/#/?endpoint=Mainnet), Wormhole offers *Governor* a global token flow monitoring layer that Guardians can use to identify suspicious transfers before signing them. *Global Accountant* tracks the circulating supply of *WTT* and *NTT* assets on all chains and alerts Guardians if a transaction would increase the supply.",
"intent": {
"intentModel": {
"value": "Intent framework",
"description": "Solvers compete to fill cross-chain swap intents."
},
"userRecovery": {
"value": "Request refund",
"sentiment": "bad",
"description": "There is no onchain refund option. Unfulfilled Swift orders can be refunded from the source contract with a Wormhole or refund-verifier message."
},
"solverAccess": {
"value": "Permissionless",
"description": "'Drivers' (solvers) compete in Mayan auctions."
},
"settlement": {
"value": "Wormhole messaging",
"description": "Mayan uses Wormhole messages to prove destination fulfillment or refunds and unlock source-chain funds."
}
},
"plugins": [
{
"plugin": "mayan-swift",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
meson+20-0
interopConfig+20-0
{
"description": "Liquidity bridge specialised on alt-L1s.",
"intent": {
"intentModel": {
"value": "Liquidity network",
"description": "Transfers are filled from a central liquidity pool on each chain."
},
"userRecovery": {
"value": "Request refund",
"sentiment": "bad",
"description": "There is no onchain refund option. The central liquidity pool implementation source code is unavailable."
},
"solverAccess": {
"value": "Permissionless",
"description": "Execution depends on Meson LPs locking destination-chain liquidity in the smart contract escrow. Execution is permissionless but needs offchain signatures by the centralized oracle."
},
"settlement": {
"value": "Internal",
"sentiment": "bad",
"description": "Settled through Meson bridge contracts."
}
},
"plugins": [
{
"plugin": "meson",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
relay+21-0
interopConfig+21-0
{
"description": "Intent-based centralized EOA bridge optimised for speed, multichain and multiasset support.",
"detailedDescription": "# Architecture\nRelay is an intent-based, non-minting bridge. A user requests a route from the [Relay API](https://docs.relay.link/references/api/api_guides/bridging-integration-guide) and deposits their funds to simple smart contract or EOA on the source chain, and a solver fronts liquidity on the destination chain before settling back against the user's source-side payment. The destination transaction is a regular transfer, swap, or contract call made by the solver from their own pre-positioned liquidity.\n\nAfter a solver fills the user on the destination chain, the solver asks the centralized Relay Oracle to verify the source payment and destination fill. The Oracle reads chain data offchain and returns an attestation. The solver submits that attestation to the `RelayOracle` on the Relay Chain, which updates the `RelayHub`: the deposit is represented as Hub balance and that balance is transferred to the solver. Solvers then withdraw accumulated Hub balances through the `Allocator`, which produces a signed withdrawal payload accepted by the target-chain `Depository.execute(CallRequest, signature)`.\n\n# Crosschain oracle and validation\nThe destination-chain user outcome depends on the solver filling correctly and quickly, while settlement depends on Relay's centralized Oracle. Incorrect attestations can misattribute balances on the Hub and steal funds. The 'Allocator', which is the signing part of the relay oracle, uses the MPC signing framework on the NEAR blockchain.\n\n# Refunds\nThere are no onchain mechanisms for refunds, making them fully depend on the good will of solvers and the relay admins.\n\n# Monitoring\nRelay provides an [explorer](https://relay.link/transactions) and an [API](https://docs.relay.link/references/api/overview) to monitor transactions. There is a sovereign rollup on Celestia called 'relay chain' that acts as a ledger for the protocol's crosschain accounting.",
"intent": {
"intentModel": {
"value": "Intent framework",
"description": "Routes transfers through a relay-style execution network."
},
"userRecovery": {
"value": "Request refund",
"sentiment": "bad",
"description": "There is no onchain refund option. No self-serve onchain refund path is exposed; failed transfers depend on Relay-operated recovery."
},
"solverAccess": {
"value": "Internal",
"sentiment": "bad",
"description": "Transfers are filled by Relay-operated infrastructure."
},
"settlement": {
"value": "Internal",
"sentiment": "bad",
"description": "Settlement depends on Relay’s centralized oracle and allocator flow."
}
},
"plugins": [
{
"plugin": "relay",
"bridgeType": "nonMinting"
}
],
"type": "intent"
}
stargate+18-0
interopConfig+18-0
{
"description": "Liquidity bridge focused on USD stablecoins and ETH using the LayerZero message bridge. Stargate also has a Hydra product which is a minting token bridge for chains that do not natively support Stargate assets.",
"durationSplit": {
"lockAndMint": [
{
"label": "Bus",
"transferTypes": [
"stargate-v2-bus.Transfer"
]
},
{
"label": "Taxi",
"transferTypes": [
"stargate-v2-taxi.Transfer"
]
}
],
"nonMinting": [
{
"label": "Bus",
"transferTypes": [
"stargate-v2-bus.Transfer"
]
},
{
"label": "Taxi",
"transferTypes": [
"stargate-v2-taxi.Transfer"
]
}
]
},
"intent": {
"intentModel": {
"value": "Liquidity network",
"description": "Transfers use Stargate liquidity and omnichain routing."
},
"userRecovery": {
"value": "Self-relay",
"description": "Source-side checks revert before funds move; destination delivery depends on the DVN signature. There is no way to get refunded on the source chain."
},
"solverAccess": {
"value": "Permissionless",
"description": "Execution is permissionless via LayerZero and Stargate liquidity pools, but requires DVN liveness."
},
"settlement": {
"value": "LayerZero messaging",
"description": "Stargate uses LayerZero-based cross-chain messaging."
}
},
"plugins": [
{
"plugin": "stargate",
"bridgeType": "nonMinting"
},
{
"plugin": "stargate",
"bridgeType": "lockAndMint"
}
],
"type": "intent"
}