{
"description": "The Interchain Token Service by Axelar is a multichain token framework built on the Axelar messaging protocol. It is validated by a full validator set on a Cosmos blockchain.",
"plugins": [
{
"plugin": "axelar-its",
"bridgeType": "burnAndMint"
},
{
"plugin": "axelar-its",
"bridgeType": "lockAndMint"
},
{
"plugin": "axelar-its",
"bridgeType": "nonMinting"
}
],
"type": "multichain"
}
hyperlane-hwr+4-0
interopConfig+4-0
{
"description": "Multichain token framework using the highly modular and open Hyperlane message bridge. Validation is custom for each token.",
"plugins": [
{
"plugin": "hyperlane-hwr",
"bridgeType": "burnAndMint"
},
{
"plugin": "hyperlane-hwr",
"bridgeType": "lockAndMint"
},
{
"plugin": "hyperlane-hwr",
"bridgeType": "nonMinting"
}
],
"type": "multichain"
}
layerzero+4-0
interopConfig+4-0
{
"contracts": {
"addresses": {
"ethereum": [
{
"name": "EndpointV2",
"isVerified": true,
"address": "eth:0x1a44076050125825900e736c501f859c50fE728c",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Part of the LayerZero messaging protocol. OApp owners or their delegates can configure custom verification- (message libraries) and execution settings here.\n* Roles:\n * **owner**: LayerZero Multisig\n * **rsETHAdapterDelegate**: GnosisSafe",
"discoveryDrivenData": true
},
{
"name": "ReceiveUln302",
"isVerified": true,
"address": "eth:0xc02Ab410f0734EFa3F14628780e6e695156024C2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "LayerZero-deployed receive library, defining the validation of received messages.\n* Roles:\n * **getUlnConfig**: Canary DVN, Horizen DVN, LayerZero DVN, Netherming DVN\n * **owner**: LayerZero Multisig",
"discoveryDrivenData": true
},
{
"name": "RsETHOFTAdapter",
"isVerified": true,
"address": "eth:0x85d456B2DfF1fd8245387C0BfB64Dfb700e98Ef3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "An OApp in the LayerZero protocol that adapts an existing ERC20 token into the OFT standard. Its owner can configure peers and LayerZero security settings for connected routes.\n* Roles:\n * **owner**: GnosisSafe",
"discoveryDrivenData": true
},
{
"name": "BlockedMessageLib",
"isVerified": true,
"address": "eth:0x1ccBf0db9C192d969de57E25B3fF09A25bb1D862",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple LayerZero library that blocks all messages if selected.\n",
"discoveryDrivenData": true
},
{
"name": "ReadLib1002",
"isVerified": true,
"address": "eth:0x74F55Bc2a79A27A0bF1D1A35dB5d0Fc36b9FDB9D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "LayerZero library used to read state from remote blockchains.\n* Roles:\n * **owner**: LayerZero Multisig",
"discoveryDrivenData": true
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xa36797bA947b378AefE5f726Cd87766CD3c25Ee3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 1",
"discoveryDrivenData": true
},
{
"name": "SendUln302",
"isVerified": true,
"address": "eth:0xbB2Ea70C9E858123480642Cf96acbcCE1372dCe1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Send Library used by LayerZero, defining the protocol/execution of sent messages.\n* Roles:\n * **getExecutorConfig**: Executor\n * **getUlnConfig**: Canary DVN, Horizen DVN, LayerZero DVN, Netherming DVN\n * **owner**: LayerZero Multisig",
"discoveryDrivenData": true
}
]
},
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
},
"description": "LayerZero OFT (omnichain fungible token) is a multichain token framework built on the modular, highly customizable LayerZero messaging protocol. While it theoretically supports any form of validation, ~100% of messages are validated by multisig-like smart contracts called DVNs (\"Decentralized\" Validator Networks). The protocol supports a vast set of EVM and non-EVM destinations.",
"detailedDescription": "# Architecture\nLayerZero deploys a single `Endpoint` contract on each supported chain. This contract serves as the chain-central registry for omnichain apps (*OApp*s) and their *owners* and *delegates*. An *Oapp* is a smart contract that interacts with the LayerZero protocol through a standardized messaging interface. The most popular OApp flavor is the omnichain fungible token (*OFT*) standard, which enables the transport of tokens across LayerZero-supported chains. Token owners can deploy *OFT Adapter* smart contracts (*OApps* themselves) that connect traditional tokens to the LayerZero protocol. New tokens can be directly bound to LayerZero by deploying them as a native *OFT* smart contract, which is automatically an OApp on LayerZero.\n\n\n# Crosschain oracle and validation\nThe modular LayerZero messaging protocol supports any smart contract logic as its validation mechanism. In practice and by default, multisignature wallets and EOAs validate and deliver crosschain messages, called *packets* in LZ terms. *OApp owner* addresses or their onchain *delegates* can override the default security config for their OApp in each local `Endpoint` contract. Each library or setting that is not explicitly configured falls back to the default config. Security configs consist of a validation library (smart contract) and its various settings (like the actual validating multisigs and their threshold) and importantly can be set **on each chain separately** and then **for each *peer* chain from/to that chain**. For example, a single OFT that is live on 20 chains can have 20x20=400 security configs, counting incoming configs only. A misconfiguration or exploit in any single one of those 400 validation configs can compromise the example OFT.\n\n# Upgradeability\nCore protocol contract code forms a framework that points at security-critical contracts. Although the core framework contract code is immutable, the security config and its implementation contracts can be changed by permissioned actors like the LayerZero team and the *OApp* owners, which effectively results in system upgrades. Application-level contracts like OApps have custom upgradeability.\n\n# Monitoring\nLayerZero provides a [block explorer](https://layerzeroscan.com/) which is mostly intended for users and researchers tracking crosschain transactions and for aggregate metrics. There currently is no security or monitoring related tooling for OApp owners like global OFT accounting or global security config tracking.",
"isAggregate": true,
"permissions": {
"ethereum": {
"roles": [],
"actors": [
{
"id": "LayerZero Multisig",
"name": "LayerZero Multisig",
"description": "A Multisig with 3/5 threshold. \nCustom multisignature contract allowing offchain signing and execution on multiple target chains.\n* Can interact with EndpointV2\n * configure the default send/receive libraries used for verification, affecting all OApps that have not set up a custom security config \n* Can interact with ReadLib1002\n * configure the settings of this library, affecting all OApps that have not set up a custom security config \n* Can interact with SendUln302\n * configure the settings of this library, affecting all OApps that have not set up a custom security config \n* Can interact with ReceiveUln302\n * configure the settings of this library, affecting all OApps that have not set up a custom security config ",
"accounts": [
{
"address": "eth:0xBe010A7e3686FdF65E93344ab664D065A0B02478",
"type": "Contract",
"isVerified": true,
"name": "0xBe01…2478",
"url": "https://etherscan.io/address/0xBe010A7e3686FdF65E93344ab664D065A0B02478"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x0cb72C1F6a36c225A7E2B21712E8853A4A1acc47",
"type": "EOA",
"isVerified": true,
"name": "0x0cb7…cc47",
"url": "https://etherscan.io/address/0x0cb72C1F6a36c225A7E2B21712E8853A4A1acc47"
},
{
"address": "eth:0x5bC6AA6ad117A8B50ABf9E1658971f5DA1968c5c",
"type": "EOA",
"isVerified": true,
"name": "0x5bC6…8c5c",
"url": "https://etherscan.io/address/0x5bC6AA6ad117A8B50ABf9E1658971f5DA1968c5c"
},
{
"address": "eth:0x73E9c017Ad37e2113e709D8070Cc9E1b28180e1e",
"type": "EOA",
"isVerified": true,
"name": "0x73E9…0e1e",
"url": "https://etherscan.io/address/0x73E9c017Ad37e2113e709D8070Cc9E1b28180e1e"
},
{
"address": "eth:0x771dcAcB96024d1e55Fd21Fe8a8187AA7EC9e77e",
"type": "EOA",
"isVerified": true,
"name": "0x771d…e77e",
"url": "https://etherscan.io/address/0x771dcAcB96024d1e55Fd21Fe8a8187AA7EC9e77e"
},
{
"address": "eth:0xe67DB04d7eFF4e9ec282eD929632D4FF058112d7",
"type": "EOA",
"isVerified": true,
"name": "0xe67D…12d7",
"url": "https://etherscan.io/address/0xe67DB04d7eFF4e9ec282eD929632D4FF058112d7"
}
],
"discoveryDrivenData": true
},
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 3/6 threshold. \n* Can interact with EndpointV2\n * manage all settings of the LZ crosschain security stack for the respective OApp: change libraries, DVN configs etc \n* Can interact with RsETHOFTAdapter\n * can configure the OFT adapter, including LayerZero peer and delegate settings ",
"accounts": [
{
"address": "eth:0xCbcdd778AA25476F203814214dD3E9b9c46829A1",
"type": "Contract",
"isVerified": true,
"name": "0xCbcd…29A1",
"url": "https://etherscan.io/address/0xCbcdd778AA25476F203814214dD3E9b9c46829A1"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xFCc1C98F887C93C38Deb5e38A6Fb820AD3fB9DFD",
"type": "EOA",
"isVerified": true,
"name": "0xFCc1…9DFD",
"url": "https://etherscan.io/address/0xFCc1C98F887C93C38Deb5e38A6Fb820AD3fB9DFD"
},
{
"address": "eth:0x51C59785639CCa31c09D0833749e76A5D945C9F3",
"type": "EOA",
"isVerified": true,
"name": "0x51C5…C9F3",
"url": "https://etherscan.io/address/0x51C59785639CCa31c09D0833749e76A5D945C9F3"
},
{
"address": "eth:0x601767c4ba4134cc2E906ea7cf25EaB845152A7C",
"type": "EOA",
"isVerified": true,
"name": "0x6017…2A7C",
"url": "https://etherscan.io/address/0x601767c4ba4134cc2E906ea7cf25EaB845152A7C"
},
{
"address": "eth:0xb859DD2Cb50F19a53Ad25b279750ba5DEC76D306",
"type": "EOA",
"isVerified": true,
"name": "0xb859…D306",
"url": "https://etherscan.io/address/0xb859DD2Cb50F19a53Ad25b279750ba5DEC76D306"
},
{
"address": "eth:0x7AAd74b7f0d60D5867B59dbD377a71783425af47",
"type": "EOA",
"isVerified": true,
"name": "0x7AAd…af47",
"url": "https://etherscan.io/address/0x7AAd74b7f0d60D5867B59dbD377a71783425af47"
},
{
"address": "eth:0xa85B57bD7433dCC4679d638b87d80F155A689Fc1",
"type": "EOA",
"isVerified": true,
"name": "0xa85B…9Fc1",
"url": "https://etherscan.io/address/0xa85B57bD7433dCC4679d638b87d80F155A689Fc1"
}
],
"discoveryDrivenData": true
},
{
"id": "Horizen DVN",
"name": "Horizen DVN",
"accounts": [
{
"address": "eth:0x380275805876Ff19055EA900CDb2B46a94ecF20D",
"type": "Contract",
"isVerified": true,
"name": "0x3802…F20D",
"url": "https://etherscan.io/address/0x380275805876Ff19055EA900CDb2B46a94ecF20D"
}
],
"chain": "ethereum",
"description": "Defines the logic that validates LayerZero Packets for this DVN.\n* Can interact with SendUln302\n * receive validation fees for rsETH OFT messages sent to Unichain through LayerZero (the incoming vaidating DVN is defined on Unichain) \n* Can interact with ReceiveUln302\n * verify rsETH OFT messages sent from Unichain through LayerZero ",
"discoveryDrivenData": true
},
{
"id": "LayerZero DVN",
"name": "LayerZero DVN",
"accounts": [
{
"address": "eth:0x589dEDbD617e0CBcB916A9223F4d1300c294236b",
"type": "Contract",
"isVerified": true,
"name": "0x589d…236b",
"url": "https://etherscan.io/address/0x589dEDbD617e0CBcB916A9223F4d1300c294236b"
}
],
"chain": "ethereum",
"description": "Defines the logic that validates LayerZero Packets for this DVN.\n* Can interact with SendUln302\n * receive validation fees for rsETH OFT messages sent to Unichain through LayerZero (the incoming vaidating DVN is defined on Unichain) \n* Can interact with ReceiveUln302\n * verify rsETH OFT messages sent from Unichain through LayerZero ",
"discoveryDrivenData": true
},
{
"id": "Canary DVN",
"name": "Canary DVN",
"accounts": [
{
"address": "eth:0xa4fE5A5B9A846458a70Cd0748228aED3bF65c2cd",
"type": "Contract",
"isVerified": true,
"name": "0xa4fE…c2cd",
"url": "https://etherscan.io/address/0xa4fE5A5B9A846458a70Cd0748228aED3bF65c2cd"
}
],
"chain": "ethereum",
"description": "Defines the logic that validates LayerZero Packets for this DVN.\n* Can interact with SendUln302\n * receive validation fees for rsETH OFT messages sent to Unichain through LayerZero (the incoming vaidating DVN is defined on Unichain) \n* Can interact with ReceiveUln302\n * verify rsETH OFT messages sent from Unichain through LayerZero ",
"discoveryDrivenData": true
},
{
"id": "Netherming DVN",
"name": "Netherming DVN",
"accounts": [
{
"address": "eth:0xa59BA433ac34D2927232918Ef5B2eaAfcF130BA5",
"type": "Contract",
"isVerified": true,
"name": "0xa59B…0BA5",
"url": "https://etherscan.io/address/0xa59BA433ac34D2927232918Ef5B2eaAfcF130BA5"
}
],
"chain": "ethereum",
"description": "Defines the logic that validates LayerZero Packets for this DVN.\n* Can interact with SendUln302\n * receive validation fees for rsETH OFT messages sent to Unichain through LayerZero (the incoming vaidating DVN is defined on Unichain) \n* Can interact with ReceiveUln302\n * verify rsETH OFT messages sent from Unichain through LayerZero ",
"discoveryDrivenData": true
},
{
"id": "Executor",
"name": "Executor",
"accounts": [
{
"address": "eth:0x173272739Bd7Aa6e4e214714048a9fE699453059",
"type": "Contract",
"isVerified": true,
"name": "0x1732…3059",
"url": "https://etherscan.io/address/0x173272739Bd7Aa6e4e214714048a9fE699453059"
}
],
"chain": "ethereum",
"description": "Contract that can be used to execute LayerZero message payloads at the destination. Also manages fee logic, gas drop and permissioned addresses who can call this contract.\n* Can interact with SendUln302\n * receive execution fees for rsETH OFT messages sent to Unichain through LayerZero ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x76F6d257CEB5736CbcAAb5c48E4225a45F74d6e5",
"type": "EOA",
"isVerified": true,
"name": "0x76F6…d6e5",
"url": "https://etherscan.io/address/0x76F6d257CEB5736CbcAAb5c48E4225a45F74d6e5",
"displayName": "EOA 1"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * Executor [via: ProxyAdmin]",
"discoveryDrivenData": true
}
]
}
},
"plugins": [
{
"plugin": "layerzero-v2-ofts",
"bridgeType": "burnAndMint"
},
{
"plugin": "layerzero-v2-ofts",
"bridgeType": "lockAndMint"
},
{
"plugin": "layerzero-v2-ofts",
"bridgeType": "nonMinting"
}
],
"type": "multichain"
}