Deployed Endpoints, Message Libraries, and Executors
Below you can find a description of the main LayerZero V2 contracts and find the corresponding deployment information for each blockchain network LayerZero supports.
Contract Description
Contract Name | Description |
---|---|
EndpointV2 | The primary entrypoint into LayerZero V2 responsible for managing cross-chain communications. It orchestrates message sending, receiving, and configuration management between various smart contract connections using message library contracts and internal mappings to track OApp specific settings. |
SendUln302 | A message library for sending cross-chain messages. It combines functionalities from SendUlnBase and SendLibBaseE2 to ensure secure message dispatch. |
ReceiveUln302 | A message library for receiving and verifying cross-chain messages. It integrates ReceiveUlnBase and ReceiveLibBaseE2 to maintain message integrity. |
SendUln301 | A version of the send message library compatible with EndpointV1 for backwards compatibility with EndpointV2 . |
ReceiveUln301 | A version of the receive message library compatible with EndpointV1 for backwards compatibility with EndpointV2 . |
LZ Executor | A contract responsible for executing received cross-chain messages automatically with a specified gas limit and msg.value for a fee. |
LZ Dead DVN | Represents a Dead Decentralized Verifier Network (DVN). These contracts are placeholders used when the default LayerZero config is inactive and will require the OApp owner to manually configure the contract's config to use the pathway. |
Endpoint Id (eid
) values have no relation to Chain Id (chainId
) values. Since LayerZero spans both EVM and non-EVM chains, each Endpoint contract has a unique identifier known as the eid
for determining which chain's endpoint
to send to or receive messages from.
When using LayerZero contract methods, be sure to use the correct eid
listed below:
30xxx
: refer to mainnet chains40xxx
: refer to testnet chains
To see if a specific LayerZero contract supports another, use the isSupportedEid()
method.
Contract Address Table
Chain | Chain Id | Endpoint | Endpoint Id | Libraries & Executor |
---|---|---|---|---|
11124 | 40313 | |||
33139 | 30312 | |||
Recently Added! | 9070 | 40355 | ||
42161 | 30110 | |||
42170 | 30175 | |||
421614 | 40231 | |||
592 | 30210 | |||
81 | 40210 | |||
3776 | 30257 | |||
6038361 | 40266 | |||
1313161555 | 40201 | |||
43113 | 40106 | |||
43114 | 30106 | |||
56 | 30102 | |||
97 | 40102 | |||
60808 | 30279 | |||
4058 | 40347 | |||
8453 | 30184 | |||
84532 | 40245 | |||
13337 | 40178 | |||
80084 | 40291 | |||
1337 | 40288 | |||
11501 | 30317 | |||
11503 | 40324 | |||
200901 | 30314 | |||
200810 | 40320 | |||
80000 | 40346 | |||
Recently Added! | 996353 | 40357 | ||
81457 | 30243 | |||
168587773 | 40243 | |||
52085143 | 40330 | |||
111 | 40279 | |||
3636 | 40281 | |||
6001 | 30293 | |||
6000 | 40289 | |||
90354 | 40295 | |||
7700 | 30159 | |||
7701 | 40159 | |||
44787 | 40125 | |||
42220 | 30125 | |||
5115 | 40344 | |||
288888 | 30323 | |||
6513784 | 40311 | |||
71 | 40211 | |||
1030 | 30212 | |||
1116 | 30153 | |||
1115 | 40153 | |||
21000000 | 30331 | |||
21000001 | 40345 | |||
33111 | 40306 | |||
7560 | 30283 | |||
111557560 | 40280 | |||
53935 | 30115 | |||
335 | 40115 | |||
68770 | 30315 | |||
7979 | 30149 | |||
3939 | 40286 | |||
666666666 | 30267 | |||
432204 | 30118 | |||
432201 | 40118 | |||
68775 | 40321 | |||
98881 | 30282 | |||
98882 | 40284 | |||
41923 | 30328 | |||
Recently Added! | 747 | 30336 | ||
Recently Added! | 545 | 40351 | ||
17000 | 40217 | |||
1 | 30101 | |||
11155111 | 40161 | |||
caution LayerZero Testnet Endpoints use the real Mainnet pricefeed for cross-chain transfers. That means Ethereum Sepolia uses the real Ethereum gwei price. For testing EVM <> EVM transfers, it may be cheaper to use another EVM testnet with a cheaper cost of blockspace. | ||||
42793 | 30292 | |||
128123 | 40239 | |||
250 | 30112 | |||
4002 | 40112 | |||
18026 | 40301 | |||
14 | 30295 | |||
114 | 40294 | |||
132902 | 40270 | |||
252 | 30255 | |||
2522 | 40255 | |||
122 | 30138 | |||
123 | 40138 | |||
10888 | 40339 | |||
Recently Added! | 30342 | |||
1300 | 40296 | |||
10200 | 40145 | |||
100 | 30145 | |||
Recently Added! | 2345 | 30361 | ||
Recently Added! | 48816 | 40356 | ||
1625 | 30294 | |||
49321 | 40236 | |||
1666600000 | 30116 | |||
295 | 30316 | |||
296 | 40285 | |||
caution The Hedera EVM has 8 decimals while their JSON RPC uses 18 decimals for `msg.value`, please take precaution when calling `quoteFee` | ||||
43111 | 30329 | |||
743111 | 40338 | |||
19011 | 30265 | |||
caution The Homeverse Endpoint uses an alternative ERC20 token instead of the native gas token for omnichain fees. You will need to modify your _payNative() function in OApp to handle ERC20 fees (see OFTAlt). | ||||
40875 | 40265 | |||
caution The Homeverse Endpoint uses an alternative ERC20 token instead of the native gas token for omnichain fees. You will need to modify your _payNative() function in OApp to handle ERC20 fees (see OFTAlt). | ||||
7332 | 30215 | |||
1992 | 30182 | |||
998 | 40332 | |||
71461164656 | 40331 | |||
Recently Added! | 57073 | 30339 | ||
Recently Added! | 763373 | 40358 | ||
8822 | 30284 | |||
1075 | 40307 | |||
81 | 30285 | |||
10081 | 40242 | |||
8217 | 30150 | |||
1001 | 40150 | |||
2222 | 30177 | |||
2221 | 40172 | |||
1811 | 40300 | |||
1890 | 30309 | |||
1891 | 40309 | |||
59144 | 30183 | |||
59141 | 40287 | |||
1135 | 30321 | |||
4202 | 40327 | |||
5151706 | 30197 | |||
9088912 | 40197 | |||
957 | 30311 | |||
901 | 40308 | |||
169 | 30217 | |||
3441006 | 40272 | |||
5000 | 30181 | |||
5003 | 40246 | |||
Recently Added! | 43521 | 40354 | ||
4337 | 30198 | |||
4200 | 30266 | |||
686868 | 40264 | |||
82 | 30176 | |||
83 | 40156 | |||
1088 | 30151 | |||
59902 | 40292 | |||
34443 | 30260 | |||
919 | 40260 | |||
14800 | 40342 | |||
1287 | 40126 | |||
1284 | 30126 | |||
1285 | 30167 | |||
2818 | 30322 | |||
2710 | 40322 | |||
1313161554 | 30211 | |||
Recently Added! | 7210 | 40352 | ||
66 | 30155 | |||
65 | 40155 | |||
1516 | 40340 | |||
8101902 | 40277 | |||
656476 | 40297 | |||
10 | 30111 | |||
11155420 | 40232 | |||
291 | 30213 | |||
4460 | 40200 | |||
Recently Added! | 8227 | 30341 | ||
48795 | 40337 | |||
7849306 | 40323 | |||
3338 | 30302 | |||
9990 | 40299 | |||
98865 | 30318 | |||
18230 | 40329 | |||
80002 | 40267 | |||
137 | 30109 | |||
1101 | 30158 | |||
2442 | 40247 | |||
1380012617 | 30235 | |||
1918988905 | 40235 | |||
1729 | 30313 | |||
89346162 | 40319 | |||
7672 | 40318 | |||
Recently Added! | 30 | 30333 | ||
Recently Added! | 31 | 40350 | ||
1996 | 30278 | |||
1992 | 40278 | |||
534352 | 30214 | |||
534351 | 40170 | |||
713715 | 40258 | |||
1329 | 30280 | |||
148 | 30230 | |||
caution Shimmer, while being EVM-like, uses a different approach to gas token decimals, which could lead to specific implementations and adjustments in your gas calculations and transactions. | ||||
2046399126 | 30273 | |||
caution The Skale Endpoint uses an alternative ERC20 token instead of the native gas token for omnichain fees. You will need to modify your _payNative() function in OApp to handle ERC20 fees (see OFTAlt). | ||||
1444673419 | 40273 | |||
caution The Skale Endpoint uses an alternative ERC20 token instead of the native gas token for omnichain fees. You will need to modify your _payNative() function in OApp to handle ERC20 fees (see OFTAlt). | ||||
2 | 40168 | |||
30168 | ||||
Recently Added! | 1868 | 30340 | ||
1946 | 40334 | |||
Recently Added! | 57054 | 40349 | ||
Recently Added! | 146 | 30332 | ||
Recently Added! | 50104 | 30334 | ||
531050104 | 40341 | |||
55244 | 30327 | |||
98985 | 40336 | |||
Recently Added! | 1923 | 30335 | ||
Recently Added! | 1924 | 40353 | ||
167000 | 30290 | |||
167009 | 40274 | |||
40252 | ||||
41 | 40199 | |||
40 | 30199 | |||
1559 | 30173 | |||
155 | 40173 | |||
710420 | 30238 | |||
978657 | 40348 | |||
728126428 | 30420 | |||
caution TRX, the native token of Tron, uses 6 decimals, which affects how transactions and gas fees are calculated and can require specific handling in smart contracts and dApps. | ||||
2494104990 | 40420 | |||
caution TRX, the native token of Tron, uses 6 decimals, which affects how transactions and gas fees are calculated and can require specific handling in smart contracts and dApps. | ||||
1301 | 40333 | |||
18233 | 40262 | |||
1480 | 30330 | |||
78600 | 40298 | |||
88 | 30196 | |||
89 | 40196 | |||
480 | 30319 | |||
4801 | 40335 | |||
196 | 30274 | |||
195 | 40269 | |||
94524 | 30291 | |||
64002 | 40282 | |||
37 | 30216 | |||
47 | 40216 | |||
660279 | 30236 | |||
37714555429 | 40251 | |||
48900 | 30303 | |||
48899 | 40275 | |||
7777777 | 30195 | |||
999999999 | 40249 | |||
2525 | 30234 | |||
204 | 30202 | |||
5611 | 40202 | |||
111188 | 30237 | |||
810180 | 30301 | |||
caution zkLink uses a unique compiler designed for zero-knowledge proof generation which generates different bytecode than the standard Solidity compiler (solc). | ||||
810181 | 40283 | |||
caution zkLink uses a unique compiler designed for zero-knowledge proof generation which generates different bytecode than the standard Solidity compiler (solc). | ||||
324 | 30165 | |||
caution zkSync uses its own compiler called zkSync-solc, which generates different bytecode than the standard Solidity compiler (solc). | ||||
300 | 40305 | |||
caution zkSync uses its own compiler called zkSync-solc, which generates different bytecode than the standard Solidity compiler (solc). |
Checking Default Configs
To see the default configuration for a given pathway (i.e., from Chain A
to Chain B
), you can use LayerZero Scan's Default Checker.