ワームホール. Wormhole Protocol. クロスチェーンのためのプロトコル.

ワムホトークン

list

最新版はbranchが違うようだ. ただここにも乗ってないtokenもある.

https://github.com/XLabs/portal-bridge-ui/tree/config

deprecated

メンテナンスはされてない.

https://github.com/XLabs/portal-bridge-ui/tree/main/apps/token-list,

find new tokens

Wormhole Mint Authority

新規作成はここでみれる, https://solscan.io/account/BCD75RNBHrJJpW4dXVagL5mPjzRLnVZq4YirJdjEYMV7#defiactivities

新規 mintのときは、🔧Mpl Token Metadataに登録される.

updateAuthorityでDAS APIで検索. sortBy=created, desc

viertuals Protocolをみる.

https://www.coingecko.com/en/categories/virtuals-protocol-ecosystem

死んでるワムホトークン

  • LPがない
  • LPのTVLがない
  • holdersがいない
  • tx履歴が古い
  • birdeye/dexscreenerで履歴が取得できない

転送方式/Protocols

https://github.com/wormhole-foundation/wormhole-sdk-ts/tree/main/core/definitions/src/protocols

Womhole Core

転送を担うProtocol

Wormhole CCTP

<2025-02-24 Mon 15:44> あれ、15分以上かかる?他の手段ないのか?->CCTP v1だから. v2は数秒.

Wormhole Settlement

MayanのWrapperなのか?

  • Mayan Swift
  • Mayan MCTP

an intent-based solution enabling fast and efficient asset transfers across Ethereum, Solana, Sui, and more.

<2025-03-28 Fri 10:36> 最近できた?

Mayan

WH Swap

おそらくwrapped tokenをつかっているが、swiftと比べるとても悪い.

https://docs.mayan.finance/architecture/wh-swap

🌉Wormhole WTT

Wormhole WTT(Wrapped token trnasfer) TokenBridge.

doc

Program


  • transfer
  • transferNative
  • transferWrapped
  • completeWrapped

Wrapped Native Token?

Token Bridgeをしたときの謎トークン.

転送時間の差は?

Solana->Baseはすぐ終わるがBase->Solanaは20分くらいかかる. なぜだろう.

fee

  • sourceSwap
    • priorityFee
    • 数円
  • bridge
    • relayer fee: 0.00247776SOL
    • 30円くらい. SOL/USDで価格変動.
  • targetSwap
    • gasPrice
    • 数円

0.35ドルは最低でもかかる.

Relayer Fee

WormholeTransfer

stateで管理される.

  • quoteTransfer: 見積り
  • initiateTransfer: 転送開始
  • fetchAttestation: redeem待機
  • completeTransfer: redeem
    • targetChainで処理が走る.

https://github.com/wormhole-foundation/wormhole-sdk-ts/blob/main/examples/src/tokenBridge.ts

  • anchorまわりの依存関係でエラーする. v1.14.0からv.1.0.0に落とすと動く.

pending redeem

転送処理が途中でエラーして止まった場合の再開方法.

<2025-03-31 Mon 11:04> UIから動けばいいけど、動かないときは関数を直接実行したらなんとかなった.

xfer.completeTransfer(destination.signer);

REPLACEMENT_UNDERPRICED

Reason”:”replacement fee too low”,”code”:”REPLACEMENT_UNDERPRICED”

gasPriceまわりのエラーなのだがそもそもWormholeアカウントのpending txが不明. https://support.metamask.io/manage-crypto/transactions/how-to-speed-up-or-cancel-a-pending-transaction/

sdkからの応答もなし、WormholeScanからの応答もなし、もうダメだと思ったら Portal のredeem機能で救済できた.

https://portalbridge.com/advanced-tools/#/redeem

🌉Wormhole NTT

Native Token transfer. Burn-mint方式.

dev

demo

transfer

Bridges

  • portal経由で転送できる

rate limiting

Rate-limiting: The NttManager contract includes rate-limiting functionality to prevent overloading the network or flooding the target chain. The NttManager applies rate limits to manage transfer flow and prevent network congestion. Limits apply to both outgoing and incoming transfers.

Outbound: Transfers exceeding the outbound limit are queued (if shouldQueue is true) or reverted. Inbound: Similar limits apply on the destination chain, delaying transfers if capacity is exceeded. Rate limit duration and queuing are customizable per chain, and events notify users when transfers hit the limit.

;; https://wormhole.com/docs/products/native-token-transfers/concepts/architecture/

SVM

queue=falseでTransferExceedsRateLimit, true で queue.

On SVM, the transfer is added to an Outbox via the insert_into_outbox method, and if the rate limit is hit, the transfer is queued with a release_timestamp. If shouldQueue is false, the transfer is reverted with a TransferExceedsRateLimit error.

dust/trimming

<2025-08-20 Wed 14:00> polygonで発生. READMEにしたがって処理.

Fail with error ‘TransferAmountHasDust (amount=1220431898217495408923, dust=7495408923)‘

Executor

https://github.com/wormholelabs-xyz/example-messaging-executor

Bridges

🏢Wormholeで実装されたToken Bridge DApp.

🌉Portal Token Bridge

通常Wormholeというと, 具体的にはこのDAppsのPortalを指すことが多い(旧名 WormholeBridge).


