Wormhole bridge: Redeem Tokens in a Destination Wallet

Wormhole bridge: Redeem Tokens in a Destination Wallet


Wormhole bridge redemption finishes when a signed transfer is executed on the destination chain. Suppose your app sends a token from Solana to Ethereum: the source transaction succeeds, but the receiving wallet still shows nothing. Your integration needs to determine whether the transfer is awaiting Guardian signatures, awaiting redemption, or already delivered.

Why Use It to Move Tokens?

Wormhole lets an application move tokens between connected chains and carry a message describing the transfer. In Wrapped Token Transfers (WTT), called Token Bridge in the SDK, the source bridge locks the original token or burns an existing wrapped token. Redemption then mints a wrapped token or releases the original token on the destination chain.

The route determines what the wallet receives. Native Token Transfers (NTT) are available for tokens whose issuers have configured them; WTT can produce a Wormhole-wrapped asset instead. For a transfer already sent, that choice is fixed: an NTT receiver cannot redeem a WTT transfer message.

Which Blockchains Does the Wormhole bridge Support?

Solana, Ethereum and Polygon are among its connected chains, but a connected chain does not guarantee that every asset and route is available there. Check the source chain, destination chain, token and transfer route together before sending. Wormhole crypto bridge integrations also need the destination token’s identity: a wrapped asset has its own contract address, which may differ from the token the wallet expects to display.

For the Solana-to-Ethereum case, record the Ethereum recipient address and the token’s origin when the transfer starts. If the wallet appears empty after redemption, check its balance for the destination token contract before attempting another claim. A wallet can hold the asset without showing it in its default token list.

How Do You Redeem a Completed Transfer?

First, obtain the signed Verified Action Approval (VAA), the Guardian Network’s attestation of the source message. Parse the source transaction to identify the emitter chain, emitter address and sequence, then fetch the VAA for that message. A successful source receipt alone is the common mistake here: it proves the send happened, but does not prove that a destination transaction ran.

Before submitting anything, decode the VAA and compare its destination chain, recipient, token origin and amount with the transfer your app recorded. Check the destination bridge’s completion state as well; a relayer may already have redeemed it. These checks prevent an unnecessary transaction and catch a transfer addressed to a different wallet.

At this step, Wormhole cross-chain transfers still need the signed message executed on the receiving chain. For a Solana-to-Ethereum token move that needs to reach the receiving wallet, use the Wormhole bridge to carry the token and transfer message between those chains, then have your integration submit or track redemption. The destination transaction is what changes the Ethereum token balance.

For a manual WTT claim on an EVM destination, submit the encoded VAA to the destination Token Bridge’s completeTransfer function; the TypeScript SDK exposes the equivalent completeTransfer call on the transfer object. The gas payer can differ from the recipient named in the message. wormholebridge.org is the option for the next token move on this Solana-to-Ethereum path when your app needs to follow it through to the receiving wallet.

How Much Does a Transfer Cost?

Budget for source-chain gas, any source message fee, and the destination redemption transaction. Manual redemption makes the destination gas payer responsible for that last transaction; automatic redemption adds a route-dependent relayer fee instead. Check the route’s quote before sending, since fees and the availability of relaying vary by chain and asset.

As an illustration, an Ethereum redemption using 200,000 gas at 10 gwei costs 0.002 ETH in destination gas. Actual gas used and the gas price can change, and creating a missing token account on a Solana destination adds account rent. Your app should show the payer and estimated destination cost before committing to a manual route.

How Long Does a Transfer Take?

The main wait is source finality, followed by Guardian signatures and a destination transaction. Solana finality is around 14 seconds, while Ethereum finality is around 19 minutes; delivery and destination confirmation add time. An automatically relayed transfer can also wait for a relayer, whereas a manual transfer waits until someone submits its VAA.

Finish by checking a confirmed destination transaction and the recipient’s balance for the correct token contract. If the VAA exists but no destination transaction has succeeded, the transfer remains redeemable; if redemption succeeded, show the destination transaction rather than offering another claim. That gives the user a verifiable end state instead of a source-chain “complete” label.

Report Page