ワームホール. Wormhole Protocol. クロスチェーンのためのプロトコル.
- site: https://wormhole.com/
- explore: https://wormholescan.io/
- $W: DAO token: https://wormhole.com/w/
ワムホトークン
- native/wrapped は chain-chainの1対1の関係.
- universal addresss method で生成
- Token Origin Verifier
- 公式ツール. nativeを入力するとそのwapped一覧がでる.
- https://wormholescan.io/#/developers/token-origin-verifier
list
最新版はbranchが違うようだ. ただここにも乗ってないtokenもある.
https://github.com/XLabs/portal-bridge-ui/tree/config
- tokenlist: https://github.com/XLabs/portal-bridge-ui/tree/main/apps/token-list
- https://api.wormholescan.io/api/v1/wormhole/assets/secured-tokens, これはsecuredなもの1280くらい.
- coingecko: https://www.coingecko.com/en/categories/wormhole-assets
- 🐔coingeckoIdの末尾は-wormhole. ただこれだと30くらいしかないが、実際はマイナーなものがあるはず. Chingeckoではみれないがdexscreenerではみれる.
- https://api.dexscreener.com/latest/dex/search?q=SAM, たとえばこのキーワード検索だとwormholeのtoken/poolが取得できる.
- https://api.dexscreener.com/latest/dex/search?q=Wormhole, 30個しかとれない.
- https://api.wormholescan.io/v1/governor/token_list, 1652くらいある.
deprecated
メンテナンスはされてない.
https://github.com/XLabs/portal-bridge-ui/tree/main/apps/token-list,
- https://github.com/XLabs/portal-bridge-ui/blob/main/apps/token-list/content/dest_solana.md
- https://github.com/XLabs/portal-bridge-ui/blob/main/apps/token-list/content/source_solana.md
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
- 🌉Wormhole TokenBridge: Lock-Free方式
https://github.com/wormhole-foundation/wormhole-sdk-ts/tree/main/core/definitions/src/protocols
Womhole Core
転送を担うProtocol
Wormhole CCTP
- https://wormhole.com/docs/learn/transfers/cctp/
- feeはEthereum以外は0.1USDC? こればプロトコルだからか?Bridge手数料がベットかかる?
<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.
- https://wormhole.com/docs/learn/transfers/settlement/
- archtecture: https://wormhole.com/docs/learn/transfers/settlement/architecture/
- https://wormhole.com/docs/products/settlement/get-started/
- https://github.com/wormhole-foundation/demo-mayanswift/
- https://www.npmjs.com/package/@mayanfinance/wormhole-sdk-route
- https://github.com/wormhole-foundation/wormhole-connect/tree/development/src/routes/mayan
<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.
- 【Wormhole】How to create token transfer function - YouTube, Yukiさんちょいちょいnoteが検索で引っかかるけどYoutubeもやってたのか、偉いなあ…
doc
- guide: https://wormhole.com/docs/build/transfers/token-bridge/
- https://wormhole.com/docs/tutorials/by-product/wormhole-sdk/tokens-via-token-bridge/
- https://wormhole.com/docs/tutorials/by-product/contract-integrations/cross-chain-token-contracts/#transfer-script
- doc: https://wormhole.com/docs/tutorials/by-product/wormhole-sdk/tokens-via-token-bridge/
Program
- Bridge Config: 2yVjuQwpsvdsrywzsJJVs9Ueh4zayyo5DYJbBNc3DDpn
- program: https://solscan.io/account/wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb
- Sequence: https://solscan.io/account/GF2ghkjwsR9CHkGk1RvuZrApPZGBZynxMm817VNi51Nf
- Emitter: https://solscan.io/account/Gv1KWf8DT1jKv5pKBmGaTmVszqa56Xn8YGx2Pg7i7qAk
- transfer
- transferNative
- transferWrapped
- completeWrapped
Wrapped Native Token?
Token Bridgeをしたときの謎トークン.
- WETH: https://basescan.org/token/0x71b35ecb35104773537f849fbc353f81303a5860
- WSOL: https://basescan.org/token/0x1c61629598e4a901136a81bc138e5828dc150d67
転送時間の差は?
Solana->Baseはすぐ終わるがBase->Solanaは20分くらいかかる. なぜだろう.
fee
- sourceSwap
- priorityFee
- 数円
- bridge
- relayer fee: 0.00247776SOL
- 30円くらい. SOL/USDで価格変動.
- targetSwap
- gasPrice
- 数円
0.35ドルは最低でもかかる.
Relayer Fee
- NativeTransferのとき、signerが新規作成されてその0.3ドル(アカウント作成代?)が徴収される. このコストはなに?
- Solana sdkは0が指定されているこれを追加するにはIx単位での送信が必要?
- 0.00247776SOL, 固定値? https://github.com/wormhole-foundation/wormhole-sdk-ts/blob/main/platforms/solana/protocols/tokenBridge/src/tokenBridge.ts
WormholeTransfer
stateで管理される.
- quoteTransfer: 見積り
- initiateTransfer: 転送開始
- fetchAttestation: redeem待機
- wormholescan apiが叩かれている.
- https://api.wormholescan.io/v1/signed_vaa/
- completeTransfer: redeem
- targetChainで処理が走る.
- src : https://github.com/wormhole-foundation/wormhole-sdk-ts/blob/f92341c76be6d0f3efdf8b8f57e16997c25911df/connect/src/protocols/wormholeTransfer.ts#L41
- doc: https://wormhole.com/docs/tutorials/by-product/wormhole-sdk/tokens-via-token-bridge/#configure-transfer-details
- example
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方式.
- docs
- tokens
- explores:
dev
- repo: https://github.com/wormhole-foundation/native-token-transfers/tree/main
- https://solscan.io/account/ExVbjD8inGXkt7Cx8jVr4GF175sQy1MeqgfaY53Ah8as
- Wormhole Native Token Transfer (NTT): A Technical Deep Dive - YouTube
demo
- https://github.com/wormhole-foundation/demo-ntt-ts-sdk
- https://github.com/wormhole-foundation/demo-ntt-connect
- https://github.com/wormhole-foundation/demo-wormholescan-api
transfer
- https://github.com/wormhole-foundation/demo-ntt-ts-sdk
- Query NTT Data and Transfers with Wormholescan | Wormhole Docs, これはAPIでtransferをfetch
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).
- https://www.portalbridge.com/#/transfer
- https://defipocket.jp/index.php/defi/portal/982/
- https://portalbridge.com/docs/
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
- https://wormhole.com/docs/build/
- https://github.com/wormhole-foundation
- https://github.com/XLabs/portal-bridge-ui/
Design
SDKをつかうには用語をまず頭に入れた方がいい.
- platforms: Chainグループ
- EVM/Solana/Cosmos/Sui/Aptos/Algorand
- evm系は同じアドレスを共有するので.
- chains: chain
- addresses
- VAAs: bridge message
- glosary: https://wormhole.com/docs/learn/fundamentals/glossary/
- arch: https://wormhole.com/docs/learn/fundamentals/architecture/
- concepts
- https://wormhole.com/docs/learn/infrastructure/
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.
- https://wormhole.com/docs/learn/infrastructure/vaas/
- parser: https://wormholescan.io/#/developers/tools/vaa-parser
- txid or vaaidから情報取得してparse
- api: api.wormholescan.io/v1/signed_vaa/{chainId}/vaaid
- getVaa, fetchAttestatin, fromの関数は内部でこれをcallしている.
- ドキュメントにかかれてないのはなぜ?
Addresses
- UniversalAddress
- NativeAddress
- ChainAddress
https://wormhole.com/docs/build/reference/wormhole-formatted-addresses/
CLI
https://wormhole.com/docs/build/toolkit/cli/
SDK
- ts doc: https://wormhole-foundation.github.io/wormhole-sdk-ts/
- https://wormhole.com/docs/build/applications/wormhole-sdk/wormhole-sdk/#usage
API
- doc: https://wormholescan.io/#/developers/api-doc
- swagger: https://docs.wormholescan.io/
- endpoint: https://api.wormholescan.io/
- testnet: https://api.testnet.wormholescan.io
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.
-
solana->base Portal
- get: /api/v1/operations
- post: hxhashで検索.
- from/to: string, 2025-04-13T06%3A00%3A00.000Z
- get: /api/v1/operations
daily token Stats
ある期間の取引統計. 新規トークン銘柄の検出につかえる?
https://api.wormholescan.io/api/v1/tokens-symbol-activity
Testnet/Devnet
- https://wormhole.com/docs/build/start-building/testnet-faucets/
- https://wormhole.com/docs/build/toolkit/dev-env/
<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
- sdk: https://wormhole.com/docs/tutorials/by-product/wormhole-sdk/usdc-via-cctp/
- demo: https://github.com/wormhole-foundation/demo-cctp-transfer
- https://github.com/wormhole-foundation/wormhole-sdk-ts/blob/main/connect/src/protocols/cctp/cctpTransfer.ts
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
- solana-ethereum
- solana->terra2
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
- Cross-chain Arbitrage for tokens bridged via Wormhole | by Fede Crypto Notte | Medium
- Introducing Wormhole. We’re incredibly excited to announce… | by Wormhole | Medium
- https://medium.com/@thenfh/a-developers-intro-to-wormhole-and-product-ideas-8c727050ac5a#5bb5, とても詳しいdev guide.
- https://x.com/stand_english, Yuki metaplex japan.