prefered bridge: https://portalbridge.com/docs/tutorials/how-to-deep-link#pre-select-assets-and-preferred-route

  • <2025-03-11 Tue 19:33> Route選択で高額なMayan しか表示されなかった. token bridgeは先に誰かが転送しているときはつかえないのか?それともたまたま混雑していた?とりあえず5ドル損した…
    • Advance Toolsのほうならば表示された.

🌉Mayan

Portalよりも使われている?! HPにはfor Solanaとかいてある. Solana用 Cross-Chain Swap Service.

Dev

Design

SDKをつかうには用語をまず頭に入れた方がいい.

  • platforms: Chainグループ
    • EVM/Solana/Cosmos/Sui/Aptos/Algorand
    • evm系は同じアドレスを共有するので.
  • chains: chain
  • addresses
  • VAAs: bridge message

VAAs

Wormholeの中核設計のひとつ.

Verified Action Approvals (VAAs) are Wormhole’s core messaging primitive. They are packets of cross-chain data emitted whenever a cross-chain application contract interacts with the Core Contract.

Addresses

  • UniversalAddress
  • NativeAddress
  • ChainAddress

https://wormhole.com/docs/build/reference/wormhole-formatted-addresses/

CLI

https://wormhole.com/docs/build/toolkit/cli/

SDK

API

appId

  • Portal: PORTAL_TOKEN_BRIDGE

Chain-id

  • 1: Solana
  • 30: Base

VAA id

wormholeChainID, EmitterAddress, Sequence

  • ex.) 1/ec7372995d5cc8732397fb0ad35c0121e0eaa90d26f828a534cab54391b3a4f5/1213211
  • 1: Solana
    • ec7372995d5cc8732397fb0ad35c0121e0eaa90d26f828a534cab54391b3a4f5
    • 1213211

fetch transactions

tx(https://wormholescan.io/#/txs)に対応するのはoperations.

daily token Stats

ある期間の取引統計. 新規トークン銘柄の検出につかえる?

https://api.wormholescan.io/api/v1/tokens-symbol-activity

Testnet/Devnet

<2025-03-28 Fri 14:40> Solana Devnet - Base Sepoliaの組み合わせはいけるのだろうか? Base Chain側にはtx履歴はついた. Solana Testnetは 0SOLなので wapped tokenがつくれない?

https://wormhole.com/docs/build/reference/contract-addresses/

CCTP Transfer

Wormhole MEV

https://portalbridge.com/#/transfer

route構築

  • Wormhole Wrapped Tokenを調べる.
    • Solana mint autorityを分析?
    • Coingecko/dex screenerは30くらいしかデータ取得できない.
    • 理論上はなんでもwrap/upwrapできそうだが問題はswapするpoolが各チェーンにあるかどうか.
    • quote/search apiを投げて検証するしかない?
  • Solana-EVM addressはUniversalAddressライブラリで計算?
  • それぞれのアドレスに対応したpoolがあるかどうか検索.

fetch price

Quote

正確な価格の見積りではdecimals情報が必要.

  • native token addressが wormhole apiから取得できるが、そのwrapped tokenは取得できない.
    • sdkをつかうとwrapped tokenの addressとdecimalsが取得できる.
    • おそらくmetaplex のチェーンを直接fetch
  • token addressだけではなく、decimalsの解決が必要.
    • native token decimalsは coingeckoで取得できる.
    • wrapped token decimals: sdkで取得できる.
    • addressがわかればgeckoterminal apiで解決できる
      • api.geckoterminal.com/api/v2/networks/solana/tokens/xxxx
  • https://github.com/XLabs/portal-bridge-ui/blob/config/tokens.config.mainnet.json
    • portal bridgeはtoken情報をキャッシュ.

転送方式

  • Wrapped Token -> Native Token: 1分いない
  • Native token -> transfer, wrap: 20分以上かかる.
    • arbをするとき、先に同一トークンのTransferをしている人がいないかExploreでチェックする.
    • この転送時間があるから、トレーダも少ない=競争もすくない.

mev/ワムホトレーダ

wormhole core: https://solscan.io/account/wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb

Transaction ActionのaddressはownerのATA.

chains

Protocols

  • Portal: ほとんどこれ?

Wormhole Solana MEV

Solanaとのブリッジ.

わたしはSolanaの知識があるので、戦略的にSolanaを軸にしたCross-Chainを調べたい.

Wormhole Token Bridge Program

Lock-Free

https://solscan.io/account/wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb

  • completeWrapped

Wormhole core

Burn-Mint

https://solscan.io/account/worm2ZoG2kUd4vFXhvjh93UUH596ayRfgQ2MgjNMTth

mint authority

https://solscan.io/account/BCD75RNBHrJJpW4dXVagL5mPjzRLnVZq4YirJdjEYMV7

Trouble

チェーンからトークンが取り出せない

NTT transfer rateLimitあってもqueueした

<2025-08-20 Wed 11:27> 大抵は24時間でredeemできる?死んだ.

no wrapper for this token created yet

  • Portal Bridge UI (https://portalbridge.com/legacy-tools/#/register) を使用
  • Polygon(ソースチェーン)を選択してウォレット接続
  • DIMOトークンアドレス(0xE261D618a959aFfFd53168Cd07D12E37B26761db)を入力
  • Base(ターゲットチェーン)を選択
  • “Attest”ボタンでトークンメタデータを検証
  • “Create”ボタンでBase上にwrapped tokenを作成

<2025-08-20 Wed 11:26> attestationが必要?死んだ…

Refs