Be the First to Know
Subscribe to the Wormhole newsletter for exclusive updates.
Developers
Ecosystem
Harnessing the power of generic messaging and a single SDK, the Wormhole interoperability protocol makes cross-chain movement more feature-rich than ever. Explore more about how to grow your userbase by going cross-chain.
Get startedExplore solutionsThe next wave of Web3 will be powered by cross-chain communication.
Since October 2020, Wormhole has been a leader in cross-chain and continues to evolve to meet the changing needs of Web3.
Cross-chain your assets to work on any supported chain with ease
Cross-chain your apps to multiple chains with minimal effort
Cross-chain access to data that previously lived on one chain
Wormhole provides a low lift, low code solution for multiple cross-chain use cases.
Get in touchThe Wormhole SDK covers a wide range of use cases that makes going cross-chain simple for tokens, NFTs, apps, and other messaging applications.
With Wormhole, applications on different chains work better together. So your lending protocols on Solana can leverage an insurance protocol on Ethereum, with ease.
Including EVM, EVM+, Solana, CosmWASM, and Algorand.
Build protocols on top of Wormhole that can use data, assets, and messages from other chains.
Wormhole observation (VAA)
1struct WormholeMsg {
2 uint8 version;
3 uint32 timestamp;
4 uint32 nonce;
5 uint16 emitterChainId;
6 bytes32 emitterAddress;
7 uint64 sequence;
8 uint8 consistencyLevel;
9 bytes payload;
10
11 uint32 guardianSetIndex;
12 Signature[] signatures;
13
14 bytes32 hash;
15}
1struct WormholeMsg {
2 uint8 version;
3 uint32 timestamp;
4 uint32 nonce;
5 uint16 emitterChainId;
6 bytes32 emitterAddress;
7 uint64 sequence;
8 uint8 consistencyLevel;
9 bytes payload;
10
11 uint32 guardianSetIndex;
12 Signature[] signatures;
13
14 bytes32 hash;
15}
1struct WormholeMsg {
2 uint8 version;
3 uint32 timestamp;
4 uint32 nonce;
5 uint16 emitterChainId;
6 bytes32 emitterAddress;
7 uint64 sequence;
8 uint8 consistencyLevel;
9 bytes payload;
10
11 uint32 guardianSetIndex;
12 Signature[] signatures;
13
14 bytes32 hash;
15}