← Protocols
Wormhole
Cross-chain / Bridge·EVM · Solana · Sui · Aptos · Cosmos · Multi-chain

Wormhole

01Description

Generic cross-chain messaging with VAAs plus token bridges (Token Bridge, Native Token Transfers / NTT, CCTP). Supports EVM, Solana, Sui, Aptos, Cosmos and more.

02Best for
  • 01cross-chain messaging (VAAs)
  • 02Native Token Transfers (NTT)
  • 03non-EVM coverage (Solana, Sui, Aptos, Cosmos)
  • 04CCTP USDC routing
  • 05embeddable Wormhole Connect widget
03Install
  • pnpm add @wormhole-foundation/sdk @wormhole-foundation/sdk-evm @wormhole-foundation/sdk-solana
  • pnpm add @wormhole-foundation/wormhole-connect
04Environment variables
VariableScopeDescription
WORMHOLE_NETWORKClientNetwork selector for the SDK: 'Mainnet' | 'Testnet' | 'Devnet'.
WORMHOLESCAN_API_KEYServerOptional Wormholescan API key for elevated VAA / status query rate limits.
05Prompt snippet
Use the unified TS SDK: `const wh = await wormhole('Mainnet', [evm, solana])`. For token transfers, build a `TokenTransfer` (or `CCTPTransfer` / `NttTransfer`) via `wh.tokenTransfer(token, amount, sender, recipient, automatic)`, fetch quote with `transfer.quoteTransfer`, then `transfer.initiateTransfer(signer)`. Poll `transfer.fetchAttestation(timeoutMs)` to get the signed VAA from the Guardian network, then `transfer.completeTransfer(destSigner)` on the destination chain. For arbitrary messages use a custom relayer or the Standard Relayer with `wh.getChain(chain).getAutomaticTokenBridge()`. Track manually via `https://wormholescan.io/#/tx/<hash>`.
06Gotchas
  • Manual transfers require explicit `redeem` / `completeTransfer` on the destination chain — without auto-relay the funds sit as an unclaimed VAA forever.
  • Guardian VAA signing typically takes 13-19 confirmations on the source chain; show realistic finality times rather than spinner-forever UX.
  • Token Bridge wraps as `wormhole-wrapped` assets — the destination address differs from canonical; for canonical USDC use CCTP path, for native UX use NTT.
  • Solana txs need a recent blockhash and lookup-table-aware versioned transactions; SDK helpers exist but you must commit before signing.
  • Different platforms (Cosmos, Sui, Aptos) require platform-specific signer adapters — the unified SDK does not auto-load them; install only what you need.
  • VAA replay protection is per-chain — never resubmit the same VAA on a chain that already redeemed it; check `isTransferCompleted` first.
07Alternatives