[
  {
    "id": "products-cctp-bridge-get-started",
    "title": "Get Started with CCTP",
    "slug": "products-cctp-bridge-get-started",
    "categories": [
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-get-started.md",
    "html_url": "https://wormhole.com/docs/products/cctp-bridge/get-started/",
    "preview": "[Wormhole CCTP](/docs/products/cctp-bridge/overview/){target=\\_blank} enables native USDC transfers between supported chains by burning tokens on the source chain and minting them on the destination. This provides native, canonical USDC movement without the need for wrapped tokens.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Configure Your Token Transfer Environment",
        "anchor": "configure-your-token-transfer-environment"
      },
      {
        "depth": 2,
        "title": "Perform a CCTP Transfer",
        "anchor": "perform-a-cctp-transfer"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1886,
      "token_estimate": 3571,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:b45575f6923e75f8e36524e2fbff24279e06d67e137a4b9b216ff18ddf05ae2b",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-get-started.md"
  },
  {
    "id": "products-cctp-bridge-guides-cctp-contracts",
    "title": "Interacting with CCTP Contracts",
    "slug": "products-cctp-bridge-guides-cctp-contracts",
    "categories": [
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-guides-cctp-contracts.md",
    "html_url": "https://wormhole.com/docs/products/cctp-bridge/guides/cctp-contracts/",
    "preview": "Circle's [Cross-Chain Transfer Protocol (CCTP)](/docs/products/cctp-bridge/overview/){target=\\_blank} is a permissionless utility that facilitates secure and efficient USDC transfers across blockchain networks through native burning and minting mechanisms.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Wormhole's CCTP Integration Contract",
        "anchor": "wormholes-cctp-integration-contract"
      },
      {
        "depth": 2,
        "title": "Circle's CCTP Contracts",
        "anchor": "circles-cctp-contracts"
      },
      {
        "depth": 3,
        "title": "Token Messenger Contract",
        "anchor": "token-messenger-contract"
      },
      {
        "depth": 3,
        "title": "Message Transmitter Contract",
        "anchor": "message-transmitter-contract"
      },
      {
        "depth": 3,
        "title": "Token Minter Contract",
        "anchor": "token-minter-contract"
      },
      {
        "depth": 2,
        "title": "CCTP Transfers with Executor",
        "anchor": "cctp-transfers-with-executor"
      },
      {
        "depth": 3,
        "title": "On-Chain Transfer Initiation",
        "anchor": "on-chain-transfer-initiation"
      },
      {
        "depth": 3,
        "title": "Execution and Delivery via Executor",
        "anchor": "execution-and-delivery-via-executor"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 8630,
      "token_estimate": 14955,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:dfdd029d24e87ce8c619df822777c2efe7affd9266f13462111cf636490572e3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-guides-cctp-contracts.md"
  },
  {
    "id": "products-cctp-bridge-overview",
    "title": "CCTP Bridge with Wormhole",
    "slug": "products-cctp-bridge-overview",
    "categories": [
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-overview.md",
    "html_url": "https://wormhole.com/docs/products/cctp-bridge/overview/",
    "preview": "The integration of [Circle's Cross-Chain Transfer Protocol (CCTP)](https://www.circle.com/cross-chain-transfer-protocol){target=\\_blank} with the Wormhole messaging protocol creates a robust system for securely and efficiently transferring native USDC across different blockchain networks while enabling more complex multichain interactions. This combination streamlines the movement of stablecoins, reduces risk, and unlocks new possibilities for decentralized applications.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "CCTP vs Wrapped Token Transfers (WTT)",
        "anchor": "cctp-vs-wrapped-token-transfers-wtt"
      },
      {
        "depth": 2,
        "title": "When to Use CCTP",
        "anchor": "when-to-use-cctp"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 994,
      "token_estimate": 1765,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:be075fe16931d80a24d68b35678b3c1f5045ad1040a958bfadd399e6c04550c4",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-overview.md"
  },
  {
    "id": "products-cctp-bridge-reference-supported-networks",
    "title": "CCTP Supported Networks",
    "slug": "products-cctp-bridge-reference-supported-networks",
    "categories": [
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/cctp-bridge/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 1729,
      "token_estimate": 4713,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:0f565dff3dc46c33bfe63b3be46758b5b7b1116ac398d35549e332c2760c707f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-reference-supported-networks.md"
  },
  {
    "id": "products-cctp-bridge-tutorials-complete-usdc-transfer",
    "title": "Complete USDC Transfer Flow",
    "slug": "products-cctp-bridge-tutorials-complete-usdc-transfer",
    "categories": [
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-tutorials-complete-usdc-transfer.md",
    "html_url": "https://wormhole.com/docs/products/cctp-bridge/tutorials/complete-usdc-transfer/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-cctp-transfer){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Core Concepts",
        "anchor": "core-concepts"
      },
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Supported Chains",
        "anchor": "supported-chains"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Manual Transfers",
        "anchor": "manual-transfers"
      },
      {
        "depth": 3,
        "title": "Set Up the Transfer Environment",
        "anchor": "set-up-the-transfer-environment"
      },
      {
        "depth": 3,
        "title": "Run Manual Transfer",
        "anchor": "run-manual-transfer"
      },
      {
        "depth": 3,
        "title": "Complete Partial Transfer",
        "anchor": "complete-partial-transfer"
      },
      {
        "depth": 2,
        "title": "Automatic Transfers",
        "anchor": "automatic-transfers"
      },
      {
        "depth": 3,
        "title": "Set Up the Transfer Environment",
        "anchor": "set-up-the-transfer-environment-2"
      },
      {
        "depth": 3,
        "title": "Run Automatic Transfer",
        "anchor": "run-automatic-transfer"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 3066,
      "token_estimate": 4939,
      "headings": 13,
      "sections_indexed": 13
    },
    "hash": "sha256:3fff016f7fb97da755e042628801df2a40c899c3d7b4a3db405d68443f1014ef",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-cctp-bridge-tutorials-complete-usdc-transfer.md"
  },
  {
    "id": "products-connect-concepts-routes",
    "title": "Routes",
    "slug": "products-connect-concepts-routes",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-concepts-routes.md",
    "html_url": "https://wormhole.com/docs/products/connect/concepts/routes/",
    "preview": "This page explains the concept of routes in Wormhole Connect. To configure routes for your widget, check the [Wormhole Connect Configuration](/docs/products/connect/configuration/data/){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Routes Overview {: #routes-overview}",
        "anchor": "routes-overview-routes-overview"
      },
      {
        "depth": 2,
        "title": "WTT Routes {: #wtt-routes}",
        "anchor": "wtt-routes-wtt-routes"
      },
      {
        "depth": 2,
        "title": "CCTP Routes (USDC) {: #cctp-routes-usdc}",
        "anchor": "cctp-routes-usdc-cctp-routes-usdc"
      },
      {
        "depth": 2,
        "title": "Native Token Transfers (NTT) Routes {: #native-token-transfers-ntt-routes}",
        "anchor": "native-token-transfers-ntt-routes-native-token-transfers-ntt-routes"
      },
      {
        "depth": 2,
        "title": "ETH Bridge Route for Native ETH and wstETH {: #eth-bridge-route-for-native-eth-and-wsteth}",
        "anchor": "eth-bridge-route-for-native-eth-and-wsteth-eth-bridge-route-for-native-eth-and-wsteth"
      },
      {
        "depth": 2,
        "title": "USDT Bridge Route {: #usdt-bridge-route}",
        "anchor": "usdt-bridge-route-usdt-bridge-route"
      },
      {
        "depth": 2,
        "title": "tBTC Route {: #tbtc-route}",
        "anchor": "tbtc-route-tbtc-route"
      }
    ],
    "stats": {
      "word_count": 1132,
      "token_estimate": 1602,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:0cd60e71355875cc7fd28f3cdc37243daf3b71b20e3459726819d31ca4393835",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-concepts-routes.md"
  },
  {
    "id": "products-connect-configuration-configuration-v0",
    "title": "Configure Your Connect Widget v0",
    "slug": "products-connect-configuration-configuration-v0",
    "categories": [],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-configuration-v0.md",
    "html_url": "https://wormhole.com/docs/products/connect/configuration/configuration-v0/",
    "preview": "Wormhole Connect is a flexible React widget that streamlines cross-chain asset transfers and enables seamless interoperability by leveraging Wormhole's powerful infrastructure. Designed for easy integration into decentralized applications (dApps), Wormhole Connect abstracts the complexities of cross-chain communication, providing a user-friendly experience for both developers and end users.",
    "outline": [
      {
        "depth": 2,
        "title": "Get Started",
        "anchor": "get-started"
      },
      {
        "depth": 2,
        "title": "Examples {: #examples }",
        "anchor": "examples-examples"
      },
      {
        "depth": 3,
        "title": "Custom Networks and RPC Endpoints {: #custom-networks-and-rpc-endpoints }",
        "anchor": "custom-networks-and-rpc-endpoints-custom-networks-and-rpc-endpoints"
      },
      {
        "depth": 3,
        "title": "Fully Customized Theme {: #fully-customized-theme }",
        "anchor": "fully-customized-theme-fully-customized-theme"
      },
      {
        "depth": 3,
        "title": "Environment {: #environment }",
        "anchor": "environment-environment"
      },
      {
        "depth": 3,
        "title": "Custom RPC Endpoint {: #custom-rpc-endpoint }",
        "anchor": "custom-rpc-endpoint-custom-rpc-endpoint"
      },
      {
        "depth": 3,
        "title": "Arbitrary Token {: #arbitrary-token }",
        "anchor": "arbitrary-token-arbitrary-token"
      },
      {
        "depth": 2,
        "title": "More Configuration Options {: #more-configuration-options }",
        "anchor": "more-configuration-options-more-configuration-options"
      },
      {
        "depth": 3,
        "title": "Whitelisting Tokens {: #whitelisting-tokens }",
        "anchor": "whitelisting-tokens-whitelisting-tokens"
      },
      {
        "depth": 3,
        "title": "Routes {: #routes }",
        "anchor": "routes-routes"
      },
      {
        "depth": 3,
        "title": "Wallet Set Up  {: #wallet-connect-project-id }",
        "anchor": "wallet-set-up-wallet-connect-project-id"
      },
      {
        "depth": 3,
        "title": "Toggle Hamburger Menu {: #toggle-hamburger-menu }",
        "anchor": "toggle-hamburger-menu-toggle-hamburger-menu"
      },
      {
        "depth": 3,
        "title": "CoinGecko API Key {: #coingecko-api-key }",
        "anchor": "coingecko-api-key-coingecko-api-key"
      },
      {
        "depth": 3,
        "title": "More Networks {: #more-networks }",
        "anchor": "more-networks-more-networks"
      },
      {
        "depth": 3,
        "title": "More Tokens {: #more-tokens }",
        "anchor": "more-tokens-more-tokens"
      },
      {
        "depth": 3,
        "title": "Explorer {: #explorer }",
        "anchor": "explorer-explorer"
      }
    ],
    "stats": {
      "word_count": 2546,
      "token_estimate": 6119,
      "headings": 16,
      "sections_indexed": 16
    },
    "hash": "sha256:686803ba4bbc51939830114751978dc3b189e32a28747977a27acc53d98be5c2",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-configuration-v0.md"
  },
  {
    "id": "products-connect-configuration-data",
    "title": "Connect Data Configuration",
    "slug": "products-connect-configuration-data",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-data.md",
    "html_url": "https://wormhole.com/docs/products/connect/configuration/data/",
    "preview": "This page explains how to configure Wormhole Connect's core functionality, from choosing supported chains and tokens to bridging routes to setting up wallets and enabling price lookups. By the end, you'll know how to specify custom networks and RPC endpoints, integrate different bridging protocols, add new tokens, and more.",
    "outline": [
      {
        "depth": 2,
        "title": "Data Configuration",
        "anchor": "data-configuration"
      },
      {
        "depth": 2,
        "title": "Get Started",
        "anchor": "get-started"
      },
      {
        "depth": 2,
        "title": "Examples {: #examples }",
        "anchor": "examples-examples"
      },
      {
        "depth": 3,
        "title": "Configuring Chains and RPC Endpoints {: #chains-and-rpc-endpoints }",
        "anchor": "configuring-chains-and-rpc-endpoints-chains-and-rpc-endpoints"
      },
      {
        "depth": 3,
        "title": "Configuring Routes",
        "anchor": "configuring-routes"
      },
      {
        "depth": 3,
        "title": "Adding Custom Tokens {: #custom-tokens }",
        "anchor": "adding-custom-tokens-custom-tokens"
      },
      {
        "depth": 3,
        "title": "Configuring Native Token Transfers (NTT)",
        "anchor": "configuring-native-token-transfers-ntt"
      },
      {
        "depth": 3,
        "title": "Whitelisting Tokens {: #whitelisting-tokens }",
        "anchor": "whitelisting-tokens-whitelisting-tokens"
      },
      {
        "depth": 3,
        "title": "User-Inputted Tokens {: #user-inputted-tokens }",
        "anchor": "user-inputted-tokens-user-inputted-tokens"
      },
      {
        "depth": 3,
        "title": "Transaction Settings {: #transaction-settings }",
        "anchor": "transaction-settings-transaction-settings"
      },
      {
        "depth": 3,
        "title": "Wallet Set Up  {: #reown-cloud-project-id }",
        "anchor": "wallet-set-up-reown-cloud-project-id"
      }
    ],
    "stats": {
      "word_count": 2079,
      "token_estimate": 4229,
      "headings": 11,
      "sections_indexed": 11
    },
    "hash": "sha256:327078050a7473d5067f57ad4dbf04468283a7391cdce98e74ad7b2107d25a59",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-data.md"
  },
  {
    "id": "products-connect-configuration-theme",
    "title": "Connect Theme & UI Customization",
    "slug": "products-connect-configuration-theme",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-theme.md",
    "html_url": "https://wormhole.com/docs/products/connect/configuration/theme/",
    "preview": "This page focuses on how to style the Connect widget, covering color schemes, fonts, layout changes (like toggling the hamburger menu), and adding extra menu entries. You'll learn how to customize Connect's look and feel to match your application's branding.",
    "outline": [
      {
        "depth": 2,
        "title": "Theme & UI Customization",
        "anchor": "theme-ui-customization"
      },
      {
        "depth": 3,
        "title": "Changing the Color Scheme",
        "anchor": "changing-the-color-scheme"
      },
      {
        "depth": 3,
        "title": "Toggle Hamburger Menu {: #toggle-hamburger-menu }",
        "anchor": "toggle-hamburger-menu-toggle-hamburger-menu"
      }
    ],
    "stats": {
      "word_count": 368,
      "token_estimate": 993,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:7cc026faa308f0d59c2734fe87893ef6081ba614f02a322888f31fe8aba9fc61",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-configuration-theme.md"
  },
  {
    "id": "products-connect-faqs",
    "title": "Connect FAQs",
    "slug": "products-connect-faqs",
    "categories": [
      "Connect",
      "Transfer",
      "CCTP"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-faqs.md",
    "html_url": "https://wormhole.com/docs/products/connect/faqs/",
    "preview": "Connect supports both native and wrapped assets across all Wormhole-supported blockchains. This includes:",
    "outline": [
      {
        "depth": 2,
        "title": "What types of assets does Connect support?",
        "anchor": "what-types-of-assets-does-connect-support"
      },
      {
        "depth": 2,
        "title": "What chains does Connect support?",
        "anchor": "what-chains-does-connect-support"
      },
      {
        "depth": 2,
        "title": "What is gas dropoff?",
        "anchor": "what-is-gas-dropoff"
      },
      {
        "depth": 2,
        "title": "Can I customize Connect inside my application?",
        "anchor": "can-i-customize-connect-inside-my-application"
      },
      {
        "depth": 2,
        "title": "How can I disable specific routes?",
        "anchor": "how-can-i-disable-specific-routes"
      },
      {
        "depth": 2,
        "title": "How can I hide specific tokens from the picker?",
        "anchor": "how-can-i-hide-specific-tokens-from-the-picker"
      },
      {
        "depth": 2,
        "title": "Which functions or events does Connect rely on for NTT integration?",
        "anchor": "which-functions-or-events-does-connect-rely-on-for-ntt-integration"
      },
      {
        "depth": 2,
        "title": "Do integrators need to enable wallets like Phantom or Backpack in Connect?",
        "anchor": "do-integrators-need-to-enable-wallets-like-phantom-or-backpack-in-connect"
      },
      {
        "depth": 2,
        "title": "Which function should be modified to set priority fees for Solana transactions?",
        "anchor": "which-function-should-be-modified-to-set-priority-fees-for-solana-transactions"
      },
      {
        "depth": 2,
        "title": "Is there a minimum amount for bridging with CCTP or the Connect SDK?",
        "anchor": "is-there-a-minimum-amount-for-bridging-with-cctp-or-the-connect-sdk"
      }
    ],
    "stats": {
      "word_count": 946,
      "token_estimate": 1606,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:c4e687914c012ca7f0dda026eefb404c57e0c544e466ceb3c92dd72c8d43c6f6",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-faqs.md"
  },
  {
    "id": "products-connect-get-started",
    "title": "Get Started with Connect",
    "slug": "products-connect-get-started",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-get-started.md",
    "html_url": "https://wormhole.com/docs/products/connect/get-started/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-basic-connect){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Install Connect",
        "anchor": "install-connect"
      },
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Install and Set Up Project",
        "anchor": "install-and-set-up-project"
      },
      {
        "depth": 2,
        "title": "Configure Connect",
        "anchor": "configure-connect"
      },
      {
        "depth": 2,
        "title": "Interact with Connect",
        "anchor": "interact-with-connect"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 616,
      "token_estimate": 1119,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:9b3387c2a9816f93ed2a5a70b49eb67b31f995e60e7df5666487789d59a509de",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-get-started.md"
  },
  {
    "id": "products-connect-guides-hosted-version",
    "title": "Integrate Connect via CDN",
    "slug": "products-connect-guides-hosted-version",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-guides-hosted-version.md",
    "html_url": "https://wormhole.com/docs/products/connect/guides/hosted-version/",
    "preview": "[Wormhole Connect](/docs/products/connect/overview/){target=\\_blank} is a prebuilt UI component that makes it easy to transfer tokens across chains. You can integrate it into any website using either React or a hosted version served via [jsDelivr](https://www.jsdelivr.com/){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Install Connect",
        "anchor": "install-connect"
      },
      {
        "depth": 2,
        "title": "Add Connect to Your Project Using the Hosted Version",
        "anchor": "add-connect-to-your-project-using-the-hosted-version"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 342,
      "token_estimate": 621,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:a08329038de97b7f0c993f80ab3f5fd0190ffc30df27e0729a4a3dff2e131ed9",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-guides-hosted-version.md"
  },
  {
    "id": "products-connect-guides-upgrade",
    "title": "Wormhole Connect Migration Guides",
    "slug": "products-connect-guides-upgrade",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-guides-upgrade.md",
    "html_url": "https://wormhole.com/docs/products/connect/guides/upgrade/",
    "preview": "This page collects step-by-step migration guides for major versions of Wormhole Connect. Choose the section that matches the version you are upgrading from:",
    "outline": [
      {
        "depth": 2,
        "title": "V5 to V6 {: #v5-to-v6 }",
        "anchor": "v5-to-v6-v5-to-v6"
      },
      {
        "depth": 3,
        "title": "Route Replacements",
        "anchor": "route-replacements"
      },
      {
        "depth": 3,
        "title": "When You Need to Change Code",
        "anchor": "when-you-need-to-change-code"
      },
      {
        "depth": 3,
        "title": "Update the Connect Package",
        "anchor": "update-the-connect-package"
      },
      {
        "depth": 3,
        "title": "`DEFAULT_ROUTES` Has Been Updated",
        "anchor": "default_routes-has-been-updated"
      },
      {
        "depth": 3,
        "title": "Update Custom `routes` Arrays",
        "anchor": "update-custom-routes-arrays"
      },
      {
        "depth": 3,
        "title": "Update NTT Routes",
        "anchor": "update-ntt-routes"
      },
      {
        "depth": 2,
        "title": "V0/V1/V2 to V3 {: #v0-v1-v2-to-v3 }",
        "anchor": "v0v1v2-to-v3-v0-v1-v2-to-v3"
      },
      {
        "depth": 2,
        "title": "Update the Connect Package",
        "anchor": "update-the-connect-package-2"
      },
      {
        "depth": 2,
        "title": "Update the `WormholeConnectConfig` Object",
        "anchor": "update-the-wormholeconnectconfig-object"
      },
      {
        "depth": 3,
        "title": "Summary of Breaking Changes",
        "anchor": "summary-of-breaking-changes"
      },
      {
        "depth": 3,
        "title": "Capitalize Chain Names",
        "anchor": "capitalize-chain-names"
      },
      {
        "depth": 3,
        "title": "Rename `env` to `network`",
        "anchor": "rename-env-to-network"
      },
      {
        "depth": 3,
        "title": "Rename `networks` to `chains`",
        "anchor": "rename-networks-to-chains"
      },
      {
        "depth": 3,
        "title": "Update `routes` to Use Route Plugins",
        "anchor": "update-routes-to-use-route-plugins"
      },
      {
        "depth": 3,
        "title": "Update the `tokensConfig` Structure",
        "anchor": "update-the-tokensconfig-structure"
      },
      {
        "depth": 3,
        "title": "Update NTT Configuration",
        "anchor": "update-ntt-configuration"
      },
      {
        "depth": 3,
        "title": "Update UI Configuration",
        "anchor": "update-ui-configuration"
      },
      {
        "depth": 3,
        "title": "Removed Configuration Properties",
        "anchor": "removed-configuration-properties"
      },
      {
        "depth": 2,
        "title": "Use the CDN-Hosted Version of Wormhole Connect",
        "anchor": "use-the-cdn-hosted-version-of-wormhole-connect"
      },
      {
        "depth": 3,
        "title": "Install and Integrate the Hosted Version",
        "anchor": "install-and-integrate-the-hosted-version"
      },
      {
        "depth": 3,
        "title": "Example: Custom Configuration for Hosted Version",
        "anchor": "example-custom-configuration-for-hosted-version"
      }
    ],
    "stats": {
      "word_count": 3270,
      "token_estimate": 6442,
      "headings": 22,
      "sections_indexed": 22
    },
    "hash": "sha256:0b2c720a8a10643f14cbd04170051cfb55e8375768434eb5626950dbdad4982d",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-guides-upgrade.md"
  },
  {
    "id": "products-connect-overview",
    "title": "Wormhole Connect",
    "slug": "products-connect-overview",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-overview.md",
    "html_url": "https://wormhole.com/docs/products/connect/overview/",
    "preview": "With the Wormhole Connect widget, you can enable users to perform multichain asset transfers directly within your application. Connect simplifies the complexity of bridging, offering a single, intuitive point of interaction for moving assets across diverse blockchains. This empowers you to access liquidity and opportunities across any connected network seamlessly.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 515,
      "token_estimate": 875,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:94ceb16bffe3421c19a727d3a126983c9a0d7275acad4c4bd50dc24a287d0b4f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-overview.md"
  },
  {
    "id": "products-connect-reference-support-matrix",
    "title": "Features",
    "slug": "products-connect-reference-support-matrix",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-reference-support-matrix.md",
    "html_url": "https://wormhole.com/docs/products/connect/reference/support-matrix/",
    "preview": "*Scroll down for details about each column.*",
    "outline": [
      {
        "depth": 2,
        "title": "Feature Support Matrix {: #feature-support-matrix}",
        "anchor": "feature-support-matrix-feature-support-matrix"
      },
      {
        "depth": 2,
        "title": "Feature Explanation {: #feature-explanation}",
        "anchor": "feature-explanation-feature-explanation"
      },
      {
        "depth": 3,
        "title": "Wrapped Token Transfers (WTT) {: #wrapped-token-transfers}",
        "anchor": "wrapped-token-transfers-wtt-wrapped-token-transfers"
      },
      {
        "depth": 3,
        "title": "WTT Relayer {: #wtt-relayer}",
        "anchor": "wtt-relayer-wtt-relayer"
      },
      {
        "depth": 3,
        "title": "Circle CCTP {: #circle-cctp}",
        "anchor": "circle-cctp-circle-cctp"
      },
      {
        "depth": 3,
        "title": "ETH Bridge {: #eth-bridge}",
        "anchor": "eth-bridge-eth-bridge"
      },
      {
        "depth": 3,
        "title": "Gas Drop Off {: #gas-drop-off}",
        "anchor": "gas-drop-off-gas-drop-off"
      }
    ],
    "stats": {
      "word_count": 509,
      "token_estimate": 1081,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:651af147f0aca6844dc02c187d151a770656de30f9149bba4421c9c73b2a27ab",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-reference-support-matrix.md"
  },
  {
    "id": "products-connect-reference-supported-networks",
    "title": "Connect Supported Networks",
    "slug": "products-connect-reference-supported-networks",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/connect/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 2119,
      "token_estimate": 5768,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:1db2bcc20ad22f118d2811c1eabeb5660d8d65cf7fabde1b2206284944adedc3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-reference-supported-networks.md"
  },
  {
    "id": "products-connect-tutorials-react-dapp",
    "title": "Integrate Connect into a React DApp Tutorial",
    "slug": "products-connect-tutorials-react-dapp",
    "categories": [
      "Connect",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-connect-tutorials-react-dapp.md",
    "html_url": "https://wormhole.com/docs/products/connect/tutorials/react-dapp/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-basic-connect){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Set Up Connect for Sui Transfers",
        "anchor": "set-up-connect-for-sui-transfers"
      },
      {
        "depth": 3,
        "title": "Create a React Project",
        "anchor": "create-a-react-project"
      },
      {
        "depth": 3,
        "title": "Install Connect",
        "anchor": "install-connect"
      },
      {
        "depth": 3,
        "title": "Integrate Connect into the Application",
        "anchor": "integrate-connect-into-the-application"
      },
      {
        "depth": 3,
        "title": "Customize Connect",
        "anchor": "customize-connect"
      },
      {
        "depth": 3,
        "title": "Run the Application",
        "anchor": "run-the-application"
      },
      {
        "depth": 2,
        "title": "Transfer Tokens from Sui to Fuji",
        "anchor": "transfer-tokens-from-sui-to-fuji"
      },
      {
        "depth": 2,
        "title": "Claim Tokens on Fuji",
        "anchor": "claim-tokens-on-fuji"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1340,
      "token_estimate": 2209,
      "headings": 12,
      "sections_indexed": 12
    },
    "hash": "sha256:05c7f0e2f19dac800889f5876df4f1ced4f7e827e1d9ecc7369b153ad8f64c38",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-connect-tutorials-react-dapp.md"
  },
  {
    "id": "products-messaging-concepts-solana-shim",
    "title": "Solana Shims",
    "slug": "products-messaging-concepts-solana-shim",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-concepts-solana-shim.md",
    "html_url": "https://wormhole.com/docs/products/messaging/concepts/solana-shim/",
    "preview": "Wormhole shims on Solana are lightweight programs that enable cheaper and more flexible message emission and verification while preserving Guardian observation guarantees. They are designed for integrators who want to reduce Solana rent costs without sacrificing core protocol security or Guardian compatibility.",
    "outline": [
      {
        "depth": 2,
        "title": "The Core Bridge Account Problem",
        "anchor": "the-core-bridge-account-problem"
      },
      {
        "depth": 2,
        "title": "What Are the Solana Shims?",
        "anchor": "what-are-the-solana-shims"
      },
      {
        "depth": 3,
        "title": "Emission Shim",
        "anchor": "emission-shim"
      },
      {
        "depth": 3,
        "title": "Verification Shim",
        "anchor": "verification-shim"
      },
      {
        "depth": 2,
        "title": "Guardian Observation Methods: Legacy vs. Shims",
        "anchor": "guardian-observation-methods-legacy-vs-shims"
      },
      {
        "depth": 2,
        "title": "Transaction Costs",
        "anchor": "transaction-costs"
      },
      {
        "depth": 2,
        "title": "Safety, Tradeoffs & Limitations",
        "anchor": "safety-tradeoffs-limitations"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1769,
      "token_estimate": 2648,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:3d1b05ce92008cb8ff7757277487f091f3df6c64f225449bc14e348d9aaf8886",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-concepts-solana-shim.md"
  },
  {
    "id": "products-messaging-get-started",
    "title": "Get Started with Messaging",
    "slug": "products-messaging-get-started",
    "categories": [
      "Basics",
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-get-started.md",
    "html_url": "https://wormhole.com/docs/products/messaging/get-started/",
    "preview": "Wormhole's core functionality allows you to send any data packet from one supported chain to another. This guide demonstrates how to publish your first simple, arbitrary data message from an EVM environment source chain using the Wormhole TypeScript SDK's core messaging capabilities.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Configure Your Messaging Environment",
        "anchor": "configure-your-messaging-environment"
      },
      {
        "depth": 2,
        "title": "Construct and Publish Your Message",
        "anchor": "construct-and-publish-your-message"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1288,
      "token_estimate": 2574,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:b0e28630e943410fbe4533ad6996748c965693ed55334b76fcb3a31eb9caff41",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-get-started.md"
  },
  {
    "id": "products-messaging-guides-core-contracts",
    "title": "Get Started with Core Contracts",
    "slug": "products-messaging-guides-core-contracts",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-core-contracts.md",
    "html_url": "https://wormhole.com/docs/products/messaging/guides/core-contracts/",
    "preview": "Wormhole's Core Contracts, deployed on each supported blockchain network, enable the fundamental operations of sending and receiving cross-chain messages.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "How to Interact with Core Contracts",
        "anchor": "how-to-interact-with-core-contracts"
      },
      {
        "depth": 3,
        "title": "Sending Messages",
        "anchor": "sending-messages"
      },
      {
        "depth": 3,
        "title": "Receiving Messages",
        "anchor": "receiving-messages"
      },
      {
        "depth": 2,
        "title": "Source Code References",
        "anchor": "source-code-references"
      }
    ],
    "stats": {
      "word_count": 1931,
      "token_estimate": 3428,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:cf80cdfe1de2822afe847be21b558a3a8b704a8b3ab0c064c33ed44e1fbdbf43",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-core-contracts.md"
  },
  {
    "id": "products-messaging-guides-solana-shims-sol-emission",
    "title": "Solana Message Emission via Shim",
    "slug": "products-messaging-guides-solana-shims-sol-emission",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-solana-shims-sol-emission.md",
    "html_url": "https://wormhole.com/docs/products/messaging/guides/solana-shims/sol-emission/",
    "preview": "The emission shim is a lightweight Solana program that lets integrators emit Wormhole messages without creating a new rent-exempt account for every message. It passes an empty payload to the core bridge and emits the message data through transaction logs, reducing rent costs and avoiding state bloat while remaining fully compatible with Guardian observation.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Setup",
        "anchor": "setup"
      },
      {
        "depth": 2,
        "title": "Accounts",
        "anchor": "accounts"
      },
      {
        "depth": 2,
        "title": "Call post_message",
        "anchor": "call-post_message"
      },
      {
        "depth": 2,
        "title": "Limitations and Considerations",
        "anchor": "limitations-and-considerations"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 1220,
      "token_estimate": 2148,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:adfaf4d33f33217eea35bdf53249e00e6371f3fd56a04974a6c449f6968c4f41",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-solana-shims-sol-emission.md"
  },
  {
    "id": "products-messaging-guides-solana-shims-sol-verification",
    "title": "Solana VAA Verification via Shim",
    "slug": "products-messaging-guides-solana-shims-sol-verification",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-solana-shims-sol-verification.md",
    "html_url": "https://wormhole.com/docs/products/messaging/guides/solana-shims/sol-verification/",
    "preview": "Verifying VAAs on Solana with the legacy core bridge requires creating multiple rent-exempt accounts for signatures and posted VAAs. These accounts persist even after verification is complete, which increases costs and bloats the on-chain state.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Setup",
        "anchor": "setup"
      },
      {
        "depth": 2,
        "title": "Accounts",
        "anchor": "accounts"
      },
      {
        "depth": 2,
        "title": "Verify the VAA",
        "anchor": "verify-the-vaa"
      },
      {
        "depth": 2,
        "title": "Limitations and Security Considerations",
        "anchor": "limitations-and-security-considerations"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 709,
      "token_estimate": 1195,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:78d5eb18ea4c8bbd3d59bfa699cebd5fb56da9e7c50d9039b9333251b5c9eb0d",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-solana-shims-sol-verification.md"
  },
  {
    "id": "products-messaging-guides-wormholescan-api",
    "title": "Query NTT Data and Transfers with Wormholescan",
    "slug": "products-messaging-guides-wormholescan-api",
    "categories": [],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-wormholescan-api.md",
    "html_url": "https://wormhole.com/docs/products/messaging/guides/wormholescan-api/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-wormholescan-api){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Create Helper Functions",
        "anchor": "create-helper-functions"
      },
      {
        "depth": 3,
        "title": "Create a Wormholescan API Client",
        "anchor": "create-a-wormholescan-api-client"
      },
      {
        "depth": 3,
        "title": "Add Utility Functions",
        "anchor": "add-utility-functions"
      },
      {
        "depth": 3,
        "title": "Define Types for NTT Tokens and Transfers",
        "anchor": "define-types-for-ntt-tokens-and-transfers"
      },
      {
        "depth": 2,
        "title": "Fetch and Inspect NTT Tokens",
        "anchor": "fetch-and-inspect-ntt-tokens"
      },
      {
        "depth": 2,
        "title": "Fetch Transfer Operations",
        "anchor": "fetch-transfer-operations"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      }
    ],
    "stats": {
      "word_count": 2258,
      "token_estimate": 4664,
      "headings": 9,
      "sections_indexed": 9
    },
    "hash": "sha256:c8fa747008d9d67480d4c0ce874c7b23115beb7cedd330d54a03aca7ac0975b2",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-guides-wormholescan-api.md"
  },
  {
    "id": "products-messaging-overview",
    "title": "Messaging Overview",
    "slug": "products-messaging-overview",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-overview.md",
    "html_url": "https://wormhole.com/docs/products/messaging/overview/",
    "preview": "Wormhole Messaging is the core protocol of the Wormhole ecosystem—a generic, multichain message-passing layer that enables secure, fast communication between blockchains. It solves the critical problem of blockchain isolation by allowing data and assets to move freely across networks, empowering developers to build true multichain applications.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 615,
      "token_estimate": 1238,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:534423c706a93f978e4c4ec1b15747fe137f4015c97b9e2d3f5a4b159434042b",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-overview.md"
  },
  {
    "id": "products-messaging-reference-core-contract-evm",
    "title": "Core Contract (EVM)",
    "slug": "products-messaging-reference-core-contract-evm",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-core-contract-evm.md",
    "html_url": "https://wormhole.com/docs/products/messaging/reference/core-contract-evm/",
    "preview": "The [Wormhole Core Contract on EVM](https://github.com/wormhole-foundation/wormhole/blob/main/ethereum/contracts/Implementation.sol){target=\\_blank} chains is a proxy-based contract responsible for receiving and verifying Wormhole messages (VAAs). It implements the messaging interface and delegates logic to upgradeable implementation contracts.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Variables",
        "anchor": "state-variables"
      },
      {
        "depth": 2,
        "title": "Events",
        "anchor": "events"
      },
      {
        "depth": 3,
        "title": "LogMessagePublished",
        "anchor": "logmessagepublished"
      },
      {
        "depth": 3,
        "title": "ContractUpgraded",
        "anchor": "contractupgraded"
      },
      {
        "depth": 3,
        "title": "GuardianSetAdded",
        "anchor": "guardiansetadded"
      },
      {
        "depth": 3,
        "title": "LogGuardianSetChanged",
        "anchor": "logguardiansetchanged"
      },
      {
        "depth": 2,
        "title": "Functions",
        "anchor": "functions"
      },
      {
        "depth": 3,
        "title": "publishMessage",
        "anchor": "publishmessage"
      },
      {
        "depth": 3,
        "title": "getCurrentGuardianSetIndex",
        "anchor": "getcurrentguardiansetindex"
      },
      {
        "depth": 3,
        "title": "getGuardianSet",
        "anchor": "getguardianset"
      },
      {
        "depth": 3,
        "title": "getGuardianSetExpiry",
        "anchor": "getguardiansetexpiry"
      },
      {
        "depth": 3,
        "title": "messageFee",
        "anchor": "messagefee"
      },
      {
        "depth": 3,
        "title": "nextSequence",
        "anchor": "nextsequence"
      },
      {
        "depth": 3,
        "title": "parseAndVerifyVM",
        "anchor": "parseandverifyvm"
      },
      {
        "depth": 3,
        "title": "verifyVM",
        "anchor": "verifyvm"
      },
      {
        "depth": 3,
        "title": "verifySignatures",
        "anchor": "verifysignatures"
      },
      {
        "depth": 3,
        "title": "quorum",
        "anchor": "quorum"
      },
      {
        "depth": 3,
        "title": "chainId",
        "anchor": "chainid"
      },
      {
        "depth": 3,
        "title": "evmChainId",
        "anchor": "evmchainid"
      },
      {
        "depth": 2,
        "title": "Errors",
        "anchor": "errors"
      },
      {
        "depth": 3,
        "title": "Invalid Fee",
        "anchor": "invalid-fee"
      },
      {
        "depth": 3,
        "title": "Unsupported",
        "anchor": "unsupported"
      },
      {
        "depth": 3,
        "title": "The Wormhole Contract Does Not Accept Assets",
        "anchor": "the-wormhole-contract-does-not-accept-assets"
      },
      {
        "depth": 3,
        "title": "Already Initialized",
        "anchor": "already-initialized"
      },
      {
        "depth": 3,
        "title": "Unknown Chain ID",
        "anchor": "unknown-chain-id"
      },
      {
        "depth": 3,
        "title": "Invalid Fork",
        "anchor": "invalid-fork"
      },
      {
        "depth": 3,
        "title": "Invalid Module",
        "anchor": "invalid-module"
      },
      {
        "depth": 3,
        "title": "Invalid Chain",
        "anchor": "invalid-chain"
      },
      {
        "depth": 3,
        "title": "New Guardian Set is Empty",
        "anchor": "new-guardian-set-is-empty"
      },
      {
        "depth": 3,
        "title": "Index Must Increase in Steps of 1",
        "anchor": "index-must-increase-in-steps-of-1"
      },
      {
        "depth": 3,
        "title": "Not a Fork",
        "anchor": "not-a-fork"
      },
      {
        "depth": 3,
        "title": "Invalid EVM Chain",
        "anchor": "invalid-evm-chain"
      },
      {
        "depth": 3,
        "title": "Governance Action Already Consumed",
        "anchor": "governance-action-already-consumed"
      },
      {
        "depth": 3,
        "title": "Wrong Governance Contract",
        "anchor": "wrong-governance-contract"
      },
      {
        "depth": 3,
        "title": "Wrong Governance Chain",
        "anchor": "wrong-governance-chain"
      },
      {
        "depth": 3,
        "title": "Not Signed by Current Guardian Set",
        "anchor": "not-signed-by-current-guardian-set"
      }
    ],
    "stats": {
      "word_count": 1963,
      "token_estimate": 4016,
      "headings": 37,
      "sections_indexed": 37
    },
    "hash": "sha256:3bcb233484f4f0cf3ee303b45a8bf6259c11a9bd431da0bb34ef802a722ca43a",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-core-contract-evm.md"
  },
  {
    "id": "products-messaging-reference-core-contract-solana",
    "title": "Core Contract (Solana)",
    "slug": "products-messaging-reference-core-contract-solana",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-core-contract-solana.md",
    "html_url": "https://wormhole.com/docs/products/messaging/reference/core-contract-solana/",
    "preview": "The [Wormhole Core Program on Solana](https://github.com/wormhole-foundation/wormhole/blob/main/solana/bridge/program/src/lib.rs){target=\\_blank} is a native Solana program responsible for posting, verifying, and relaying Wormhole messages (VAAs). It implements core messaging functionality, Guardian set updates, and upgradeability.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Accounts",
        "anchor": "state-accounts"
      },
      {
        "depth": 2,
        "title": "Instructions",
        "anchor": "instructions"
      },
      {
        "depth": 3,
        "title": "initialize",
        "anchor": "initialize"
      },
      {
        "depth": 3,
        "title": "post_message",
        "anchor": "post_message"
      },
      {
        "depth": 3,
        "title": "post_message_unreliable",
        "anchor": "post_message_unreliable"
      },
      {
        "depth": 3,
        "title": "verify_signatures",
        "anchor": "verify_signatures"
      },
      {
        "depth": 3,
        "title": "post_vaa",
        "anchor": "post_vaa"
      },
      {
        "depth": 3,
        "title": "set_fees",
        "anchor": "set_fees"
      },
      {
        "depth": 3,
        "title": "transfer_fees",
        "anchor": "transfer_fees"
      },
      {
        "depth": 3,
        "title": "upgrade_contract",
        "anchor": "upgrade_contract"
      },
      {
        "depth": 3,
        "title": "upgrade_guardian_set",
        "anchor": "upgrade_guardian_set"
      },
      {
        "depth": 2,
        "title": "Errors",
        "anchor": "errors"
      },
      {
        "depth": 3,
        "title": "GuardianSetMismatch",
        "anchor": "guardiansetmismatch"
      },
      {
        "depth": 3,
        "title": "InstructionAtWrongIndex",
        "anchor": "instructionatwrongindex"
      },
      {
        "depth": 3,
        "title": "InsufficientFees",
        "anchor": "insufficientfees"
      },
      {
        "depth": 3,
        "title": "InvalidFeeRecipient",
        "anchor": "invalidfeerecipient"
      },
      {
        "depth": 3,
        "title": "InvalidGovernanceAction",
        "anchor": "invalidgovernanceaction"
      },
      {
        "depth": 3,
        "title": "InvalidGovernanceChain",
        "anchor": "invalidgovernancechain"
      },
      {
        "depth": 3,
        "title": "InvalidGovernanceKey",
        "anchor": "invalidgovernancekey"
      },
      {
        "depth": 3,
        "title": "InvalidGovernanceModule",
        "anchor": "invalidgovernancemodule"
      },
      {
        "depth": 3,
        "title": "InvalidGovernanceWithdrawal",
        "anchor": "invalidgovernancewithdrawal"
      },
      {
        "depth": 3,
        "title": "InvalidGuardianSetUpgrade",
        "anchor": "invalidguardiansetupgrade"
      },
      {
        "depth": 3,
        "title": "InvalidHash",
        "anchor": "invalidhash"
      },
      {
        "depth": 3,
        "title": "InvalidSecpInstruction",
        "anchor": "invalidsecpinstruction"
      },
      {
        "depth": 3,
        "title": "MathOverflow",
        "anchor": "mathoverflow"
      },
      {
        "depth": 3,
        "title": "PostVAAConsensusFailed",
        "anchor": "postvaaconsensusfailed"
      },
      {
        "depth": 3,
        "title": "PostVAAGuardianSetExpired",
        "anchor": "postvaaguardiansetexpired"
      },
      {
        "depth": 3,
        "title": "TooManyGuardians",
        "anchor": "toomanyguardians"
      },
      {
        "depth": 3,
        "title": "VAAAlreadyExecuted",
        "anchor": "vaaalreadyexecuted"
      },
      {
        "depth": 3,
        "title": "VAAInvalid",
        "anchor": "vaainvalid"
      },
      {
        "depth": 3,
        "title": "InvalidPayloadLength",
        "anchor": "invalidpayloadlength"
      },
      {
        "depth": 3,
        "title": "EmitterChanged",
        "anchor": "emitterchanged"
      }
    ],
    "stats": {
      "word_count": 2162,
      "token_estimate": 4527,
      "headings": 33,
      "sections_indexed": 33
    },
    "hash": "sha256:854963e224f38f7b791c7d1b2853aca4f6ff5b4531c24063ce6a9e13eed14d17",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-core-contract-solana.md"
  },
  {
    "id": "products-messaging-reference-executor-addresses",
    "title": "Executor Addresses",
    "slug": "products-messaging-reference-executor-addresses",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-executor-addresses.md",
    "html_url": "https://wormhole.com/docs/products/messaging/reference/executor-addresses/",
    "preview": "=== \"Mainnet\"",
    "outline": [
      {
        "depth": 2,
        "title": "Executor",
        "anchor": "executor"
      },
      {
        "depth": 2,
        "title": "CCTP with Executor",
        "anchor": "cctp-with-executor"
      },
      {
        "depth": 2,
        "title": "NTT with Executor",
        "anchor": "ntt-with-executor"
      },
      {
        "depth": 2,
        "title": "WTT Executor",
        "anchor": "wtt-executor"
      },
      {
        "depth": 2,
        "title": "WTT Executor with Referrer",
        "anchor": "wtt-executor-with-referrer"
      }
    ],
    "stats": {
      "word_count": 2682,
      "token_estimate": 7713,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:69361397ba8f4755739501eaa3120f4388da3db70ad996e80195924e4ec8c803",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-reference-executor-addresses.md"
  },
  {
    "id": "products-messaging-tutorials-cross-chain-contracts",
    "title": "Create Cross-Chain Contracts",
    "slug": "products-messaging-tutorials-cross-chain-contracts",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-cross-chain-contracts.md",
    "html_url": "https://wormhole.com/docs/products/messaging/tutorials/cross-chain-contracts/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-wormhole-messaging){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Wormhole Overview",
        "anchor": "wormhole-overview"
      },
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Build Cross-Chain Messaging Contracts",
        "anchor": "build-cross-chain-messaging-contracts"
      },
      {
        "depth": 3,
        "title": "Sender Contract: MessageSender",
        "anchor": "sender-contract-messagesender"
      },
      {
        "depth": 3,
        "title": "Receiver Contract: MessageReceiver",
        "anchor": "receiver-contract-messagereceiver"
      },
      {
        "depth": 2,
        "title": "Deploy Contracts",
        "anchor": "deploy-contracts"
      },
      {
        "depth": 3,
        "title": "Deployment Tools",
        "anchor": "deployment-tools"
      },
      {
        "depth": 3,
        "title": "Repository Setup",
        "anchor": "repository-setup"
      },
      {
        "depth": 3,
        "title": "Important Setup Steps",
        "anchor": "important-setup-steps"
      },
      {
        "depth": 3,
        "title": "Deployment Process",
        "anchor": "deployment-process"
      },
      {
        "depth": 3,
        "title": "Deploy the Sender Contract",
        "anchor": "deploy-the-sender-contract"
      },
      {
        "depth": 3,
        "title": "Deploy the Receiver Contract",
        "anchor": "deploy-the-receiver-contract"
      },
      {
        "depth": 2,
        "title": "Send a Cross-Chain Message",
        "anchor": "send-a-cross-chain-message"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 4045,
      "token_estimate": 7197,
      "headings": 14,
      "sections_indexed": 14
    },
    "hash": "sha256:d7dc8852487024aa9ebaccb111282af89f1546ec06da61cf155c8d2fdc7902dd",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-cross-chain-contracts.md"
  },
  {
    "id": "products-messaging-tutorials-cross-chain-token-contracts",
    "title": "Cross-Chain Token Transfers",
    "slug": "products-messaging-tutorials-cross-chain-token-contracts",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-cross-chain-token-contracts.md",
    "html_url": "https://wormhole.com/docs/products/messaging/tutorials/cross-chain-token-contracts/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-cross-chain-token-transfer){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Valid Tokens for Transfer",
        "anchor": "valid-tokens-for-transfer"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Build Cross-Chain Contracts",
        "anchor": "build-cross-chain-contracts"
      },
      {
        "depth": 3,
        "title": "Sender Contract: CrossChainSender",
        "anchor": "sender-contract-crosschainsender"
      },
      {
        "depth": 3,
        "title": "Receiver Contract: CrossChainReceiver",
        "anchor": "receiver-contract-crosschainreceiver"
      },
      {
        "depth": 2,
        "title": "Deploy the Contracts",
        "anchor": "deploy-the-contracts"
      },
      {
        "depth": 2,
        "title": "Transfer Tokens Across Chains",
        "anchor": "transfer-tokens-across-chains"
      },
      {
        "depth": 3,
        "title": "Quick Recap",
        "anchor": "quick-recap"
      },
      {
        "depth": 3,
        "title": "Transfer Script",
        "anchor": "transfer-script"
      },
      {
        "depth": 3,
        "title": "Transfer Tokens",
        "anchor": "transfer-tokens"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 7064,
      "token_estimate": 12503,
      "headings": 13,
      "sections_indexed": 13
    },
    "hash": "sha256:42dd95427c3c2257d89ca0b65e970e7d2498d1b2488678ed183714f9dcf65901",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-cross-chain-token-contracts.md"
  },
  {
    "id": "products-messaging-tutorials-replace-signatures",
    "title": "Replace Outdated Signatures in VAAs",
    "slug": "products-messaging-tutorials-replace-signatures",
    "categories": [
      "Basics",
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-replace-signatures.md",
    "html_url": "https://wormhole.com/docs/products/messaging/tutorials/replace-signatures/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-vaa-signature-replacement){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Create VAA Handling Functions",
        "anchor": "create-vaa-handling-functions"
      },
      {
        "depth": 3,
        "title": "Fetch a VAA ID from a Transaction",
        "anchor": "fetch-a-vaa-id-from-a-transaction"
      },
      {
        "depth": 3,
        "title": "Fetch the Full VAA",
        "anchor": "fetch-the-full-vaa"
      },
      {
        "depth": 3,
        "title": "Validate VAA Signatures",
        "anchor": "validate-vaa-signatures"
      },
      {
        "depth": 3,
        "title": "Fetch Observations (VAA Signatures)",
        "anchor": "fetch-observations-vaa-signatures"
      },
      {
        "depth": 3,
        "title": "Fetch the Latest Guardian Set",
        "anchor": "fetch-the-latest-guardian-set"
      },
      {
        "depth": 3,
        "title": "Replace Outdated Signatures",
        "anchor": "replace-outdated-signatures"
      },
      {
        "depth": 2,
        "title": "Create Script to Replace Outdated VAA Signatures",
        "anchor": "create-script-to-replace-outdated-vaa-signatures"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 4514,
      "token_estimate": 9168,
      "headings": 12,
      "sections_indexed": 12
    },
    "hash": "sha256:0b202f3b4382aa96b5cc33a187021b2c6c59b4ba908784e23063a50660fc0400",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-messaging-tutorials-replace-signatures.md"
  },
  {
    "id": "products-multigov-concepts-architecture",
    "title": "MultiGov Architecture",
    "slug": "products-multigov-concepts-architecture",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-concepts-architecture.md",
    "html_url": "https://wormhole.com/docs/products/multigov/concepts/architecture/",
    "preview": "MultiGov uses a hub-and-spoke architecture to coordinate governance across multiple blockchains. The hub chain is the central controller that handles proposal creation, vote aggregation, and execution. Spoke chains allow token holders to vote locally and can also execute proposal outcomes specific to their network.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Components",
        "anchor": "key-components"
      },
      {
        "depth": 3,
        "title": "Hub Chain Contracts",
        "anchor": "hub-chain-contracts"
      },
      {
        "depth": 3,
        "title": "Spoke Chains Contracts",
        "anchor": "spoke-chains-contracts"
      },
      {
        "depth": 3,
        "title": "Spoke Solana Staking Program",
        "anchor": "spoke-solana-staking-program"
      },
      {
        "depth": 2,
        "title": "Key Components in Action",
        "anchor": "key-components-in-action"
      },
      {
        "depth": 2,
        "title": "Multichain Communication",
        "anchor": "multichain-communication"
      },
      {
        "depth": 2,
        "title": "Security Measures",
        "anchor": "security-measures"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 774,
      "token_estimate": 1206,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:a40f30a3a5604afa347c88d004942f437dff2fd65260477d64664a487b844833",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-concepts-architecture.md"
  },
  {
    "id": "products-multigov-concepts-proposal-flow",
    "title": "Flow of a MultiGov Proposal",
    "slug": "products-multigov-concepts-proposal-flow",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-concepts-proposal-flow.md",
    "html_url": "https://wormhole.com/docs/products/multigov/concepts/proposal-flow/",
    "preview": "[MultiGov](/docs/products/multigov/overview/){target=\\_blank} enables decentralized governance across multiple blockchains by allowing a proposal to be created on a designated hub chain and voted on from various spoke chains. Votes are aggregated, and the proposal is executed once consensus is reached.",
    "outline": [
      {
        "depth": 2,
        "title": "Proposal Flow",
        "anchor": "proposal-flow"
      },
      {
        "depth": 2,
        "title": "EVM Proposal Flow Details",
        "anchor": "evm-proposal-flow-details"
      },
      {
        "depth": 2,
        "title": "Solana (SVM) Proposal Flow Details",
        "anchor": "solana-svm-proposal-flow-details"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 1175,
      "token_estimate": 1972,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:21bdd94a7f9196eff85e54ab8fd71bb111a98a82fc4ab2a86339b8c7380a273f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-concepts-proposal-flow.md"
  },
  {
    "id": "products-multigov-faqs",
    "title": "MultiGov FAQs",
    "slug": "products-multigov-faqs",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-faqs.md",
    "html_url": "https://wormhole.com/docs/products/multigov/faqs/",
    "preview": "MultiGov is a cross-chain governance system that extends traditional DAO governance across multiple blockchain networks. It leverages Wormhole's interoperability infrastructure for seamless voting and proposal mechanisms across various chains.",
    "outline": [
      {
        "depth": 2,
        "title": "What is MultiGov?",
        "anchor": "what-is-multigov"
      },
      {
        "depth": 2,
        "title": "How does MultiGov ensure security in cross-chain communication?",
        "anchor": "how-does-multigov-ensure-security-in-cross-chain-communication"
      },
      {
        "depth": 2,
        "title": "Can MultiGov integrate with any blockchain?",
        "anchor": "can-multigov-integrate-with-any-blockchain"
      },
      {
        "depth": 2,
        "title": "How are votes aggregated across different chains?",
        "anchor": "how-are-votes-aggregated-across-different-chains"
      },
      {
        "depth": 2,
        "title": "Can governance upgrade from a single chain to MultiGov?",
        "anchor": "can-governance-upgrade-from-a-single-chain-to-multigov"
      },
      {
        "depth": 2,
        "title": "How can I create a proposal in MultiGov?",
        "anchor": "how-can-i-create-a-proposal-in-multigov"
      },
      {
        "depth": 2,
        "title": "How do I vote on a proposal if I hold tokens on a spoke chain?",
        "anchor": "how-do-i-vote-on-a-proposal-if-i-hold-tokens-on-a-spoke-chain"
      },
      {
        "depth": 2,
        "title": "How are approved proposals executed across multiple chains?",
        "anchor": "how-are-approved-proposals-executed-across-multiple-chains"
      },
      {
        "depth": 2,
        "title": "What are the requirements for using MultiGov?",
        "anchor": "what-are-the-requirements-for-using-multigov"
      },
      {
        "depth": 2,
        "title": "What do I need to set up MultiGov for my project?",
        "anchor": "what-do-i-need-to-set-up-multigov-for-my-project"
      },
      {
        "depth": 2,
        "title": "Can MultiGov be used with non-EVM chains?",
        "anchor": "can-multigov-be-used-with-non-evm-chains"
      },
      {
        "depth": 2,
        "title": "How can I customize voting parameters in MultiGov?",
        "anchor": "how-can-i-customize-voting-parameters-in-multigov"
      },
      {
        "depth": 2,
        "title": "How does MultiGov handle potential network issues or temporary chain unavailability?",
        "anchor": "how-does-multigov-handle-potential-network-issues-or-temporary-chain-unavailability"
      },
      {
        "depth": 2,
        "title": "How does MultiGov differ from traditional DAO governance?",
        "anchor": "how-does-multigov-differ-from-traditional-dao-governance"
      },
      {
        "depth": 2,
        "title": "What are the main components of MultiGov?",
        "anchor": "what-are-the-main-components-of-multigov"
      }
    ],
    "stats": {
      "word_count": 925,
      "token_estimate": 1233,
      "headings": 15,
      "sections_indexed": 15
    },
    "hash": "sha256:83b670eeee8d74f9156cef0ba84ad94b30aa738b44941e78f1b19e633ffdd098",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-faqs.md"
  },
  {
    "id": "products-multigov-get-started",
    "title": "Get Started with Multigov",
    "slug": "products-multigov-get-started",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-get-started.md",
    "html_url": "https://wormhole.com/docs/products/multigov/get-started/",
    "preview": "[MultiGov](/docs/products/multigov/overview/){target=\\_blank} enables multichain governance using Wormhole messaging. With MultiGov, token holders can create proposals, vote, and execute decisions from any supported chain, eliminating the need to bridge assets or rely on a single governance hub.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Deployment Flow",
        "anchor": "deployment-flow"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 272,
      "token_estimate": 466,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:4ceeef78836c9fe6b81d0b0824baf21dc8b76801ce4af75db2a2025336676f63",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-get-started.md"
  },
  {
    "id": "products-multigov-guides-deploy-to-evm",
    "title": "Deploy MultiGov on EVM Chains",
    "slug": "products-multigov-guides-deploy-to-evm",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-deploy-to-evm.md",
    "html_url": "https://wormhole.com/docs/products/multigov/guides/deploy-to-evm/",
    "preview": "This guide provides instructions to set up and deploy the MultiGov governance system locally. Before diving into the technical deployment, ensure that MultiGov is the right fit for your project’s governance needs by following the steps for the [integration process](/docs/products/multigov/get-started/){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Development Setup",
        "anchor": "development-setup"
      },
      {
        "depth": 2,
        "title": "Configuration",
        "anchor": "configuration"
      },
      {
        "depth": 3,
        "title": "Hub Governor Key Parameters",
        "anchor": "hub-governor-key-parameters"
      },
      {
        "depth": 3,
        "title": "Hub Proposal Extender Key Parameters",
        "anchor": "hub-proposal-extender-key-parameters"
      },
      {
        "depth": 3,
        "title": "Spoke Vote Aggregator Key Parameters",
        "anchor": "spoke-vote-aggregator-key-parameters"
      },
      {
        "depth": 3,
        "title": "Hub Evm Spoke Vote Aggregator Key Parameters",
        "anchor": "hub-evm-spoke-vote-aggregator-key-parameters"
      },
      {
        "depth": 3,
        "title": "Updateable Governance Parameters",
        "anchor": "updateable-governance-parameters"
      }
    ],
    "stats": {
      "word_count": 582,
      "token_estimate": 1010,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:79e0fd2f4d683d74e39b6778acf26c8a9f80855640d58c4ebd54890a87df2466",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-deploy-to-evm.md"
  },
  {
    "id": "products-multigov-guides-deploy-to-solana",
    "title": "MultiGov Deployment to Solana",
    "slug": "products-multigov-guides-deploy-to-solana",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-deploy-to-solana.md",
    "html_url": "https://wormhole.com/docs/products/multigov/guides/deploy-to-solana/",
    "preview": "This guide provides instructions on how to set up and deploy the **MultiGov Staking Program** on Solana. Before proceeding with the deployment, ensure that MultiGov aligns with your project's governance needs by reviewing the system [architecture](/docs/products/multigov/concepts/architecture/){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Build the Project",
        "anchor": "build-the-project"
      },
      {
        "depth": 2,
        "title": "Set Up the Deployer Account",
        "anchor": "set-up-the-deployer-account"
      },
      {
        "depth": 3,
        "title": "Generate a New Keypair",
        "anchor": "generate-a-new-keypair"
      },
      {
        "depth": 3,
        "title": "Check the Deployer Account Address",
        "anchor": "check-the-deployer-account-address"
      },
      {
        "depth": 3,
        "title": "Check the Deployer Account Balance",
        "anchor": "check-the-deployer-account-balance"
      },
      {
        "depth": 3,
        "title": "Fund the Deployer Account",
        "anchor": "fund-the-deployer-account"
      },
      {
        "depth": 2,
        "title": "Deploy the MultiGov Staking Program",
        "anchor": "deploy-the-multigov-staking-program"
      },
      {
        "depth": 3,
        "title": "Deploy the Program",
        "anchor": "deploy-the-program"
      },
      {
        "depth": 3,
        "title": "Verify the Deployment",
        "anchor": "verify-the-deployment"
      },
      {
        "depth": 3,
        "title": "Extend Program Storage",
        "anchor": "extend-program-storage"
      },
      {
        "depth": 3,
        "title": "Initialize the IDL",
        "anchor": "initialize-the-idl"
      },
      {
        "depth": 2,
        "title": "Configure the Staking Program",
        "anchor": "configure-the-staking-program"
      },
      {
        "depth": 3,
        "title": "Run Deployment Scripts",
        "anchor": "run-deployment-scripts"
      },
      {
        "depth": 3,
        "title": "Set MultiGov Staking Program Key Parameters",
        "anchor": "set-multigov-staking-program-key-parameters"
      }
    ],
    "stats": {
      "word_count": 1094,
      "token_estimate": 1774,
      "headings": 15,
      "sections_indexed": 15
    },
    "hash": "sha256:d092a4116d9d335df8937b98aeb56761bcb59d557fcb22d390587bf9c534331d",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-deploy-to-solana.md"
  },
  {
    "id": "products-multigov-guides-upgrade-evm",
    "title": "Upgrading MultiGov on EVM",
    "slug": "products-multigov-guides-upgrade-evm",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-upgrade-evm.md",
    "html_url": "https://wormhole.com/docs/products/multigov/guides/upgrade-evm/",
    "preview": "MultiGov is designed to be flexible but stable. Due to the system's complexity and cross-chain nature, upgrades should be rare and carefully considered. When upgrades are necessary, they must be meticulously planned and executed to ensure system integrity and continuity.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Considerations for Upgrades",
        "anchor": "key-considerations-for-upgrades"
      },
      {
        "depth": 2,
        "title": "Process for Major System Upgrade",
        "anchor": "process-for-major-system-upgrade"
      },
      {
        "depth": 2,
        "title": "Important Considerations",
        "anchor": "important-considerations"
      }
    ],
    "stats": {
      "word_count": 423,
      "token_estimate": 622,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:0d52bdc796ac91c3c2cddcf1425873a8bdd571f2b72922a427ebb37c6954333c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-upgrade-evm.md"
  },
  {
    "id": "products-multigov-guides-upgrade-solana",
    "title": "Upgrading MultiGov on Solana",
    "slug": "products-multigov-guides-upgrade-solana",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-upgrade-solana.md",
    "html_url": "https://wormhole.com/docs/products/multigov/guides/upgrade-solana/",
    "preview": "The MultiGov Staking Program on Solana is designed to be upgradeable while maintaining stability. Upgrades introduce improvements, bug fixes, and new features but must be carefully planned and executed to prevent disruptions.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Considerations for Upgrades",
        "anchor": "key-considerations-for-upgrades"
      },
      {
        "depth": 2,
        "title": "Upgrade the MultiGov Program",
        "anchor": "upgrade-the-multigov-program"
      }
    ],
    "stats": {
      "word_count": 365,
      "token_estimate": 572,
      "headings": 2,
      "sections_indexed": 2
    },
    "hash": "sha256:d8199791bf933cb08c99f7b4cf0fc55aa039b8f86703fbae8d6ce0adaf53b84b",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-guides-upgrade-solana.md"
  },
  {
    "id": "products-multigov-overview",
    "title": "MultiGov Overview",
    "slug": "products-multigov-overview",
    "categories": [
      "Multigov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-overview.md",
    "html_url": "https://wormhole.com/docs/products/multigov/overview/",
    "preview": "MultiGov is a multichain governance system that enables decentralized decision-making across multiple blockchain networks. Built on Wormhole messaging, it allows DAOs to manage proposals, voting, and execution from any connected chain without relying on a single hub or bridging assets. It empowers true multichain governance by aggregating voting power across chains and coordinating secure proposal execution.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 459,
      "token_estimate": 799,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:0747f74a6c99a1f072e24d471532f5220c62ddf2416b993e2fbc1aa45eaf298c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-overview.md"
  },
  {
    "id": "products-multigov-reference-supported-networks",
    "title": "Multigov Supported Networks",
    "slug": "products-multigov-reference-supported-networks",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/multigov/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 2175,
      "token_estimate": 5919,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:529c69668321320196f849f294716ae8d58548f744b97bff87b7d6fb3de89cd7",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-reference-supported-networks.md"
  },
  {
    "id": "products-multigov-tutorials-treasury-proposal",
    "title": "MultiGov Guides",
    "slug": "products-multigov-tutorials-treasury-proposal",
    "categories": [
      "MultiGov"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-tutorials-treasury-proposal.md",
    "html_url": "https://wormhole.com/docs/products/multigov/tutorials/treasury-proposal/",
    "preview": "This guide walks through the process of creating and executing a cross-chain governance proposal to mint W tokens to both the Optimism and Arbitrum treasuries. In this tutorial, we'll cover how to create a proposal on the hub chain (Ethereum Mainnet), cast votes from spoke chains (Optimism and Arbitrum), aggregate votes, and execute the proposal.",
    "outline": [
      {
        "depth": 2,
        "title": "Create a Proposal",
        "anchor": "create-a-proposal"
      },
      {
        "depth": 2,
        "title": "Vote on the Proposal via Spoke",
        "anchor": "vote-on-the-proposal-via-spoke"
      },
      {
        "depth": 2,
        "title": "Vote Aggregation",
        "anchor": "vote-aggregation"
      },
      {
        "depth": 2,
        "title": "Execute Proposal and Dispatch Cross-Chain Messages",
        "anchor": "execute-proposal-and-dispatch-cross-chain-messages"
      }
    ],
    "stats": {
      "word_count": 993,
      "token_estimate": 1571,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:23462cd4258c67474b609bb659c635c3eb3e4e66357ebb0e1549a12923286570",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-multigov-tutorials-treasury-proposal.md"
  },
  {
    "id": "products-overview",
    "title": "Compare Wormhole's Cross-Chain Solutions",
    "slug": "products-overview",
    "categories": [
      "Transfer",
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-overview.md",
    "html_url": "https://wormhole.com/docs/products/overview/",
    "preview": "Wormhole provides a comprehensive suite of cross-chain solutions, enabling seamless asset transfers, data retrieval, and governance across blockchain ecosystems.",
    "outline": [
      {
        "depth": 2,
        "title": "Transfer Products",
        "anchor": "transfer-products"
      },
      {
        "depth": 2,
        "title": "Bridging UI",
        "anchor": "bridging-ui"
      },
      {
        "depth": 2,
        "title": "Real-time Data",
        "anchor": "real-time-data"
      },
      {
        "depth": 2,
        "title": "Multichain Governance",
        "anchor": "multichain-governance"
      }
    ],
    "stats": {
      "word_count": 431,
      "token_estimate": 907,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:051722397c4c64aa97bf58dace9b87b36970cef954f5e39d9383acf83818e574",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-overview.md"
  },
  {
    "id": "products-queries-faqs",
    "title": "Queries FAQs",
    "slug": "products-queries-faqs",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-faqs.md",
    "html_url": "https://wormhole.com/docs/products/queries/faqs/",
    "preview": "Queries is Wormhole's on-demand, Guardian-attested data service. It lets you fetch real-time, verifiable on-chain data via a simple REST endpoint and use the signed result on-chain without sending a transaction or paying gas. You can request data on one chain and use the verified result on another. For a quick video summary, watch the [Queries speed round](https://www.youtube.com/watch?v=q-s8j7GAlfQ){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "What is Queries?",
        "anchor": "what-is-queries"
      },
      {
        "depth": 2,
        "title": "What libraries are available to handle queries?",
        "anchor": "what-libraries-are-available-to-handle-queries"
      },
      {
        "depth": 2,
        "title": "Are there any query examples?",
        "anchor": "are-there-any-query-examples"
      },
      {
        "depth": 2,
        "title": "What is the format of the response signature?",
        "anchor": "what-is-the-format-of-the-response-signature"
      }
    ],
    "stats": {
      "word_count": 674,
      "token_estimate": 1100,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:803a159b1ef4a9d023626b285144b9c29e1525ada08058934a76c707e0d81832",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-faqs.md"
  },
  {
    "id": "products-queries-get-started",
    "title": "Get Started with Queries",
    "slug": "products-queries-get-started",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-get-started.md",
    "html_url": "https://wormhole.com/docs/products/queries/get-started/",
    "preview": "[Queries](/docs/products/queries/overview) lets you fetch on-chain data from supported blockchains using `eth_call`-style requests without submitting transactions or paying gas. The Guardian network signs the result, making it verifiable and suitable for use on-chain.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Request an API Key",
        "anchor": "request-an-api-key"
      },
      {
        "depth": 2,
        "title": "Construct a Query and Decode the Response",
        "anchor": "construct-a-query-and-decode-the-response"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 872,
      "token_estimate": 1605,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:e1d4bacdce68b8e516c7ff539845ed9f097e71243efb419faba9b40fe77283c9",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-get-started.md"
  },
  {
    "id": "products-queries-guides-use-queries",
    "title": "Use Queries",
    "slug": "products-queries-guides-use-queries",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-guides-use-queries.md",
    "html_url": "https://wormhole.com/docs/products/queries/guides/use-queries/",
    "preview": "You can visit the [Example Queries Demo](https://wormholelabs-xyz.github.io/example-queries-demo/){target=\\_blank} to view an interactive example of an application interacting with the [Query Demo](https://github.com/wormholelabs-xyz/example-queries-demo/blob/main/src/QueryDemo.sol){target=\\_blank} contract.",
    "outline": [
      {
        "depth": 2,
        "title": "Construct a Query {: #construct-a-query}",
        "anchor": "construct-a-query-construct-a-query"
      },
      {
        "depth": 2,
        "title": "Mock a Query",
        "anchor": "mock-a-query"
      },
      {
        "depth": 3,
        "title": "Fork Testing",
        "anchor": "fork-testing"
      },
      {
        "depth": 2,
        "title": "Make a Query Request",
        "anchor": "make-a-query-request"
      },
      {
        "depth": 2,
        "title": "Verify a Query Response On-Chain",
        "anchor": "verify-a-query-response-on-chain"
      },
      {
        "depth": 2,
        "title": "Submit a Query Response On-Chain",
        "anchor": "submit-a-query-response-on-chain"
      }
    ],
    "stats": {
      "word_count": 1691,
      "token_estimate": 3258,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:2535c0004e5209a6c453f77b17e3d56ab55ef8a7ae435b55b6408d5e1fe190fc",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-guides-use-queries.md"
  },
  {
    "id": "products-queries-overview",
    "title": "Queries Overview",
    "slug": "products-queries-overview",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-overview.md",
    "html_url": "https://wormhole.com/docs/products/queries/overview/",
    "preview": "Queries provide on-demand access to Guardian-attested on-chain data. They allow smart contracts to fetch real-time, verifiable data from across the multichain ecosystem, such as prices, rates, and liquidity.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 575,
      "token_estimate": 1132,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:5a8bfb18613a613dffea45611510c8c447bbd61c343a9d0998330496a60474a0",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-overview.md"
  },
  {
    "id": "products-queries-reference-supported-methods",
    "title": "Queries Supported Methods",
    "slug": "products-queries-reference-supported-methods",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-reference-supported-methods.md",
    "html_url": "https://wormhole.com/docs/products/queries/reference/supported-methods/",
    "preview": "Wormhole Queries provides on-demand access to [Guardian](/docs/protocol/infrastructure/guardians/){target=\\_blank}-attested on-chain data through a simple REST endpoint. It offers a faster, gasless alternative to traditional transaction-based data retrieval, removing the need for gas fees and transaction finality delays. Requests are handled off-chain and processed by the Guardians, delivering verified data efficiently and cost-effectively.",
    "outline": [
      {
        "depth": 2,
        "title": "Supported Query Types",
        "anchor": "supported-query-types"
      },
      {
        "depth": 3,
        "title": "eth_call",
        "anchor": "eth_call"
      },
      {
        "depth": 3,
        "title": "eth_call_by_timestamp",
        "anchor": "eth_call_by_timestamp"
      },
      {
        "depth": 3,
        "title": "eth_call_with_finality",
        "anchor": "eth_call_with_finality"
      },
      {
        "depth": 3,
        "title": "sol_account",
        "anchor": "sol_account"
      },
      {
        "depth": 3,
        "title": "sol_pda",
        "anchor": "sol_pda"
      }
    ],
    "stats": {
      "word_count": 622,
      "token_estimate": 949,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:cc072776cff7bffca5e9fef5281bfb82c8c8ea2486ba0f387feb984452619b07",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-reference-supported-methods.md"
  },
  {
    "id": "products-queries-reference-supported-networks",
    "title": "Queries Supported Networks",
    "slug": "products-queries-reference-supported-networks",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/queries/reference/supported-networks/",
    "preview": "This page provides a quick reference for chains supported by Wormhole Queries, including each chain's Wormhole chain ID and the level of support for key methods: [`eth_call`](/docs/products/queries/reference/supported-methods/#eth_call){target=\\_blank}, [`eth_call_by_timestamp`](/docs/products/queries/reference/supported-methods/#eth_call_by_timestamp){target=\\_blank}, and [`eth_call_with_finality`](/docs/products/queries/reference/supported-methods/#eth_call_with_finality){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Mainnet",
        "anchor": "mainnet"
      },
      {
        "depth": 2,
        "title": "Testnet",
        "anchor": "testnet"
      }
    ],
    "stats": {
      "word_count": 379,
      "token_estimate": 1180,
      "headings": 2,
      "sections_indexed": 2
    },
    "hash": "sha256:5997024ca8d518b360bce0945a0cee009db112cf7dc7c0ddf78ac3b23d8f08ba",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-reference-supported-networks.md"
  },
  {
    "id": "products-queries-tutorials-live-crypto-prices",
    "title": "Live Crypto Price Widget",
    "slug": "products-queries-tutorials-live-crypto-prices",
    "categories": [
      "Queries"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-queries-tutorials-live-crypto-prices.md",
    "html_url": "https://wormhole.com/docs/products/queries/tutorials/live-crypto-prices/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/e2e-tutorial-live-crypto-prices){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Build the Server Logic",
        "anchor": "build-the-server-logic"
      },
      {
        "depth": 3,
        "title": "Encode Witnet Call and Build the Request",
        "anchor": "encode-witnet-call-and-build-the-request"
      },
      {
        "depth": 3,
        "title": "Send Request to the Query Proxy",
        "anchor": "send-request-to-the-query-proxy"
      },
      {
        "depth": 3,
        "title": "Decode and Verify Response",
        "anchor": "decode-and-verify-response"
      },
      {
        "depth": 3,
        "title": "Add Shared Types",
        "anchor": "add-shared-types"
      },
      {
        "depth": 3,
        "title": "Add  API Route for Frontend",
        "anchor": "add-api-route-for-frontend"
      },
      {
        "depth": 2,
        "title": "Price Widget",
        "anchor": "price-widget"
      },
      {
        "depth": 3,
        "title": "Create Widget Component",
        "anchor": "create-widget-component"
      },
      {
        "depth": 3,
        "title": "Add the Widget to Home Page",
        "anchor": "add-the-widget-to-home-page"
      },
      {
        "depth": 2,
        "title": "Run the App",
        "anchor": "run-the-app"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      }
    ],
    "stats": {
      "word_count": 2687,
      "token_estimate": 4829,
      "headings": 14,
      "sections_indexed": 14
    },
    "hash": "sha256:a2907df1d3d120d1e26e76f89a3c3a00e7b5343dd03a542aacd2e1ce44437636",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-queries-tutorials-live-crypto-prices.md"
  },
  {
    "id": "products-reference-chain-ids",
    "title": "Chain IDs",
    "slug": "products-reference-chain-ids",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-chain-ids.md",
    "html_url": "https://wormhole.com/docs/products/reference/chain-ids/",
    "preview": "The following table documents the chain IDs used by Wormhole and places them alongside the more commonly referenced [EVM Chain IDs](https://chainlist.org/){target=\\_blank}.",
    "outline": [],
    "stats": {
      "word_count": 2000,
      "token_estimate": 5559,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:0db65fa2aceba6f0c9c70a5e87dc14f21d0679f76256800214b7ec8684451334",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-chain-ids.md"
  },
  {
    "id": "products-reference-consistency-levels",
    "title": "Wormhole Finality | Consistency Levels",
    "slug": "products-reference-consistency-levels",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-consistency-levels.md",
    "html_url": "https://wormhole.com/docs/products/reference/consistency-levels/",
    "preview": "Wormhole allows integrators to specify the finality level at which a VAA is verified. This determines how long the Guardians wait before attesting to a message.",
    "outline": [
      {
        "depth": 2,
        "title": "Custom Consistency Levels (Advanced)",
        "anchor": "custom-consistency-levels-advanced"
      },
      {
        "depth": 3,
        "title": "CCL Contract Addresses",
        "anchor": "ccl-contract-addresses"
      }
    ],
    "stats": {
      "word_count": 2208,
      "token_estimate": 5327,
      "headings": 2,
      "sections_indexed": 2
    },
    "hash": "sha256:9f618b822dd1b305ddf0434fe3c83adf7c623cfd1f349cd5632782e0c294a6ab",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-consistency-levels.md"
  },
  {
    "id": "products-reference-contract-addresses",
    "title": "Contract Addresses",
    "slug": "products-reference-contract-addresses",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-contract-addresses.md",
    "html_url": "https://wormhole.com/docs/products/reference/contract-addresses/",
    "preview": "=== \"Mainnet\"",
    "outline": [
      {
        "depth": 2,
        "title": "Core Contracts",
        "anchor": "core-contracts"
      },
      {
        "depth": 2,
        "title": "Wrapped Token Transfers (WTT)",
        "anchor": "wrapped-token-transfers-wtt"
      },
      {
        "depth": 2,
        "title": "CCTP",
        "anchor": "cctp"
      },
      {
        "depth": 2,
        "title": "Settlement Token Router",
        "anchor": "settlement-token-router"
      },
      {
        "depth": 2,
        "title": "Executor",
        "anchor": "executor"
      },
      {
        "depth": 2,
        "title": "Quoter Router",
        "anchor": "quoter-router"
      },
      {
        "depth": 2,
        "title": "Wormhole Labs Quoter Implementation",
        "anchor": "wormhole-labs-quoter-implementation"
      },
      {
        "depth": 2,
        "title": "Guardian Governance",
        "anchor": "guardian-governance"
      },
      {
        "depth": 2,
        "title": "Delegated Guardians",
        "anchor": "delegated-guardians"
      },
      {
        "depth": 2,
        "title": "IBC",
        "anchor": "ibc"
      },
      {
        "depth": 2,
        "title": "Gateway",
        "anchor": "gateway"
      },
      {
        "depth": 2,
        "title": "Read-Only Deployments",
        "anchor": "read-only-deployments"
      }
    ],
    "stats": {
      "word_count": 4112,
      "token_estimate": 11475,
      "headings": 12,
      "sections_indexed": 12
    },
    "hash": "sha256:3de19814758bc10d23e1c552173120358556a0cdd070f5a5b91b8fdd3236277a",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-contract-addresses.md"
  },
  {
    "id": "products-reference-delegated-guardian-set",
    "title": "Delegated Guardian Set",
    "slug": "products-reference-delegated-guardian-set",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-delegated-guardian-set.md",
    "html_url": "https://wormhole.com/docs/products/reference/delegated-guardian-set/",
    "preview": "For certain chains, the full set of 19 Guardian nodes is not required to each maintain full-node infrastructure. Instead, a **delegated guardian set** is configured — a configurable subset of Guardians designated to observe events on specific chains. The remaining Canonical Guardians rely on attested observations gossiped by Delegated Guardians to participate in VAA signing. See [the Delegated Guardian Sets whitepaper](https://github.com/wormhole-foundation/wormhole/blob/main/whitepapers/0017_de",
    "outline": [],
    "stats": {
      "word_count": 249,
      "token_estimate": 502,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:2c8b699cbd6ad9cbe4ae0d4d5d3199a8b5fbf20f94f5a7f6e3b16128b1d6e7df",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-delegated-guardian-set.md"
  },
  {
    "id": "products-reference-executor-addresses",
    "title": "Executor Addresses",
    "slug": "products-reference-executor-addresses",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-executor-addresses.md",
    "html_url": "https://wormhole.com/docs/products/reference/executor-addresses/",
    "preview": "=== \"Mainnet\"",
    "outline": [
      {
        "depth": 2,
        "title": "Executor",
        "anchor": "executor"
      },
      {
        "depth": 2,
        "title": "CCTP With Executor",
        "anchor": "cctp-with-executor"
      },
      {
        "depth": 2,
        "title": "NTT With Executor",
        "anchor": "ntt-with-executor"
      },
      {
        "depth": 2,
        "title": "WTT Executor",
        "anchor": "wtt-executor"
      },
      {
        "depth": 2,
        "title": "WTT Executor With Referrer",
        "anchor": "wtt-executor-with-referrer"
      },
      {
        "depth": 2,
        "title": "On-Chain Quoter",
        "anchor": "on-chain-quoter"
      },
      {
        "depth": 3,
        "title": "Wormhole Labs Quoter Implementation",
        "anchor": "wormhole-labs-quoter-implementation"
      },
      {
        "depth": 3,
        "title": "Quoter Router",
        "anchor": "quoter-router"
      }
    ],
    "stats": {
      "word_count": 3178,
      "token_estimate": 9141,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:0ffb090885a171e82343ec71ce815172af464bc3fd4f67208fb6c76d83b1d900",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-executor-addresses.md"
  },
  {
    "id": "products-reference-glossary",
    "title": "Glossary",
    "slug": "products-reference-glossary",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-glossary.md",
    "html_url": "https://wormhole.com/docs/products/reference/glossary/",
    "preview": "This glossary is an index of technical term definitions for words commonly used in Wormhole documentation.",
    "outline": [
      {
        "depth": 2,
        "title": "Chain ID",
        "anchor": "chain-id"
      },
      {
        "depth": 2,
        "title": "Consistency Level",
        "anchor": "consistency-level"
      },
      {
        "depth": 2,
        "title": "Delivery Provider",
        "anchor": "delivery-provider"
      },
      {
        "depth": 2,
        "title": "Emitter",
        "anchor": "emitter"
      },
      {
        "depth": 2,
        "title": "Finality",
        "anchor": "finality"
      },
      {
        "depth": 2,
        "title": "Guardian",
        "anchor": "guardian"
      },
      {
        "depth": 2,
        "title": "Guardian Network",
        "anchor": "guardian-network"
      },
      {
        "depth": 2,
        "title": "Guardian Set",
        "anchor": "guardian-set"
      },
      {
        "depth": 2,
        "title": "Delegated Guardian",
        "anchor": "delegated-guardian"
      },
      {
        "depth": 2,
        "title": "Heartbeat",
        "anchor": "heartbeat"
      },
      {
        "depth": 2,
        "title": "Observation",
        "anchor": "observation"
      },
      {
        "depth": 2,
        "title": "Relayer",
        "anchor": "relayer"
      },
      {
        "depth": 2,
        "title": "Sequence",
        "anchor": "sequence"
      },
      {
        "depth": 2,
        "title": "Spy",
        "anchor": "spy"
      },
      {
        "depth": 2,
        "title": "VAA",
        "anchor": "vaa"
      },
      {
        "depth": 2,
        "title": "Validator",
        "anchor": "validator"
      }
    ],
    "stats": {
      "word_count": 654,
      "token_estimate": 844,
      "headings": 16,
      "sections_indexed": 16
    },
    "hash": "sha256:ac250e53f178ca2fc5d4b2355cab82061408c032beac631f079e2904c044e15a",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-glossary.md"
  },
  {
    "id": "products-reference-supported-networks",
    "title": "Supported Networks",
    "slug": "products-reference-supported-networks",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/reference/supported-networks/",
    "preview": "Wormhole supports many blockchains across mainnet, testnet, and devnets. You can use these tables to verify if your desired chains are supported by the Wormhole products you plan to include in your integration.",
    "outline": [
      {
        "depth": 2,
        "title": "Supported Networks by Product",
        "anchor": "supported-networks-by-product"
      },
      {
        "depth": 3,
        "title": "Connect",
        "anchor": "connect"
      },
      {
        "depth": 3,
        "title": "NTT",
        "anchor": "ntt"
      },
      {
        "depth": 3,
        "title": "WTT",
        "anchor": "wtt"
      },
      {
        "depth": 3,
        "title": "CCTP",
        "anchor": "cctp"
      },
      {
        "depth": 3,
        "title": "Settlement",
        "anchor": "settlement"
      },
      {
        "depth": 3,
        "title": "Multigov",
        "anchor": "multigov"
      }
    ],
    "stats": {
      "word_count": 10869,
      "token_estimate": 29569,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:0d813b83f30cb25c94ab03d73c13d35c6dacf1ff03fb2e8d9ac2e352873d0a12",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-supported-networks.md"
  },
  {
    "id": "products-reference-testnet-faucets",
    "title": "Testnet Faucets",
    "slug": "products-reference-testnet-faucets",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-testnet-faucets.md",
    "html_url": "https://wormhole.com/docs/products/reference/testnet-faucets/",
    "preview": "Don't let the need for testnet tokens get in the way of building your next great idea with Wormhole. Use this guide to quickly locate the testnet token faucets you need to deploy and test applications and contracts on Wormhole's supported networks.",
    "outline": [
      {
        "depth": 3,
        "title": "EVM",
        "anchor": "evm"
      },
      {
        "depth": 3,
        "title": "SVM",
        "anchor": "svm"
      },
      {
        "depth": 3,
        "title": "AVM",
        "anchor": "avm"
      },
      {
        "depth": 3,
        "title": "CosmWasm",
        "anchor": "cosmwasm"
      },
      {
        "depth": 3,
        "title": "Move VM",
        "anchor": "move-vm"
      },
      {
        "depth": 3,
        "title": "NEAR VM",
        "anchor": "near-vm"
      },
      {
        "depth": 3,
        "title": "Sui Move VM",
        "anchor": "sui-move-vm"
      }
    ],
    "stats": {
      "word_count": 1395,
      "token_estimate": 3553,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:8a36e957849a3b807b14bfe1aa7a9564f3494a49a88ece97503ac5a8a3fe78f4",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-testnet-faucets.md"
  },
  {
    "id": "products-reference-wormhole-formatted-addresses",
    "title": "Wormhole Formatted Addresses",
    "slug": "products-reference-wormhole-formatted-addresses",
    "categories": [
      "Reference"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-reference-wormhole-formatted-addresses.md",
    "html_url": "https://wormhole.com/docs/products/reference/wormhole-formatted-addresses/",
    "preview": "Wormhole formatted addresses are 32-byte hex representations of addresses from any supported blockchain. Whether an address originates from EVM, Solana, Cosmos, or another ecosystem, Wormhole standardizes all addresses into this format to ensure cross-chain compatibility.",
    "outline": [
      {
        "depth": 2,
        "title": "Platform-Specific Address Formats",
        "anchor": "platform-specific-address-formats"
      },
      {
        "depth": 3,
        "title": "Address Format Handling",
        "anchor": "address-format-handling"
      },
      {
        "depth": 2,
        "title": "Universal Address Methods",
        "anchor": "universal-address-methods"
      },
      {
        "depth": 2,
        "title": "Convert Between Native and Wormhole Formatted Addresses",
        "anchor": "convert-between-native-and-wormhole-formatted-addresses"
      },
      {
        "depth": 3,
        "title": "Convert a Native Address to a Wormhole Formatted Address",
        "anchor": "convert-a-native-address-to-a-wormhole-formatted-address"
      },
      {
        "depth": 3,
        "title": "Convert Back to Native Addresses",
        "anchor": "convert-back-to-native-addresses"
      },
      {
        "depth": 2,
        "title": "Use Cases for Wormhole Formatted Addresses",
        "anchor": "use-cases-for-wormhole-formatted-addresses"
      },
      {
        "depth": 3,
        "title": "Cross-chain Token Transfers",
        "anchor": "cross-chain-token-transfers"
      },
      {
        "depth": 3,
        "title": "Smart Contract Interactions",
        "anchor": "smart-contract-interactions"
      },
      {
        "depth": 3,
        "title": "DApp Development",
        "anchor": "dapp-development"
      },
      {
        "depth": 3,
        "title": "Relayers and Infrastructure",
        "anchor": "relayers-and-infrastructure"
      }
    ],
    "stats": {
      "word_count": 799,
      "token_estimate": 1437,
      "headings": 11,
      "sections_indexed": 11
    },
    "hash": "sha256:45568d14f7bbe55cc7642d866bedde4d1a6fd221a264d4991ddfadd195a64d2c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-reference-wormhole-formatted-addresses.md"
  },
  {
    "id": "products-settlement-concepts-architecture",
    "title": "Settlement Protocol Architecture",
    "slug": "products-settlement-concepts-architecture",
    "categories": [
      "Settlement",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-concepts-architecture.md",
    "html_url": "https://wormhole.com/docs/products/settlement/concepts/architecture/",
    "preview": "This page describes the high-level mechanics of the underlying native swap protocols in the Wormhole SDK. While built on Wormhole messaging, each protocol uses a novel architecture with unique price discovery, scalability, and latency tradeoffs. These designs enable redundancy to handle highly asymmetric flows and sharp volume changes. These sections will cover the following:",
    "outline": [
      {
        "depth": 2,
        "title": "Mayan Swift",
        "anchor": "mayan-swift"
      },
      {
        "depth": 3,
        "title": "On-Chain Competitive Price Discovery Mechanism",
        "anchor": "on-chain-competitive-price-discovery-mechanism"
      },
      {
        "depth": 3,
        "title": "Protocol Flow: How It Works",
        "anchor": "protocol-flow-how-it-works"
      },
      {
        "depth": 2,
        "title": "Mayan MCTP",
        "anchor": "mayan-mctp"
      },
      {
        "depth": 3,
        "title": "Protocol Flow: How It Works",
        "anchor": "protocol-flow-how-it-works-2"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1090,
      "token_estimate": 1446,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:cbcaf30632fff50625c53015b6746f5b8e1f33c21e08d8383ad3647eb258f768",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-concepts-architecture.md"
  },
  {
    "id": "products-settlement-faqs",
    "title": "Wormhole Settlement FAQs",
    "slug": "products-settlement-faqs",
    "categories": [
      "Settlement",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-faqs.md",
    "html_url": "https://wormhole.com/docs/products/settlement/faqs/",
    "preview": "Mayan Swift uses a refund mechanism. If an auction does not start within the specified deadline, it means no solvers placed a bid, and the user's funds will be refunded on the source chain.",
    "outline": [
      {
        "depth": 2,
        "title": "What happens if no solver participates in the auction?",
        "anchor": "what-happens-if-no-solver-participates-in-the-auction"
      }
    ],
    "stats": {
      "word_count": 46,
      "token_estimate": 55,
      "headings": 1,
      "sections_indexed": 1
    },
    "hash": "sha256:1e21aa3b241ae0ecf36f3b22c80d13b71a8fe3529e4368c13100715ba04c8653",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-faqs.md"
  },
  {
    "id": "products-settlement-get-started",
    "title": "Get Started",
    "slug": "products-settlement-get-started",
    "categories": [
      "Settlement",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-get-started.md",
    "html_url": "https://wormhole.com/docs/products/settlement/get-started/",
    "preview": "[Settlement](/docs/products/settlement/overview/){target=\\_blank} is Wormhole’s intent-based execution layer, enabling fast, multichain token transfers. It coordinates routing logic, relayers, and on-chain infrastructure to let users express what they want to be done, not how.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Set Up a Project",
        "anchor": "set-up-a-project"
      },
      {
        "depth": 2,
        "title": "Perform a Token Swap",
        "anchor": "perform-a-token-swap"
      },
      {
        "depth": 2,
        "title": "Customize the Integration",
        "anchor": "customize-the-integration"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1374,
      "token_estimate": 2411,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:2feb5d8d45f8ab3c464466132e7c9019e3ac9229d86c88ff3dacaef5bf7733f3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-get-started.md"
  },
  {
    "id": "products-settlement-overview",
    "title": "Settlement Overview",
    "slug": "products-settlement-overview",
    "categories": [
      "Settlement",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-overview.md",
    "html_url": "https://wormhole.com/docs/products/settlement/overview/",
    "preview": "Wormhole Settlement is a multichain transfer system that allows users to specify what they want to happen, such as sending or swapping tokens, without handling the execution themselves. Instead, off-chain agents called solvers compete to fulfill these user intents.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 3,
        "title": "Mayan Swift",
        "anchor": "mayan-swift"
      },
      {
        "depth": 3,
        "title": "Mayan MCTP",
        "anchor": "mayan-mctp"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1154,
      "token_estimate": 1933,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:1801cb991f194bd0041f11c355464418969c0aabf56afe2167547ce3f2a9281d",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-overview.md"
  },
  {
    "id": "products-settlement-reference-supported-networks",
    "title": "Settlement Supported Networks",
    "slug": "products-settlement-reference-supported-networks",
    "categories": [
      "Settlement",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/settlement/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 583,
      "token_estimate": 1597,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:71ad1d26d250e67718396d3c50e9d51f3d6b152ccba57c394cc49cde6c9e1ec3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-settlement-reference-supported-networks.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-concepts-architecture",
    "title": "Native Token Transfers Architecture",
    "slug": "products-token-transfers-native-token-transfers-concepts-architecture",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-architecture.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/concepts/architecture/",
    "preview": "The Native Token Transfers (NTT) architecture within the Wormhole ecosystem offers a robust framework for secure and efficient token transfers across multiple blockchains. This architecture relies on the manager and transceiver core components, which work together to manage the complexities of cross-chain communication and token operations.",
    "outline": [
      {
        "depth": 2,
        "title": "System Components",
        "anchor": "system-components"
      },
      {
        "depth": 3,
        "title": "Managers",
        "anchor": "managers"
      },
      {
        "depth": 3,
        "title": "Transceivers",
        "anchor": "transceivers"
      },
      {
        "depth": 2,
        "title": "On-Chain State",
        "anchor": "on-chain-state"
      },
      {
        "depth": 2,
        "title": "Lifecycle of a Message",
        "anchor": "lifecycle-of-a-message"
      },
      {
        "depth": 3,
        "title": "Transfer",
        "anchor": "transfer"
      },
      {
        "depth": 3,
        "title": "Rate Limit",
        "anchor": "rate-limit"
      },
      {
        "depth": 3,
        "title": "Send",
        "anchor": "send"
      },
      {
        "depth": 3,
        "title": "Receive",
        "anchor": "receive"
      },
      {
        "depth": 3,
        "title": "Mint or Unlock",
        "anchor": "mint-or-unlock"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2214,
      "token_estimate": 3101,
      "headings": 11,
      "sections_indexed": 11
    },
    "hash": "sha256:c93b7ed625687c49cbeb55a690146b8e767c5b1e6c94c08d725dade5a8f65286",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-architecture.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-concepts-security",
    "title": "Native Token Transfers Security",
    "slug": "products-token-transfers-native-token-transfers-concepts-security",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-security.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/concepts/security/",
    "preview": "The Global Accountant is a defense-in-depth security feature that checks the integrity of every token transfer. It ensures that chain balances remain isolated and more tokens cannot be burned and transferred out of a chain than were ever minted.",
    "outline": [
      {
        "depth": 2,
        "title": "Global Accountant",
        "anchor": "global-accountant"
      },
      {
        "depth": 2,
        "title": "Governance and Upgradeability",
        "anchor": "governance-and-upgradeability"
      }
    ],
    "stats": {
      "word_count": 285,
      "token_estimate": 336,
      "headings": 2,
      "sections_indexed": 2
    },
    "hash": "sha256:41be07774797d94486c7c058ad467639c0c9029072b183acc682a657faf58fb8",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-security.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-concepts-transfer-flow",
    "title": "Flow of a NTT Transfer",
    "slug": "products-token-transfers-native-token-transfers-concepts-transfer-flow",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-transfer-flow.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/concepts/transfer-flow/",
    "preview": "This page outlines the full lifecycle of a [Native Token Transfers (NTT)](/docs/products/native-token-transfers/overview/){target=\\_blank} message, covering how transfers are initiated, sent, verified, and completed across supported chains. It highlights the distinct roles of the NTT Manager and Transceivers.",
    "outline": [
      {
        "depth": 2,
        "title": "Transfer Flow",
        "anchor": "transfer-flow"
      },
      {
        "depth": 2,
        "title": "EVM Transfer Flow Details",
        "anchor": "evm-transfer-flow-details"
      },
      {
        "depth": 3,
        "title": "Transfer",
        "anchor": "transfer"
      },
      {
        "depth": 3,
        "title": "Rate Limiting",
        "anchor": "rate-limiting"
      },
      {
        "depth": 3,
        "title": "Sending the Message",
        "anchor": "sending-the-message"
      },
      {
        "depth": 3,
        "title": "Receiving the Message",
        "anchor": "receiving-the-message"
      },
      {
        "depth": 3,
        "title": "Minting or Unlocking",
        "anchor": "minting-or-unlocking"
      },
      {
        "depth": 2,
        "title": "Solana Transfer Flow Details",
        "anchor": "solana-transfer-flow-details"
      },
      {
        "depth": 3,
        "title": "Transfer",
        "anchor": "transfer-2"
      },
      {
        "depth": 3,
        "title": "Rate Limiting",
        "anchor": "rate-limiting-2"
      },
      {
        "depth": 3,
        "title": "Sending the Message",
        "anchor": "sending-the-message-2"
      },
      {
        "depth": 3,
        "title": "Receiving the Message",
        "anchor": "receiving-the-message-2"
      },
      {
        "depth": 3,
        "title": "Mint or Unlock",
        "anchor": "mint-or-unlock"
      },
      {
        "depth": 2,
        "title": "Rate Limiting",
        "anchor": "rate-limiting-3"
      },
      {
        "depth": 3,
        "title": "Outbound Rate Limiting (Source Chain)",
        "anchor": "outbound-rate-limiting-source-chain"
      },
      {
        "depth": 3,
        "title": "Inbound Rate Limiting (Destination Chain)",
        "anchor": "inbound-rate-limiting-destination-chain"
      },
      {
        "depth": 3,
        "title": "Cancel-Flows",
        "anchor": "cancel-flows"
      },
      {
        "depth": 2,
        "title": "Queued Transfer Management",
        "anchor": "queued-transfer-management"
      },
      {
        "depth": 3,
        "title": "Outbound Queued Transfers",
        "anchor": "outbound-queued-transfers"
      },
      {
        "depth": 3,
        "title": "Inbound Queued Transfers",
        "anchor": "inbound-queued-transfers"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2343,
      "token_estimate": 3357,
      "headings": 21,
      "sections_indexed": 21
    },
    "hash": "sha256:a2205a6071b625454ee850ee026318d56d6889fda43c56631231c153a46615de",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-concepts-transfer-flow.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-configuration-access-control",
    "title": "Native Token Transfers Access Control",
    "slug": "products-token-transfers-native-token-transfers-configuration-access-control",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-configuration-access-control.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/configuration/access-control/",
    "preview": "Pausing the Native Token Transfers (NTT) Manager contract will disallow initiating new token transfers. While the contract is paused, in-flight transfers can still be redeemed (subject to rate limits if configured).",
    "outline": [
      {
        "depth": 2,
        "title": "Owner and Pauser Roles",
        "anchor": "owner-and-pauser-roles"
      }
    ],
    "stats": {
      "word_count": 285,
      "token_estimate": 435,
      "headings": 1,
      "sections_indexed": 1
    },
    "hash": "sha256:3a0678856c7b8a05af7470428d449a5b02785bc4502b154776cbeb8395ed3c3b",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-configuration-access-control.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-configuration-rate-limiting",
    "title": "Native Token Transfers Rate Limiting",
    "slug": "products-token-transfers-native-token-transfers-configuration-rate-limiting",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-configuration-rate-limiting.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/configuration/rate-limiting/",
    "preview": "The Native Token Transfer (NTT) framework provides configurable per-chain rate limits for sending and receiving token transfers. Integrators can manage these limits via their own governance processes to quickly adapt to on-chain activity.",
    "outline": [
      {
        "depth": 2,
        "title": "Update Rate Limits",
        "anchor": "update-rate-limits"
      },
      {
        "depth": 2,
        "title": "Queuing Mechanism",
        "anchor": "queuing-mechanism"
      },
      {
        "depth": 2,
        "title": "Cancel Flows",
        "anchor": "cancel-flows"
      }
    ],
    "stats": {
      "word_count": 585,
      "token_estimate": 919,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:efa04d51ed225aa36edd64bfe20ecae1fc88974220239b6d7957f9acf6c5347c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-configuration-rate-limiting.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-faqs",
    "title": "Native Token Transfers FAQs",
    "slug": "products-token-transfers-native-token-transfers-faqs",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-faqs.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/faqs/",
    "preview": "Native Token Transfers (NTT) is a framework for moving your own token across multiple chains without wrapping. It preserves your token's native contract design on every chain and keeps control in your hands for metadata, ownership, upgrades, and custom features.",
    "outline": [
      {
        "depth": 2,
        "title": "What is NTT?",
        "anchor": "what-is-ntt"
      },
      {
        "depth": 2,
        "title": "Does NTT support a “lock-and-lock” transfer model?",
        "anchor": "does-ntt-support-a-lock-and-lock-transfer-model"
      },
      {
        "depth": 2,
        "title": "Do you have an example of how cross-chain lending can be implemented using Wormhole?",
        "anchor": "do-you-have-an-example-of-how-cross-chain-lending-can-be-implemented-using-wormhole"
      },
      {
        "depth": 2,
        "title": "What causes the \"No protocols registered for Evm\" error in Wormhole SDK?",
        "anchor": "what-causes-the-no-protocols-registered-for-evm-error-in-wormhole-sdk"
      },
      {
        "depth": 2,
        "title": "How can I mint tokens after moving the treasury object to the NTT manager on Sui?",
        "anchor": "how-can-i-mint-tokens-after-moving-the-treasury-object-to-the-ntt-manager-on-sui"
      },
      {
        "depth": 2,
        "title": "How can I specify a custom RPC for NTT?",
        "anchor": "how-can-i-specify-a-custom-rpc-for-ntt"
      },
      {
        "depth": 2,
        "title": "Can I set outbound rate limits on a per-chain basis like inbound limits?",
        "anchor": "can-i-set-outbound-rate-limits-on-a-per-chain-basis-like-inbound-limits"
      },
      {
        "depth": 2,
        "title": "How can I redeem tokens if NTT rate limits block them on the target chain?",
        "anchor": "how-can-i-redeem-tokens-if-ntt-rate-limits-block-them-on-the-target-chain"
      },
      {
        "depth": 2,
        "title": "What are the challenges of deploying NTT to non-EVM chains?",
        "anchor": "what-are-the-challenges-of-deploying-ntt-to-non-evm-chains"
      },
      {
        "depth": 2,
        "title": "Does the NTT manager function as an escrow account for a hub chain?",
        "anchor": "does-the-ntt-manager-function-as-an-escrow-account-for-a-hub-chain"
      },
      {
        "depth": 2,
        "title": "Which functions or events does Connect rely on for NTT integration?",
        "anchor": "which-functions-or-events-does-connect-rely-on-for-ntt-integration"
      },
      {
        "depth": 2,
        "title": "How does the relayer contract determine which transceiver to call?",
        "anchor": "how-does-the-relayer-contract-determine-which-transceiver-to-call"
      },
      {
        "depth": 2,
        "title": "How do I create a verifier or transceiver?",
        "anchor": "how-do-i-create-a-verifier-or-transceiver"
      },
      {
        "depth": 2,
        "title": "Can I use Hetzner for the NTT deployment?",
        "anchor": "can-i-use-hetzner-for-the-ntt-deployment"
      },
      {
        "depth": 2,
        "title": "How can I transfer tokens with NTT with an additional payload?",
        "anchor": "how-can-i-transfer-tokens-with-ntt-with-an-additional-payload"
      },
      {
        "depth": 2,
        "title": "Why use NTT over xERC20?",
        "anchor": "why-use-ntt-over-xerc20"
      },
      {
        "depth": 2,
        "title": "How can I start transferring tokens to a chain that is in burning mode, if no tokens are locked yet?",
        "anchor": "how-can-i-start-transferring-tokens-to-a-chain-that-is-in-burning-mode-if-no-tokens-are-locked-yet"
      },
      {
        "depth": 2,
        "title": "Is there a way to use NTT tokens with chains that don't currently support NTT?",
        "anchor": "is-there-a-way-to-use-ntt-tokens-with-chains-that-dont-currently-support-ntt"
      },
      {
        "depth": 2,
        "title": "Can I bridge native ETH or other gas tokens with NTT?",
        "anchor": "can-i-bridge-native-eth-or-other-gas-tokens-with-ntt"
      },
      {
        "depth": 2,
        "title": "How can I update my NTT CLI version?",
        "anchor": "how-can-i-update-my-ntt-cli-version"
      }
    ],
    "stats": {
      "word_count": 2409,
      "token_estimate": 3408,
      "headings": 20,
      "sections_indexed": 20
    },
    "hash": "sha256:9233f6e66683467b07075efa9a50a4d30db7e0a1cd94e7a001b2e3358238c49f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-faqs.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-get-started",
    "title": "Get Started with NTT",
    "slug": "products-token-transfers-native-token-transfers-get-started",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-get-started.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/get-started/",
    "preview": "The [Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank} framework enables seamless cross-chain token movement without wrapping or liquidity pools. This guide shows you how to install the NTT CLI, which is used to configure and deploy native token contracts, and scaffold your first project for deployment on testnet or mainnet.",
    "outline": [
      {
        "depth": 2,
        "title": "Introduction",
        "anchor": "introduction"
      },
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Don’t Have a Token Yet?",
        "anchor": "dont-have-a-token-yet"
      },
      {
        "depth": 2,
        "title": "Install NTT CLI",
        "anchor": "install-ntt-cli"
      },
      {
        "depth": 2,
        "title": "Initialize a New NTT Project",
        "anchor": "initialize-a-new-ntt-project"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1263,
      "token_estimate": 2304,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:d4ae81047fe8091eb9736da12fba5792a41abad0ff3ab333271f3f023f77e8c0",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-get-started.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-deploy-to-evm",
    "title": "Native Token Transfers EVM Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-deploy-to-evm",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-evm.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/deploy-to-evm/",
    "preview": "[Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank} enable seamless multichain transfers of ERC-20 tokens on [supported EVM-compatible chains](/docs/products/reference/supported-networks/#ntt){target=\\_blank} using Wormhole's messaging protocol. Instead of creating wrapped tokens, NTT allows native assets to move across chains while maintaining their original properties.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Overview of the Deployment Process",
        "anchor": "overview-of-the-deployment-process"
      },
      {
        "depth": 2,
        "title": "Set Up NTT",
        "anchor": "set-up-ntt"
      },
      {
        "depth": 2,
        "title": "Deploy and Configure NTT",
        "anchor": "deploy-and-configure-ntt"
      },
      {
        "depth": 2,
        "title": "Set Mint Authority",
        "anchor": "set-mint-authority"
      },
      {
        "depth": 2,
        "title": "NTT Manager Deployment Parameters",
        "anchor": "ntt-manager-deployment-parameters"
      },
      {
        "depth": 2,
        "title": "Manager Variants",
        "anchor": "manager-variants"
      },
      {
        "depth": 3,
        "title": "WethUnwrap Variant",
        "anchor": "wethunwrap-variant"
      },
      {
        "depth": 2,
        "title": "Advanced",
        "anchor": "advanced"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2515,
      "token_estimate": 4338,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:027c57b38739beb35c90461bf5ab333c1a47e539f58ead21e302cea8e8d1d82c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-evm.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-deploy-to-hyperliquid",
    "title": "Native Token Transfers Hyperliquid Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-deploy-to-hyperliquid",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-hyperliquid.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/deploy-to-hyperliquid/",
    "preview": "[Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank} enable seamless multichain transfers of tokens using Wormhole's messaging protocol. On Hyperliquid, NTT contracts are deployed to [HyperEVM](https://hyperliquid.gitbook.io/hyperliquid-docs/hyperevm){target=\\_blank} (the EVM-compatible execution layer), and can then be linked to [HyperCore](https://hyperliquid.gitbook.io/hyperliquid-docs){target=\\_blank} (the L1 order book layer) to ena",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Overview of the Deployment Process",
        "anchor": "overview-of-the-deployment-process"
      },
      {
        "depth": 2,
        "title": "Deploy a Spot Token on HyperCore",
        "anchor": "deploy-a-spot-token-on-hypercore"
      },
      {
        "depth": 3,
        "title": "Step 1: Deploy Token",
        "anchor": "step-1-deploy-token"
      },
      {
        "depth": 3,
        "title": "Step 2: Set Deployer Trading Fee Share",
        "anchor": "step-2-set-deployer-trading-fee-share"
      },
      {
        "depth": 3,
        "title": "Step 3: Set Genesis Balances",
        "anchor": "step-3-set-genesis-balances"
      },
      {
        "depth": 3,
        "title": "Step 4: Deploy Spot Trading Pair",
        "anchor": "step-4-deploy-spot-trading-pair"
      },
      {
        "depth": 3,
        "title": "Step 5: Deploy Hyperliquidity",
        "anchor": "step-5-deploy-hyperliquidity"
      },
      {
        "depth": 3,
        "title": "Step 6: Review and Trigger Genesis",
        "anchor": "step-6-review-and-trigger-genesis"
      },
      {
        "depth": 2,
        "title": "Link HyperCore to HyperEVM",
        "anchor": "link-hypercore-to-hyperevm"
      },
      {
        "depth": 2,
        "title": "Bridge Tokens Between HyperEVM and HyperCore",
        "anchor": "bridge-tokens-between-hyperevm-and-hypercore"
      },
      {
        "depth": 3,
        "title": "Bridge Into HyperCore",
        "anchor": "bridge-into-hypercore"
      },
      {
        "depth": 3,
        "title": "Bridge Out to HyperEVM",
        "anchor": "bridge-out-to-hyperevm"
      },
      {
        "depth": 2,
        "title": "Check Status",
        "anchor": "check-status"
      }
    ],
    "stats": {
      "word_count": 1439,
      "token_estimate": 2315,
      "headings": 14,
      "sections_indexed": 14
    },
    "hash": "sha256:f94afadce9cc382d321cf2465a3196bf7142e4637e4cbde7f9ecb8a246facc53",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-hyperliquid.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-deploy-to-solana",
    "title": "Native Token Transfers SVM Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-deploy-to-solana",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-solana.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/deploy-to-solana/",
    "preview": "[Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank} enable seamless multichain transfers of SPL tokens on SVM chains using Wormhole's messaging protocol. Instead of creating wrapped tokens, NTT allows native assets to move across chains while maintaining their original properties.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Overview of the Deployment Process",
        "anchor": "overview-of-the-deployment-process"
      },
      {
        "depth": 2,
        "title": "Set Up NTT",
        "anchor": "set-up-ntt"
      },
      {
        "depth": 3,
        "title": "Generate an NTT Program Key Pair",
        "anchor": "generate-an-ntt-program-key-pair"
      },
      {
        "depth": 3,
        "title": "Set Mint Authority",
        "anchor": "set-mint-authority"
      },
      {
        "depth": 2,
        "title": "Deploy and Configure NTT",
        "anchor": "deploy-and-configure-ntt"
      },
      {
        "depth": 3,
        "title": "Recovering Rent for Failed SVM Deployments",
        "anchor": "recovering-rent-for-failed-svm-deployments"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1953,
      "token_estimate": 3320,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:1e026ce7e5496cffe6e059560e88fe7f904f85c3268d582fe076b70619f9ddce",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-solana.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-deploy-to-sui",
    "title": "Native Token Transfers Sui Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-deploy-to-sui",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-sui.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/deploy-to-sui/",
    "preview": "[Native Token Transfers (NTT)](/docs/products/native-token-transfers/overview/){target=\\_blank} enable seamless multichain transfers of Sui tokens using Wormhole's messaging protocol. Instead of creating wrapped tokens, NTT allows native assets to move across chains while maintaining their original properties.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Overview of the Deployment Process",
        "anchor": "overview-of-the-deployment-process"
      },
      {
        "depth": 2,
        "title": "Set Up NTT",
        "anchor": "set-up-ntt"
      },
      {
        "depth": 2,
        "title": "Deploy and Configure NTT",
        "anchor": "deploy-and-configure-ntt"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1478,
      "token_estimate": 2403,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:867aaa7af9a526b3ec016e2287af86c1313a1c6a558e709a83509ad8929141f3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-deploy-to-sui.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-evm-launchpad",
    "title": "Deploy Native Token Transfers with Launchpad",
    "slug": "products-token-transfers-native-token-transfers-guides-evm-launchpad",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-evm-launchpad.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/evm-launchpad/",
    "preview": "The [Native Token Transfers (NTT) Launchpad](https://ntt.wormhole.com/){target=\\_blank} is a Wormhole-managed UI application that provides a step-by-step interface for deploying NTT across multiple blockchains.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Supported Blockchains",
        "anchor": "supported-blockchains"
      },
      {
        "depth": 2,
        "title": "Choose Your Path",
        "anchor": "choose-your-path"
      },
      {
        "depth": 2,
        "title": "Launch a Cross-Chain Token",
        "anchor": "launch-a-cross-chain-token"
      },
      {
        "depth": 2,
        "title": "Expand Your Existing Token",
        "anchor": "expand-your-existing-token"
      },
      {
        "depth": 2,
        "title": "Explore the Launchpad Dashboard",
        "anchor": "explore-the-launchpad-dashboard"
      },
      {
        "depth": 2,
        "title": "Settings",
        "anchor": "settings"
      },
      {
        "depth": 3,
        "title": "Chain Management",
        "anchor": "chain-management"
      },
      {
        "depth": 3,
        "title": "Role Management",
        "anchor": "role-management"
      },
      {
        "depth": 3,
        "title": "Security Threshold",
        "anchor": "security-threshold"
      },
      {
        "depth": 3,
        "title": "Peer Chains Limits",
        "anchor": "peer-chains-limits"
      }
    ],
    "stats": {
      "word_count": 1327,
      "token_estimate": 2211,
      "headings": 11,
      "sections_indexed": 11
    },
    "hash": "sha256:b44a99fb38450bb376719b0b223de3659b4fff790402e2337e7a63e34aeb8d27",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-evm-launchpad.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-post-deployment",
    "title": "Native Token Transfers Post Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-post-deployment",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-post-deployment.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/post-deployment/",
    "preview": "To offer the best user experience and ensure the most robust deployment, Wormhole contributors recommend the following after you have deployed Native Token Transfers (NTT):",
    "outline": [
      {
        "depth": 2,
        "title": "Post-Deployment Settings",
        "anchor": "post-deployment-settings"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 507,
      "token_estimate": 941,
      "headings": 2,
      "sections_indexed": 2
    },
    "hash": "sha256:6a4a95a277a37d087bf4602c8708a69bbe39f86cb364d5499afbc0d856511600",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-post-deployment.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-transfer-ownership",
    "title": "Transfer Ownership",
    "slug": "products-token-transfers-native-token-transfers-guides-transfer-ownership",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-transfer-ownership.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/transfer-ownership/",
    "preview": "After deploying Native Token Transfers (NTT), you may need to move ownership to a new owner address (e.g., a multisig). This page outlines the process for transferring ownership on EVM, Solana, and Sui.",
    "outline": [
      {
        "depth": 2,
        "title": "EVM",
        "anchor": "evm"
      },
      {
        "depth": 2,
        "title": "Solana",
        "anchor": "solana"
      },
      {
        "depth": 2,
        "title": "Sui",
        "anchor": "sui"
      }
    ],
    "stats": {
      "word_count": 685,
      "token_estimate": 1233,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:0d9b6793b4e3ab8a1733dc702d80d440d7b78413ee0c86ffaf76da82f3909836",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-transfer-ownership.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-guides-troubleshoot",
    "title": "Troubleshooting NTT Deployment",
    "slug": "products-token-transfers-native-token-transfers-guides-troubleshoot",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-troubleshoot.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/guides/troubleshoot/",
    "preview": "If you encounter issues during the NTT deployment process, check the following common points:",
    "outline": [],
    "stats": {
      "word_count": 602,
      "token_estimate": 1150,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:8f4d900a6ef93920c30784d9e52c01d03559596149cd6f8126ea56aa12ce13c5",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-guides-troubleshoot.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-overview",
    "title": "Native Token Transfers Overview",
    "slug": "products-token-transfers-native-token-transfers-overview",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-overview.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/overview/",
    "preview": "Native Token Transfers (NTT) provides an adaptable framework for transferring your native tokens across different blockchains. Unlike traditional wrapped assets, NTT maintains your token's native properties on every chain. This ensures that you retain complete control over crucial aspects, such as metadata, ownership, upgradeability, and custom features.",
    "outline": [
      {
        "depth": 2,
        "title": "Native Token Transfers Overview",
        "anchor": "native-token-transfers-overview"
      },
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "Deployment Models",
        "anchor": "deployment-models"
      },
      {
        "depth": 2,
        "title": "Supported Token Standards",
        "anchor": "supported-token-standards"
      },
      {
        "depth": 2,
        "title": "Deployment Process",
        "anchor": "deployment-process"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 787,
      "token_estimate": 1369,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:879aed7163b397529b596617d9cf10bf7d8917279a13e27c1c6fc420d3454373",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-overview.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-cli-commands",
    "title": "NTT CLI Commands",
    "slug": "products-token-transfers-native-token-transfers-reference-cli-commands",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-cli-commands.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/cli-commands/",
    "preview": "The NTT Command-Line Interface (CLI) is a powerful tool for managing native token transfers across multiple blockchain networks within the Wormhole ecosystem. This page provides a comprehensive list of available commands, their descriptions, and examples to help you interact with and configure the NTT system effectively. Whether initializing deployments, updating configurations, or working with specific chains, the NTT CLI simplifies these operations through its intuitive commands.",
    "outline": [
      {
        "depth": 2,
        "title": "Table of Commands",
        "anchor": "table-of-commands"
      },
      {
        "depth": 3,
        "title": "General Commands",
        "anchor": "general-commands"
      },
      {
        "depth": 3,
        "title": "Advanced Custom Finality",
        "anchor": "advanced-custom-finality"
      },
      {
        "depth": 3,
        "title": "Configuration Commands",
        "anchor": "configuration-commands"
      },
      {
        "depth": 3,
        "title": "Hyperliquid Commands",
        "anchor": "hyperliquid-commands"
      },
      {
        "depth": 3,
        "title": "Solana Commands",
        "anchor": "solana-commands"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 889,
      "token_estimate": 2437,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:bd0463c643e9357e971f30dc97a031de9ad5cf59945ba2f7e112085a40f6283f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-cli-commands.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-manager-evm",
    "title": "Native Token Transfers Manager Contract (EVM)",
    "slug": "products-token-transfers-native-token-transfers-reference-manager-evm",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-manager-evm.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/manager/evm/",
    "preview": "The [NttManager](https://github.com/wormhole-foundation/native-token-transfers/blob/main/evm/src/NttManager/NttManager.sol){target=\\_blank} contract is responsible for managing the token and associated transceivers. It enables cross-chain token transfers, peer registration, rate limiting, and message attestation for the NTT protocol.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Variables",
        "anchor": "state-variables"
      },
      {
        "depth": 3,
        "title": "Core Identification",
        "anchor": "core-identification"
      },
      {
        "depth": 3,
        "title": "Cross-chain Peers and Governance Thresholds",
        "anchor": "cross-chain-peers-and-governance-thresholds"
      },
      {
        "depth": 3,
        "title": "Rate Limiting and Queues",
        "anchor": "rate-limiting-and-queues"
      },
      {
        "depth": 2,
        "title": "Events",
        "anchor": "events"
      },
      {
        "depth": 3,
        "title": "InboundTransferLimitUpdated",
        "anchor": "inboundtransferlimitupdated"
      },
      {
        "depth": 3,
        "title": "InboundTransferQueued",
        "anchor": "inboundtransferqueued"
      },
      {
        "depth": 3,
        "title": "MessageAlreadyExecuted",
        "anchor": "messagealreadyexecuted"
      },
      {
        "depth": 3,
        "title": "MessageAttestedTo",
        "anchor": "messageattestedto"
      },
      {
        "depth": 3,
        "title": "NotPaused",
        "anchor": "notpaused"
      },
      {
        "depth": 3,
        "title": "OutboundTransferCancelled",
        "anchor": "outboundtransfercancelled"
      },
      {
        "depth": 3,
        "title": "OutboundTransferLimitUpdated",
        "anchor": "outboundtransferlimitupdated"
      },
      {
        "depth": 3,
        "title": "OutboundTransferQueued",
        "anchor": "outboundtransferqueued"
      },
      {
        "depth": 3,
        "title": "OutboundTransferRateLimited",
        "anchor": "outboundtransferratelimited"
      },
      {
        "depth": 3,
        "title": "OwnershipTransferred",
        "anchor": "ownershiptransferred"
      },
      {
        "depth": 3,
        "title": "Paused",
        "anchor": "paused"
      },
      {
        "depth": 3,
        "title": "PauserTransferred",
        "anchor": "pausertransferred"
      },
      {
        "depth": 3,
        "title": "PeerUpdated",
        "anchor": "peerupdated"
      },
      {
        "depth": 3,
        "title": "ThresholdChanged",
        "anchor": "thresholdchanged"
      },
      {
        "depth": 3,
        "title": "TransceiverAdded",
        "anchor": "transceiveradded"
      },
      {
        "depth": 3,
        "title": "TransceiverRemoved",
        "anchor": "transceiverremoved"
      },
      {
        "depth": 3,
        "title": "TransferRedeemed",
        "anchor": "transferredeemed"
      },
      {
        "depth": 3,
        "title": "TransferSent",
        "anchor": "transfersent"
      },
      {
        "depth": 3,
        "title": "TransferSent (Digest Version)",
        "anchor": "transfersent-digest-version"
      },
      {
        "depth": 2,
        "title": "Functions",
        "anchor": "functions"
      },
      {
        "depth": 3,
        "title": "attestationReceived",
        "anchor": "attestationreceived"
      },
      {
        "depth": 3,
        "title": "cancelOutboundQueuedTransfer",
        "anchor": "canceloutboundqueuedtransfer"
      },
      {
        "depth": 3,
        "title": "completeInboundQueuedTransfer",
        "anchor": "completeinboundqueuedtransfer"
      },
      {
        "depth": 3,
        "title": "completeOutboundQueuedTransfer",
        "anchor": "completeoutboundqueuedtransfer"
      },
      {
        "depth": 3,
        "title": "executeMsg",
        "anchor": "executemsg"
      },
      {
        "depth": 3,
        "title": "getCurrentInboundCapacity",
        "anchor": "getcurrentinboundcapacity"
      },
      {
        "depth": 3,
        "title": "getCurrentOutboundCapacity",
        "anchor": "getcurrentoutboundcapacity"
      },
      {
        "depth": 3,
        "title": "getInboundLimitParams",
        "anchor": "getinboundlimitparams"
      },
      {
        "depth": 3,
        "title": "getInboundQueuedTransfer",
        "anchor": "getinboundqueuedtransfer"
      },
      {
        "depth": 3,
        "title": "getMode",
        "anchor": "getmode"
      },
      {
        "depth": 3,
        "title": "getMigratesImmutables",
        "anchor": "getmigratesimmutables"
      },
      {
        "depth": 3,
        "title": "getOutboundLimitParams",
        "anchor": "getoutboundlimitparams"
      },
      {
        "depth": 3,
        "title": "getOutboundQueuedTransfer",
        "anchor": "getoutboundqueuedtransfer"
      },
      {
        "depth": 3,
        "title": "getPeer",
        "anchor": "getpeer"
      },
      {
        "depth": 3,
        "title": "getThreshold",
        "anchor": "getthreshold"
      },
      {
        "depth": 3,
        "title": "getTransceiverInfo",
        "anchor": "gettransceiverinfo"
      },
      {
        "depth": 3,
        "title": "getTransceivers",
        "anchor": "gettransceivers"
      },
      {
        "depth": 3,
        "title": "initialize",
        "anchor": "initialize"
      },
      {
        "depth": 3,
        "title": "isMessageApproved",
        "anchor": "ismessageapproved"
      },
      {
        "depth": 3,
        "title": "isMessageExecuted",
        "anchor": "ismessageexecuted"
      },
      {
        "depth": 3,
        "title": "isPaused",
        "anchor": "ispaused"
      },
      {
        "depth": 3,
        "title": "messageAttestations",
        "anchor": "messageattestations"
      },
      {
        "depth": 3,
        "title": "migrate",
        "anchor": "migrate"
      },
      {
        "depth": 3,
        "title": "nextMessageSequence",
        "anchor": "nextmessagesequence"
      },
      {
        "depth": 3,
        "title": "owner",
        "anchor": "owner"
      },
      {
        "depth": 3,
        "title": "pause",
        "anchor": "pause"
      },
      {
        "depth": 3,
        "title": "pauser",
        "anchor": "pauser"
      },
      {
        "depth": 3,
        "title": "quoteDeliveryPrice",
        "anchor": "quotedeliveryprice"
      },
      {
        "depth": 3,
        "title": "removeTransceiver",
        "anchor": "removetransceiver"
      },
      {
        "depth": 3,
        "title": "setInboundLimit",
        "anchor": "setinboundlimit"
      },
      {
        "depth": 3,
        "title": "setOutboundLimit",
        "anchor": "setoutboundlimit"
      },
      {
        "depth": 3,
        "title": "setPeer",
        "anchor": "setpeer"
      },
      {
        "depth": 3,
        "title": "setThreshold",
        "anchor": "setthreshold"
      },
      {
        "depth": 3,
        "title": "setTransceiver",
        "anchor": "settransceiver"
      },
      {
        "depth": 3,
        "title": "tokenDecimals",
        "anchor": "tokendecimals"
      },
      {
        "depth": 3,
        "title": "transceiverAttestedToMessage",
        "anchor": "transceiverattestedtomessage"
      },
      {
        "depth": 3,
        "title": "transfer (basic)",
        "anchor": "transfer-basic"
      },
      {
        "depth": 3,
        "title": "transfer (advanced)",
        "anchor": "transfer-advanced"
      },
      {
        "depth": 3,
        "title": "transferOwnership",
        "anchor": "transferownership"
      },
      {
        "depth": 3,
        "title": "transferPauserCapability",
        "anchor": "transferpausercapability"
      },
      {
        "depth": 3,
        "title": "upgrade",
        "anchor": "upgrade"
      },
      {
        "depth": 3,
        "title": "unpause",
        "anchor": "unpause"
      },
      {
        "depth": 2,
        "title": "Errors",
        "anchor": "errors"
      },
      {
        "depth": 3,
        "title": "BurnAmountDifferentThanBalanceDiff",
        "anchor": "burnamountdifferentthanbalancediff"
      },
      {
        "depth": 3,
        "title": "CallerNotTransceiver",
        "anchor": "callernottransceiver"
      },
      {
        "depth": 3,
        "title": "CancellerNotSender",
        "anchor": "cancellernotsender"
      },
      {
        "depth": 3,
        "title": "CapacityCannotExceedLimit",
        "anchor": "capacitycannotexceedlimit"
      },
      {
        "depth": 3,
        "title": "DeliveryPaymentTooLow",
        "anchor": "deliverypaymenttoolow"
      },
      {
        "depth": 3,
        "title": "DisabledTransceiver",
        "anchor": "disabledtransceiver"
      },
      {
        "depth": 3,
        "title": "InboundQueuedTransferNotFound",
        "anchor": "inboundqueuedtransfernotfound"
      },
      {
        "depth": 3,
        "title": "InboundQueuedTransferStillQueued",
        "anchor": "inboundqueuedtransferstillqueued"
      },
      {
        "depth": 3,
        "title": "InvalidInitialization",
        "anchor": "invalidinitialization"
      },
      {
        "depth": 3,
        "title": "InvalidMode",
        "anchor": "invalidmode"
      },
      {
        "depth": 3,
        "title": "InvalidPauser",
        "anchor": "invalidpauser"
      },
      {
        "depth": 3,
        "title": "InvalidPeer",
        "anchor": "invalidpeer"
      },
      {
        "depth": 3,
        "title": "InvalidPeerChainIdZero",
        "anchor": "invalidpeerchainidzero"
      },
      {
        "depth": 3,
        "title": "InvalidPeerDecimals",
        "anchor": "invalidpeerdecimals"
      },
      {
        "depth": 3,
        "title": "InvalidPeerSameChainId",
        "anchor": "invalidpeersamechainid"
      },
      {
        "depth": 3,
        "title": "InvalidPeerZeroAddress",
        "anchor": "invalidpeerzeroaddress"
      },
      {
        "depth": 3,
        "title": "InvalidRecipient",
        "anchor": "invalidrecipient"
      },
      {
        "depth": 3,
        "title": "InvalidRefundAddress",
        "anchor": "invalidrefundaddress"
      },
      {
        "depth": 3,
        "title": "InvalidTargetChain",
        "anchor": "invalidtargetchain"
      },
      {
        "depth": 3,
        "title": "InvalidTransceiverZeroAddress",
        "anchor": "invalidtransceiverzeroaddress"
      },
      {
        "depth": 3,
        "title": "MessageNotApproved",
        "anchor": "messagenotapproved"
      },
      {
        "depth": 3,
        "title": "NoEnabledTransceivers",
        "anchor": "noenabledtransceivers"
      },
      {
        "depth": 3,
        "title": "NonRegisteredTransceiver",
        "anchor": "nonregisteredtransceiver"
      },
      {
        "depth": 3,
        "title": "NotEnoughCapacity",
        "anchor": "notenoughcapacity"
      },
      {
        "depth": 3,
        "title": "NotInitializing",
        "anchor": "notinitializing"
      },
      {
        "depth": 3,
        "title": "NotMigrating",
        "anchor": "notmigrating"
      },
      {
        "depth": 3,
        "title": "NotImplemented",
        "anchor": "notimplemented"
      },
      {
        "depth": 3,
        "title": "OnlyDelegateCall",
        "anchor": "onlydelegatecall"
      },
      {
        "depth": 3,
        "title": "OwnableInvalidOwner",
        "anchor": "ownableinvalidowner"
      },
      {
        "depth": 3,
        "title": "OwnableUnauthorizedAccount",
        "anchor": "ownableunauthorizedaccount"
      },
      {
        "depth": 3,
        "title": "OutboundQueuedTransferNotFound",
        "anchor": "outboundqueuedtransfernotfound"
      },
      {
        "depth": 3,
        "title": "OutboundQueuedTransferStillQueued",
        "anchor": "outboundqueuedtransferstillqueued"
      },
      {
        "depth": 3,
        "title": "PeerNotRegistered",
        "anchor": "peernotregistered"
      },
      {
        "depth": 3,
        "title": "RefundFailed",
        "anchor": "refundfailed"
      },
      {
        "depth": 3,
        "title": "RequireContractIsNotPaused",
        "anchor": "requirecontractisnotpaused"
      },
      {
        "depth": 3,
        "title": "RequireContractIsPaused",
        "anchor": "requirecontractispaused"
      },
      {
        "depth": 3,
        "title": "RetrievedIncorrectRegisteredTransceivers",
        "anchor": "retrievedincorrectregisteredtransceivers"
      },
      {
        "depth": 3,
        "title": "StaticcallFailed",
        "anchor": "staticcallfailed"
      },
      {
        "depth": 3,
        "title": "ThresholdTooHigh",
        "anchor": "thresholdtoohigh"
      },
      {
        "depth": 3,
        "title": "TooManyTransceivers",
        "anchor": "toomanytransceivers"
      },
      {
        "depth": 3,
        "title": "TransceiverAlreadyAttestedToMessage",
        "anchor": "transceiveralreadyattestedtomessage"
      },
      {
        "depth": 3,
        "title": "TransceiverAlreadyEnabled",
        "anchor": "transceiveralreadyenabled"
      },
      {
        "depth": 3,
        "title": "TransferAmountHasDust",
        "anchor": "transferamounthasdust"
      },
      {
        "depth": 3,
        "title": "UndefinedRateLimiting",
        "anchor": "undefinedratelimiting"
      },
      {
        "depth": 3,
        "title": "UnexpectedDeployer",
        "anchor": "unexpecteddeployer"
      },
      {
        "depth": 3,
        "title": "UnexpectedMsgValue",
        "anchor": "unexpectedmsgvalue"
      },
      {
        "depth": 3,
        "title": "ZeroAmount",
        "anchor": "zeroamount"
      },
      {
        "depth": 3,
        "title": "ZeroThreshold",
        "anchor": "zerothreshold"
      },
      {
        "depth": 3,
        "title": "TransferAlreadyCompleted",
        "anchor": "transferalreadycompleted"
      },
      {
        "depth": 3,
        "title": "UnexpectedRecipientNttManagerAddress",
        "anchor": "unexpectedrecipientnttmanageraddress"
      }
    ],
    "stats": {
      "word_count": 6460,
      "token_estimate": 14356,
      "headings": 119,
      "sections_indexed": 119
    },
    "hash": "sha256:2461c90c93c27382d95e3b88cdf51e15a33f3a3e73dd51bec3bbefadfc8fe218",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-manager-evm.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-manager-solana",
    "title": "Native Token Transfers Manager Program (Solana)",
    "slug": "products-token-transfers-native-token-transfers-reference-manager-solana",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-manager-solana.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/manager/solana/",
    "preview": "The [NTT Manager program](https://github.com/wormhole-foundation/native-token-transfers/blob/main/solana/programs/example-native-token-transfers/src/lib.rs){target=\\_blank} is responsible for managing the token and associated transceivers on Solana. It enables cross-chain token transfers, peer registration, rate limiting, and message attestation for the NTT protocol.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Accounts",
        "anchor": "state-accounts"
      },
      {
        "depth": 3,
        "title": "Core Configuration",
        "anchor": "core-configuration"
      },
      {
        "depth": 3,
        "title": "Cross-chain Peers and Governance Thresholds",
        "anchor": "cross-chain-peers-and-governance-thresholds"
      },
      {
        "depth": 3,
        "title": "Rate Limiting and Queues",
        "anchor": "rate-limiting-and-queues"
      },
      {
        "depth": 3,
        "title": "Authority and Admin Flow",
        "anchor": "authority-and-admin-flow"
      },
      {
        "depth": 3,
        "title": "PDAs",
        "anchor": "pdas"
      },
      {
        "depth": 2,
        "title": "Instructions",
        "anchor": "instructions"
      },
      {
        "depth": 3,
        "title": "accept_token_authority",
        "anchor": "accept_token_authority"
      },
      {
        "depth": 3,
        "title": "accept_token_authority_from_multisig",
        "anchor": "accept_token_authority_from_multisig"
      },
      {
        "depth": 3,
        "title": "broadcast_wormhole_id",
        "anchor": "broadcast_wormhole_id"
      },
      {
        "depth": 3,
        "title": "broadcast_wormhole_peer",
        "anchor": "broadcast_wormhole_peer"
      },
      {
        "depth": 3,
        "title": "claim_ownership",
        "anchor": "claim_ownership"
      },
      {
        "depth": 3,
        "title": "claim_token_authority",
        "anchor": "claim_token_authority"
      },
      {
        "depth": 3,
        "title": "claim_token_authority_to_multisig",
        "anchor": "claim_token_authority_to_multisig"
      },
      {
        "depth": 3,
        "title": "deregister_transceiver",
        "anchor": "deregister_transceiver"
      },
      {
        "depth": 3,
        "title": "initialize",
        "anchor": "initialize"
      },
      {
        "depth": 3,
        "title": "initialize_lut",
        "anchor": "initialize_lut"
      },
      {
        "depth": 3,
        "title": "mark_outbox_item_as_released",
        "anchor": "mark_outbox_item_as_released"
      },
      {
        "depth": 3,
        "title": "receive_wormhole_message",
        "anchor": "receive_wormhole_message"
      },
      {
        "depth": 3,
        "title": "redeem",
        "anchor": "redeem"
      },
      {
        "depth": 3,
        "title": "register_transceiver",
        "anchor": "register_transceiver"
      },
      {
        "depth": 3,
        "title": "release_inbound_mint",
        "anchor": "release_inbound_mint"
      },
      {
        "depth": 3,
        "title": "release_inbound_unlock",
        "anchor": "release_inbound_unlock"
      },
      {
        "depth": 3,
        "title": "release_wormhole_outbound",
        "anchor": "release_wormhole_outbound"
      },
      {
        "depth": 3,
        "title": "revert_token_authority",
        "anchor": "revert_token_authority"
      },
      {
        "depth": 3,
        "title": "set_inbound_limit",
        "anchor": "set_inbound_limit"
      },
      {
        "depth": 3,
        "title": "set_outbound_limit",
        "anchor": "set_outbound_limit"
      },
      {
        "depth": 3,
        "title": "set_paused",
        "anchor": "set_paused"
      },
      {
        "depth": 3,
        "title": "set_peer",
        "anchor": "set_peer"
      },
      {
        "depth": 3,
        "title": "set_threshold",
        "anchor": "set_threshold"
      },
      {
        "depth": 3,
        "title": "set_token_authority",
        "anchor": "set_token_authority"
      },
      {
        "depth": 3,
        "title": "set_token_authority_one_step_unchecked",
        "anchor": "set_token_authority_one_step_unchecked"
      },
      {
        "depth": 3,
        "title": "set_wormhole_peer",
        "anchor": "set_wormhole_peer"
      },
      {
        "depth": 3,
        "title": "transfer_burn",
        "anchor": "transfer_burn"
      },
      {
        "depth": 3,
        "title": "transfer_lock",
        "anchor": "transfer_lock"
      },
      {
        "depth": 3,
        "title": "transfer_ownership",
        "anchor": "transfer_ownership"
      },
      {
        "depth": 3,
        "title": "transfer_ownership_one_step_unchecked",
        "anchor": "transfer_ownership_one_step_unchecked"
      },
      {
        "depth": 3,
        "title": "version",
        "anchor": "version"
      },
      {
        "depth": 2,
        "title": "Data Structures",
        "anchor": "data-structures"
      },
      {
        "depth": 3,
        "title": "Config",
        "anchor": "config"
      },
      {
        "depth": 3,
        "title": "Mode",
        "anchor": "mode"
      },
      {
        "depth": 3,
        "title": "ChainId",
        "anchor": "chainid"
      },
      {
        "depth": 2,
        "title": "Errors",
        "anchor": "errors"
      },
      {
        "depth": 3,
        "title": "BadAmountAfterBurn",
        "anchor": "badamountafterburn"
      },
      {
        "depth": 3,
        "title": "BadAmountAfterTransfer",
        "anchor": "badamountaftertransfer"
      },
      {
        "depth": 3,
        "title": "BitmapIndexOutOfBounds",
        "anchor": "bitmapindexoutofbounds"
      },
      {
        "depth": 3,
        "title": "CantReleaseYet",
        "anchor": "cantreleaseyet"
      },
      {
        "depth": 3,
        "title": "DisabledTransceiver",
        "anchor": "disabledtransceiver"
      },
      {
        "depth": 3,
        "title": "IncorrectRentPayer",
        "anchor": "incorrectrentpayer"
      },
      {
        "depth": 3,
        "title": "InvalidChainId",
        "anchor": "invalidchainid"
      },
      {
        "depth": 3,
        "title": "InvalidDeployer",
        "anchor": "invaliddeployer"
      },
      {
        "depth": 3,
        "title": "InvalidMintAuthority",
        "anchor": "invalidmintauthority"
      },
      {
        "depth": 3,
        "title": "InvalidMode",
        "anchor": "invalidmode"
      },
      {
        "depth": 3,
        "title": "InvalidMultisig",
        "anchor": "invalidmultisig"
      },
      {
        "depth": 3,
        "title": "InvalidNttManagerPeer",
        "anchor": "invalidnttmanagerpeer"
      },
      {
        "depth": 3,
        "title": "InvalidPendingOwner",
        "anchor": "invalidpendingowner"
      },
      {
        "depth": 3,
        "title": "InvalidPendingTokenAuthority",
        "anchor": "invalidpendingtokenauthority"
      },
      {
        "depth": 3,
        "title": "InvalidRecipientAddress",
        "anchor": "invalidrecipientaddress"
      },
      {
        "depth": 3,
        "title": "InvalidTransceiverPeer",
        "anchor": "invalidtransceiverpeer"
      },
      {
        "depth": 3,
        "title": "InvalidTransceiverProgram",
        "anchor": "invalidtransceiverprogram"
      },
      {
        "depth": 3,
        "title": "MessageAlreadySent",
        "anchor": "messagealreadysent"
      },
      {
        "depth": 3,
        "title": "NoRegisteredTransceivers",
        "anchor": "noregisteredtransceivers"
      },
      {
        "depth": 3,
        "title": "NotPaused",
        "anchor": "notpaused"
      },
      {
        "depth": 3,
        "title": "OverflowExponent",
        "anchor": "overflowexponent"
      },
      {
        "depth": 3,
        "title": "OverflowScaledAmount",
        "anchor": "overflowscaledamount"
      },
      {
        "depth": 3,
        "title": "Paused",
        "anchor": "paused"
      },
      {
        "depth": 3,
        "title": "ThresholdTooHigh",
        "anchor": "thresholdtoohigh"
      },
      {
        "depth": 3,
        "title": "TransferAlreadyRedeemed",
        "anchor": "transferalreadyredeemed"
      },
      {
        "depth": 3,
        "title": "TransferCannotBeRedeemed",
        "anchor": "transfercannotberedeemed"
      },
      {
        "depth": 3,
        "title": "TransferExceedsRateLimit",
        "anchor": "transferexceedsratelimit"
      },
      {
        "depth": 3,
        "title": "TransferNotApproved",
        "anchor": "transfernotapproved"
      },
      {
        "depth": 3,
        "title": "ZeroThreshold",
        "anchor": "zerothreshold"
      }
    ],
    "stats": {
      "word_count": 3495,
      "token_estimate": 8076,
      "headings": 73,
      "sections_indexed": 73
    },
    "hash": "sha256:62dd0f4c1b1ec14da029017ce5d969ac2b77d49b6ecb61a902e1ccb6ece403b1",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-manager-solana.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-supported-networks",
    "title": "NTT Supported Networks",
    "slug": "products-token-transfers-native-token-transfers-reference-supported-networks",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 2040,
      "token_estimate": 5558,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:a0578bc1dc271cfcd402911ade0ea1df063f72d3e092dbb905e0df3805149b5f",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-supported-networks.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-transceivers-evm",
    "title": "Native Token Transfers Transceivers Contracts (EVM)",
    "slug": "products-token-transfers-native-token-transfers-reference-transceivers-evm",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-transceivers-evm.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/transceivers/evm/",
    "preview": "The NTT [Transceiver](https://github.com/wormhole-foundation/native-token-transfers/blob/main/evm/src/Transceiver/WormholeTransceiver/WormholeTransceiver.sol){target=\\_blank} contracts are responsible for sending and receiving messages between chains as part of the NTT protocol. They support multiple verification methods and operate alongside the NTT Manager to enable cross-chain token transfers.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Variables",
        "anchor": "state-variables"
      },
      {
        "depth": 3,
        "title": "Core Identification",
        "anchor": "core-identification"
      },
      {
        "depth": 3,
        "title": "Version",
        "anchor": "version"
      },
      {
        "depth": 3,
        "title": "Messaging and Relaying Configuration",
        "anchor": "messaging-and-relaying-configuration"
      },
      {
        "depth": 3,
        "title": "Peer Configuration and Replay Protection",
        "anchor": "peer-configuration-and-replay-protection"
      },
      {
        "depth": 2,
        "title": "Events",
        "anchor": "events"
      },
      {
        "depth": 3,
        "title": "NotPaused",
        "anchor": "notpaused"
      },
      {
        "depth": 3,
        "title": "OwnershipTransferred",
        "anchor": "ownershiptransferred"
      },
      {
        "depth": 3,
        "title": "Paused",
        "anchor": "paused"
      },
      {
        "depth": 3,
        "title": "PauserTransferred",
        "anchor": "pausertransferred"
      },
      {
        "depth": 3,
        "title": "ReceivedMessage",
        "anchor": "receivedmessage"
      },
      {
        "depth": 3,
        "title": "ReceivedRelayedMessage",
        "anchor": "receivedrelayedmessage"
      },
      {
        "depth": 3,
        "title": "RelayingInfo",
        "anchor": "relayinginfo"
      },
      {
        "depth": 3,
        "title": "SendTransceiverMessage",
        "anchor": "sendtransceivermessage"
      },
      {
        "depth": 3,
        "title": "SetIsSpecialRelayingEnabled",
        "anchor": "setisspecialrelayingenabled"
      },
      {
        "depth": 3,
        "title": "SetIsWormholeEvmChain",
        "anchor": "setiswormholeevmchain"
      },
      {
        "depth": 3,
        "title": "SetIsWormholeRelayingEnabled",
        "anchor": "setiswormholerelayingenabled"
      },
      {
        "depth": 3,
        "title": "SetWormholePeer",
        "anchor": "setwormholepeer"
      },
      {
        "depth": 2,
        "title": "Functions",
        "anchor": "functions"
      },
      {
        "depth": 3,
        "title": "encodeWormholeTransceiverInstruction",
        "anchor": "encodewormholetransceiverinstruction"
      },
      {
        "depth": 3,
        "title": "getMigratesImmutables",
        "anchor": "getmigratesimmutables"
      },
      {
        "depth": 3,
        "title": "getNttManagerOwner",
        "anchor": "getnttmanagerowner"
      },
      {
        "depth": 3,
        "title": "getNttManagerToken",
        "anchor": "getnttmanagertoken"
      },
      {
        "depth": 3,
        "title": "getTransceiverType",
        "anchor": "gettransceivertype"
      },
      {
        "depth": 3,
        "title": "getWormholePeer",
        "anchor": "getwormholepeer"
      },
      {
        "depth": 3,
        "title": "initialize",
        "anchor": "initialize"
      },
      {
        "depth": 3,
        "title": "isPaused",
        "anchor": "ispaused"
      },
      {
        "depth": 3,
        "title": "isSpecialRelayingEnabled",
        "anchor": "isspecialrelayingenabled"
      },
      {
        "depth": 3,
        "title": "isVAAConsumed",
        "anchor": "isvaaconsumed"
      },
      {
        "depth": 3,
        "title": "isWormholeEvmChain",
        "anchor": "iswormholeevmchain"
      },
      {
        "depth": 3,
        "title": "isWormholeRelayingEnabled",
        "anchor": "iswormholerelayingenabled"
      },
      {
        "depth": 3,
        "title": "migrate",
        "anchor": "migrate"
      },
      {
        "depth": 3,
        "title": "parseWormholeTransceiverInstruction",
        "anchor": "parsewormholetransceiverinstruction"
      },
      {
        "depth": 3,
        "title": "quoteDeliveryPrice",
        "anchor": "quotedeliveryprice"
      },
      {
        "depth": 3,
        "title": "owner",
        "anchor": "owner"
      },
      {
        "depth": 3,
        "title": "pauser",
        "anchor": "pauser"
      },
      {
        "depth": 3,
        "title": "receiveMessage",
        "anchor": "receivemessage"
      },
      {
        "depth": 3,
        "title": "receiveWormholeMessages",
        "anchor": "receivewormholemessages"
      },
      {
        "depth": 3,
        "title": "sendMessage",
        "anchor": "sendmessage"
      },
      {
        "depth": 3,
        "title": "setIsSpecialRelayingEnabled",
        "anchor": "setisspecialrelayingenabled-2"
      },
      {
        "depth": 3,
        "title": "setIsWormholeEvmChain",
        "anchor": "setiswormholeevmchain-2"
      },
      {
        "depth": 3,
        "title": "setIsWormholeRelayingEnabled",
        "anchor": "setiswormholerelayingenabled-2"
      },
      {
        "depth": 3,
        "title": "setWormholePeer",
        "anchor": "setwormholepeer-2"
      },
      {
        "depth": 3,
        "title": "transferOwnership",
        "anchor": "transferownership"
      },
      {
        "depth": 3,
        "title": "transferPauserCapability",
        "anchor": "transferpausercapability"
      },
      {
        "depth": 3,
        "title": "transferTransceiverOwnership",
        "anchor": "transfertransceiverownership"
      },
      {
        "depth": 3,
        "title": "upgrade",
        "anchor": "upgrade"
      },
      {
        "depth": 2,
        "title": "Errors",
        "anchor": "errors"
      },
      {
        "depth": 3,
        "title": "CallerNotNttManager",
        "anchor": "callernotnttmanager"
      },
      {
        "depth": 3,
        "title": "CallerNotRelayer",
        "anchor": "callernotrelayer"
      },
      {
        "depth": 3,
        "title": "CannotRenounceTransceiverOwnership",
        "anchor": "cannotrenouncetransceiverownership"
      },
      {
        "depth": 3,
        "title": "CannotTransferTransceiverOwnership",
        "anchor": "cannottransfertransceiverownership"
      },
      {
        "depth": 3,
        "title": "InvalidPauser",
        "anchor": "invalidpauser"
      },
      {
        "depth": 3,
        "title": "InvalidRelayingConfig",
        "anchor": "invalidrelayingconfig"
      },
      {
        "depth": 3,
        "title": "InvalidVaa",
        "anchor": "invalidvaa"
      },
      {
        "depth": 3,
        "title": "InvalidWormholeChainIdZero",
        "anchor": "invalidwormholechainidzero"
      },
      {
        "depth": 3,
        "title": "InvalidWormholePeer",
        "anchor": "invalidwormholepeer"
      },
      {
        "depth": 3,
        "title": "InvalidWormholePeerZeroAddress",
        "anchor": "invalidwormholepeerzeroaddress"
      },
      {
        "depth": 3,
        "title": "NotMigrating",
        "anchor": "notmigrating"
      },
      {
        "depth": 3,
        "title": "OnlyDelegateCall",
        "anchor": "onlydelegatecall"
      },
      {
        "depth": 3,
        "title": "OwnableInvalidOwner",
        "anchor": "ownableinvalidowner"
      },
      {
        "depth": 3,
        "title": "OwnableUnauthorizedAccount",
        "anchor": "ownableunauthorizedaccount"
      },
      {
        "depth": 3,
        "title": "RequireContractIsNotPaused",
        "anchor": "requirecontractisnotpaused"
      },
      {
        "depth": 3,
        "title": "RequireContractIsPaused",
        "anchor": "requirecontractispaused"
      },
      {
        "depth": 3,
        "title": "PeerAlreadySet",
        "anchor": "peeralreadyset"
      },
      {
        "depth": 3,
        "title": "UnexpectedAdditionalMessages",
        "anchor": "unexpectedadditionalmessages"
      },
      {
        "depth": 3,
        "title": "TransferAlreadyCompleted",
        "anchor": "transferalreadycompleted"
      },
      {
        "depth": 3,
        "title": "UnexpectedRecipientNttManagerAddress",
        "anchor": "unexpectedrecipientnttmanageraddress"
      },
      {
        "depth": 3,
        "title": "InvalidFork",
        "anchor": "invalidfork"
      }
    ],
    "stats": {
      "word_count": 3696,
      "token_estimate": 8174,
      "headings": 70,
      "sections_indexed": 70
    },
    "hash": "sha256:a8c406b249d30cd31a824bd69bcd68ffa24bd7bb0112a24505473e68789348d2",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-transceivers-evm.md"
  },
  {
    "id": "products-token-transfers-native-token-transfers-reference-transceivers-solana",
    "title": "Native Token Transfers Transceiver Program (Solana)",
    "slug": "products-token-transfers-native-token-transfers-reference-transceivers-solana",
    "categories": [
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-transceivers-solana.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/native-token-transfers/reference/transceivers/solana/",
    "preview": "The NTT Transceiver program is responsible for sending and receiving messages between chains as part of the NTT protocol on Solana. It supports multiple verification methods and operates alongside the NTT Manager program to enable cross-chain token transfers.",
    "outline": [
      {
        "depth": 2,
        "title": "Structure Overview",
        "anchor": "structure-overview"
      },
      {
        "depth": 2,
        "title": "State Accounts",
        "anchor": "state-accounts"
      },
      {
        "depth": 2,
        "title": "Instructions",
        "anchor": "instructions"
      },
      {
        "depth": 3,
        "title": "broadcast_wormhole_id",
        "anchor": "broadcast_wormhole_id"
      },
      {
        "depth": 3,
        "title": "broadcast_wormhole_peer",
        "anchor": "broadcast_wormhole_peer"
      },
      {
        "depth": 3,
        "title": "receive_wormhole_message",
        "anchor": "receive_wormhole_message"
      },
      {
        "depth": 3,
        "title": "release_wormhole_outbound",
        "anchor": "release_wormhole_outbound"
      },
      {
        "depth": 3,
        "title": "set_wormhole_peer",
        "anchor": "set_wormhole_peer"
      },
      {
        "depth": 3,
        "title": "transceiver_type",
        "anchor": "transceiver_type"
      },
      {
        "depth": 2,
        "title": "Data Structures",
        "anchor": "data-structures"
      },
      {
        "depth": 3,
        "title": "TransceiverPeer",
        "anchor": "transceiverpeer"
      },
      {
        "depth": 3,
        "title": "TransceiverMessage",
        "anchor": "transceivermessage"
      },
      {
        "depth": 3,
        "title": "ChainId",
        "anchor": "chainid"
      },
      {
        "depth": 3,
        "title": "BroadcastPeerArgs",
        "anchor": "broadcastpeerargs"
      },
      {
        "depth": 3,
        "title": "ReleaseOutboundArgs",
        "anchor": "releaseoutboundargs"
      },
      {
        "depth": 3,
        "title": "SetTransceiverPeerArgs",
        "anchor": "settransceiverpeerargs"
      },
      {
        "depth": 2,
        "title": "Constants",
        "anchor": "constants"
      },
      {
        "depth": 3,
        "title": "TRANSCEIVER_TYPE",
        "anchor": "transceiver_type-2"
      }
    ],
    "stats": {
      "word_count": 1128,
      "token_estimate": 2608,
      "headings": 18,
      "sections_indexed": 18
    },
    "hash": "sha256:2418f502fc2b26e9dbb89c11116ba07acc750c75887c0106110b46f14de10ef9",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-native-token-transfers-reference-transceivers-solana.md"
  },
  {
    "id": "products-token-transfers-overview",
    "title": "Token Transfers Overview",
    "slug": "products-token-transfers-overview",
    "categories": [
      "WTT",
      "NTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-overview.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/overview/",
    "preview": "Wormhole Token Transfers let you move assets seamlessly across chains. Developers can choose between [Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank}, which enable direct movement of native tokens, or [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank}, which use a lock-and-mint model for broad compatibility. Both approaches are secured by the Wormhole [Guardians](/docs/pr",
    "outline": [
      {
        "depth": 2,
        "title": "Token Transfers Overview",
        "anchor": "token-transfers-overview"
      },
      {
        "depth": 2,
        "title": "How Token Transfers Work",
        "anchor": "how-token-transfers-work"
      },
      {
        "depth": 2,
        "title": "Choosing Between NTT and WTT",
        "anchor": "choosing-between-ntt-and-wtt"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 787,
      "token_estimate": 1757,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:2e6724c198d8a71670bc7876f0ce13451ed181a1954838c38b9fdb0eda900527",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-overview.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-concepts-payload-structure",
    "title": "Wrapped Token Transfers (WTT) Payload Structure",
    "slug": "products-token-transfers-wrapped-token-transfers-concepts-payload-structure",
    "categories": [
      "WTT",
      "Transfers"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-concepts-payload-structure.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/concepts/payload-structure/",
    "preview": "To enable secure and flexible cross-chain token transfers, the [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} defines a set of standardized payloads. These payloads are embedded in [Verifiable Action Approvals (VAAs)](/docs/protocol/infrastructure/vaas/){target=\\_blank} and processed by bridge contracts on the source and destination chains. Each payload has a unique format and serves a specific role in the lifecycle of token brid",
    "outline": [
      {
        "depth": 2,
        "title": "Transfer",
        "anchor": "transfer"
      },
      {
        "depth": 2,
        "title": "AssetMeta",
        "anchor": "assetmeta"
      },
      {
        "depth": 2,
        "title": "TransferWithPayload",
        "anchor": "transferwithpayload"
      },
      {
        "depth": 2,
        "title": "RegisterChain",
        "anchor": "registerchain"
      },
      {
        "depth": 2,
        "title": "UpgradeContract",
        "anchor": "upgradecontract"
      },
      {
        "depth": 2,
        "title": "Summary of Payload Structure",
        "anchor": "summary-of-payload-structure"
      }
    ],
    "stats": {
      "word_count": 974,
      "token_estimate": 1812,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:c349b34dcecf2cee808437f44790e70f53491559b6cddf2b982341a88b2171c9",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-concepts-payload-structure.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-concepts-transfer-flow",
    "title": "Flow of Wrapped Token Transfers (WTT)",
    "slug": "products-token-transfers-wrapped-token-transfers-concepts-transfer-flow",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-concepts-transfer-flow.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/concepts/transfer-flow/",
    "preview": "The Wormhole [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} enables token transfers across blockchains by combining token-specific logic with [Wormhole's core messaging layer](/docs/protocol/architecture/){target=\\_blank}. Each supported chain runs its own WTT contract, which manages actions such as locking, burning, minting, and releasing tokens. These contracts communicate directly with Wormhole's core message-passing layer to",
    "outline": [
      {
        "depth": 2,
        "title": "Transfer Flow",
        "anchor": "transfer-flow"
      },
      {
        "depth": 2,
        "title": "Automatic vs. Manual Transfers",
        "anchor": "automatic-vs-manual-transfers"
      },
      {
        "depth": 3,
        "title": "Completing Manual Transfers",
        "anchor": "completing-manual-transfers"
      },
      {
        "depth": 2,
        "title": "WTT Relayer (TBR)",
        "anchor": "wtt-relayer-tbr"
      },
      {
        "depth": 3,
        "title": "Flow of an Automatic Transfer via TBR",
        "anchor": "flow-of-an-automatic-transfer-via-tbr"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1389,
      "token_estimate": 2139,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:63527dc8b433369bc642e591cf3c91dffa682edc20169ea205491291418ae2fe",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-concepts-transfer-flow.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-faqs",
    "title": "Wrapped Token Transfers (WTT) FAQs",
    "slug": "products-token-transfers-wrapped-token-transfers-faqs",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-faqs.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/faqs/",
    "preview": "No. Ownership of wrapped token contracts cannot be transferred, because [WTT](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} deploys and retains control of these contracts and tokens.",
    "outline": [
      {
        "depth": 2,
        "title": "Can ownership of wrapped tokens be transferred from the WTT?",
        "anchor": "can-ownership-of-wrapped-tokens-be-transferred-from-the-wtt"
      },
      {
        "depth": 2,
        "title": "How do I update the metadata of a wrapped token?",
        "anchor": "how-do-i-update-the-metadata-of-a-wrapped-token"
      },
      {
        "depth": 2,
        "title": "How do I calculate the current gas costs for Ethereum Mainnet VAA verification?",
        "anchor": "how-do-i-calculate-the-current-gas-costs-for-ethereum-mainnet-vaa-verification"
      },
      {
        "depth": 2,
        "title": "How can I update my wrapped token image on Solscan?",
        "anchor": "how-can-i-update-my-wrapped-token-image-on-solscan"
      }
    ],
    "stats": {
      "word_count": 392,
      "token_estimate": 609,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:7efe360dfac78b68cec2560eb98057fc67fe8bb46d0fa5dbc3afb44aa97b44a4",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-faqs.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-get-started",
    "title": "Get Started with Wrapped Token Transfers (WTT)",
    "slug": "products-token-transfers-wrapped-token-transfers-get-started",
    "categories": [
      "WTT",
      "Transfers"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-get-started.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/get-started/",
    "preview": "Wormhole's [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} enables seamless multichain token transfers by locking tokens on a source chain and minting equivalent wrapped tokens on a destination chain. This mechanism preserves token properties such as name, symbol, and decimal precision across chains.",
    "outline": [
      {
        "depth": 2,
        "title": "Introduction",
        "anchor": "introduction"
      },
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Configure Your Token Transfer Environment",
        "anchor": "configure-your-token-transfer-environment"
      },
      {
        "depth": 2,
        "title": "Perform a Token Transfer",
        "anchor": "perform-a-token-transfer"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1475,
      "token_estimate": 2737,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:5f0f9eaa86a4b225c73bc21e000e0df5b02732004d00d2f516838132d4e53a8c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-get-started.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-guides-attest-tokens",
    "title": "Token Attestation",
    "slug": "products-token-transfers-wrapped-token-transfers-guides-attest-tokens",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-attest-tokens.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/attest-tokens/",
    "preview": "This guide demonstrates token attestation for registering a token for transfer using the [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} protocol. An attestation of the token's metadata (e.g., symbol, name, decimals) ensures consistent handling by the destination chain for ease of multichain interoperability. These steps are only required the first time a token is sent to a particular destination chain.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Set Up Your Development Environment",
        "anchor": "set-up-your-development-environment"
      },
      {
        "depth": 2,
        "title": "Check for a Wrapped Version of a Token",
        "anchor": "check-for-a-wrapped-version-of-a-token"
      },
      {
        "depth": 2,
        "title": "Create Attestation on the Source Chain",
        "anchor": "create-attestation-on-the-source-chain"
      },
      {
        "depth": 2,
        "title": "Submit Attestation on Destination Chain",
        "anchor": "submit-attestation-on-destination-chain"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2598,
      "token_estimate": 4613,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:10ee5b06147692a810a47c549ef650c313a1d31afb8f7bcc3f12aeeb0146fb83",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-attest-tokens.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-guides-fetch-signed-vaa",
    "title": "Fetch a Signed VAA",
    "slug": "products-token-transfers-wrapped-token-transfers-guides-fetch-signed-vaa",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-fetch-signed-vaa.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/fetch-signed-vaa/",
    "preview": "This guide demonstrates how to fetch a signed [Verified Action Approval (VAA)](/docs/protocol/infrastructure/vaas/){target=\\_blank}, first programmatically using the [TypeScript SDK](/docs/tools/typescript-sdk/get-started/){target=\\_blank}, then manually using the [Wormholescan](https://wormholescan.io/){target=\\_blank} explorer. VAA retrieval is a key step in manual messaging and transfer flows. Knowing how to locate a relevant VAA can also help with debugging and monitoring transactions while",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Set Up Your Developer Environment",
        "anchor": "set-up-your-developer-environment"
      },
      {
        "depth": 2,
        "title": "Fetch VAA via TypeScript SDK",
        "anchor": "fetch-vaa-via-typescript-sdk"
      },
      {
        "depth": 2,
        "title": "Fetch VAA via Wormholescan",
        "anchor": "fetch-vaa-via-wormholescan"
      }
    ],
    "stats": {
      "word_count": 769,
      "token_estimate": 1370,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:6411e7aa433446498c87ec28b50bda8792839ae3a8095702496fed13c5529d12",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-fetch-signed-vaa.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-guides-transfer-wrapped-assets",
    "title": "Transfer Wrapped Assets",
    "slug": "products-token-transfers-wrapped-token-transfers-guides-transfer-wrapped-assets",
    "categories": [
      "WTT",
      "Transfer",
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-transfer-wrapped-assets.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/transfer-wrapped-assets/",
    "preview": "This guide demonstrates how to implement [Wrapped Token Transfers (WTT)](/docs/products/token-transfers/wrapped-token-transfers/overview/){target=\\_blank} protocol via the [TypeScript SDK](/docs/tools/typescript-sdk/get-started/){target=\\_blank}. This example will transfer an arbitrary ERC-20 token from Moonbase Alpha to Solana, but can be adapted for any [supported chains](/docs/products/reference/supported-networks/#wtt){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Set Up Your Token Transfer Environment",
        "anchor": "set-up-your-token-transfer-environment"
      },
      {
        "depth": 2,
        "title": "Verify Token Registration (Attestation)",
        "anchor": "verify-token-registration-attestation"
      },
      {
        "depth": 2,
        "title": "Initiate Transfer on Source Chain",
        "anchor": "initiate-transfer-on-source-chain"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      },
      {
        "depth": 2,
        "title": "Recovering Stuck Transfers",
        "anchor": "recovering-stuck-transfers"
      },
      {
        "depth": 3,
        "title": "Using the Recovery Script",
        "anchor": "using-the-recovery-script"
      },
      {
        "depth": 3,
        "title": "When Recovery Might Not Work",
        "anchor": "when-recovery-might-not-work"
      }
    ],
    "stats": {
      "word_count": 3154,
      "token_estimate": 5681,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:13008c82b791cec6da599fe67e42563182a4648d4d70b8f3045495994c32ea91",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-transfer-wrapped-assets.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-guides-wtt-contracts",
    "title": "Get Started with Wrapped Token Transfers (WTT)",
    "slug": "products-token-transfers-wrapped-token-transfers-guides-wtt-contracts",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-wtt-contracts.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/guides/wtt-contracts/",
    "preview": "Wormhole's Wrapped Token Transfers (WTT) enable seamless cross-chain token transfers using a lock-and-mint mechanism. The bridge locks tokens on the source chain and mints them as wrapped assets on the destination chain. Additionally, WTT supports [Token Transfers with Messages](/docs/protocol/infrastructure/vaas/#token-transfer-with-message){target=\\_blank}, where arbitrary byte payloads can be attached to the token transfer, enabling more complex chain interactions.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "How to Interact with WTT Contracts",
        "anchor": "how-to-interact-with-wtt-contracts"
      },
      {
        "depth": 3,
        "title": "Attest a Token",
        "anchor": "attest-a-token"
      },
      {
        "depth": 3,
        "title": "Transfer Tokens",
        "anchor": "transfer-tokens"
      },
      {
        "depth": 3,
        "title": "Transfer Tokens with Payload",
        "anchor": "transfer-tokens-with-payload"
      },
      {
        "depth": 2,
        "title": "Source Code References",
        "anchor": "source-code-references"
      },
      {
        "depth": 2,
        "title": "Portal Bridge",
        "anchor": "portal-bridge"
      }
    ],
    "stats": {
      "word_count": 1266,
      "token_estimate": 2049,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:77640a64d67740bd0967ecd6ea5fb8ce3fcd1c42c12ad7e25371a7edac1f6838",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-guides-wtt-contracts.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-overview",
    "title": "Wrapped Token Transfers (WTT) Overview",
    "slug": "products-token-transfers-wrapped-token-transfers-overview",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-overview.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/overview/",
    "preview": "Wrapped Token Transfers (WTT) is a Wormhole module for bridging wrapped tokens across various blockchain networks. Locking assets on one network and minting corresponding wrapped tokens on another facilitates secure, efficient, and composable multichain token movement.",
    "outline": [
      {
        "depth": 2,
        "title": "Wrapped Token Transfers Overview",
        "anchor": "wrapped-token-transfers-overview"
      },
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "How It Works",
        "anchor": "how-it-works"
      },
      {
        "depth": 2,
        "title": "Use Cases",
        "anchor": "use-cases"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 650,
      "token_estimate": 1150,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:76727055114431e78aa51362b6b4f80c66403441d8c847e693eee0cf19e07f76",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-overview.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-portal-faqs",
    "title": "Portal Bridge FAQs",
    "slug": "products-token-transfers-wrapped-token-transfers-portal-faqs",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-portal-faqs.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/portal/faqs/",
    "preview": "You can create a direct link to pre-fill chain and asset selections on [Portal Bridge](https://portalbridge.com){target=\\_blank} using URL parameters.",
    "outline": [
      {
        "depth": 2,
        "title": "How do I use deep-linking with Portal?",
        "anchor": "how-do-i-use-deep-linking-with-portal"
      },
      {
        "depth": 2,
        "title": "What does the \"Send to a wallet address\" field do?",
        "anchor": "what-does-the-send-to-a-wallet-address-field-do"
      },
      {
        "depth": 2,
        "title": "Why is the token that I deployed using the WTT / NTT framework not showing up in the Portal Bridge UI?",
        "anchor": "why-is-the-token-that-i-deployed-using-the-wtt-ntt-framework-not-showing-up-in-the-portal-bridge-ui"
      },
      {
        "depth": 2,
        "title": "Why is my CCTP transfer stuck and can't be redeemed?",
        "anchor": "why-is-my-cctp-transfer-stuck-and-cant-be-redeemed"
      }
    ],
    "stats": {
      "word_count": 526,
      "token_estimate": 927,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:fb252a5172b4b7b477ded842024278e12964cf733c73d7e451cd44e2d7770a2e",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-portal-faqs.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-reference-supported-networks",
    "title": "Wrapped Token Transfers (WTT) Supported Networks",
    "slug": "products-token-transfers-wrapped-token-transfers-reference-supported-networks",
    "categories": [
      "WTT",
      "Transfer"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-reference-supported-networks.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/reference/supported-networks/",
    "preview": "<div class=\"full-width\" markdown>",
    "outline": [],
    "stats": {
      "word_count": 2190,
      "token_estimate": 5962,
      "headings": 0,
      "sections_indexed": 0
    },
    "hash": "sha256:daaa1aceb5fabaaffea60d8d9c79b03668cbaea4fbe60df8865db4f033cb0f23",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-reference-supported-networks.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-tutorials-multichain-token",
    "title": "Create Multichain Tokens",
    "slug": "products-token-transfers-wrapped-token-transfers-tutorials-multichain-token",
    "categories": [
      "WTT",
      "Transfers"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-tutorials-multichain-token.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/tutorials/multichain-token/",
    "preview": "Blockchain ecosystems are becoming increasingly interconnected, with assets often needing to exist across multiple networks to maximize their utility and reach. For example, tokens created on one chain may want to expand to others to tap into broader audiences and liquidity pools.",
    "outline": [
      {
        "depth": 2,
        "title": "Register the Token on the Source Chain",
        "anchor": "register-the-token-on-the-source-chain"
      },
      {
        "depth": 2,
        "title": "Register the Token on the Target Chain",
        "anchor": "register-the-token-on-the-target-chain"
      },
      {
        "depth": 2,
        "title": "Send an Attestation",
        "anchor": "send-an-attestation"
      },
      {
        "depth": 2,
        "title": "Create a Wrapped Token",
        "anchor": "create-a-wrapped-token"
      },
      {
        "depth": 2,
        "title": "Additional Steps and Recommendations",
        "anchor": "additional-steps-and-recommendations"
      },
      {
        "depth": 3,
        "title": "Update Metadata on Blockchain Explorers",
        "anchor": "update-metadata-on-blockchain-explorers"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 878,
      "token_estimate": 1313,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:39b93d871300e1e0543010359038842003a78b5a5489972002644c81827e6b6c",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-tutorials-multichain-token.md"
  },
  {
    "id": "products-token-transfers-wrapped-token-transfers-tutorials-transfer-workflow",
    "title": "Transfer Tokens via Wrapped Token Transfers (WTT) Tutorial",
    "slug": "products-token-transfers-wrapped-token-transfers-tutorials-transfer-workflow",
    "categories": [
      "WTT",
      "Transfers"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-tutorials-transfer-workflow.md",
    "html_url": "https://wormhole.com/docs/products/token-transfers/wrapped-token-transfers/tutorials/transfer-workflow/",
    "preview": ":simple-github: [Source code on GitHub](https://github.com/wormhole-foundation/demo-basic-ts-sdk/){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "Supported Chains",
        "anchor": "supported-chains"
      },
      {
        "depth": 2,
        "title": "Project Setup",
        "anchor": "project-setup"
      },
      {
        "depth": 2,
        "title": "Check and Create Wrapped Tokens",
        "anchor": "check-and-create-wrapped-tokens"
      },
      {
        "depth": 3,
        "title": "Configure the Wrapped Token Script",
        "anchor": "configure-the-wrapped-token-script"
      },
      {
        "depth": 3,
        "title": "Run the Wrapped Token Creation",
        "anchor": "run-the-wrapped-token-creation"
      },
      {
        "depth": 2,
        "title": "Token Transfers",
        "anchor": "token-transfers"
      },
      {
        "depth": 3,
        "title": "Configure Transfer Details",
        "anchor": "configure-transfer-details"
      },
      {
        "depth": 3,
        "title": "Token Transfer Logic",
        "anchor": "token-transfer-logic"
      },
      {
        "depth": 3,
        "title": "Run the Native Token Transfer",
        "anchor": "run-the-native-token-transfer"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 3943,
      "token_estimate": 6885,
      "headings": 13,
      "sections_indexed": 13
    },
    "hash": "sha256:e0fa5296877bc124376ecd932b947e454ca9e2f61153244e27ad30f08e422fb7",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/products-token-transfers-wrapped-token-transfers-tutorials-transfer-workflow.md"
  },
  {
    "id": "protocol-architecture",
    "title": "Architecture",
    "slug": "protocol-architecture",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-architecture.md",
    "html_url": "https://wormhole.com/docs/protocol/architecture/",
    "preview": "Wormhole has several noteworthy components. Before discussing each component in depth, this page will provide an overview of how the major pieces fit together.",
    "outline": [
      {
        "depth": 2,
        "title": "On-Chain Components",
        "anchor": "on-chain-components"
      },
      {
        "depth": 2,
        "title": "Off-Chain Components",
        "anchor": "off-chain-components"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 721,
      "token_estimate": 1127,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:0652f2b155809289bcc091c7dabd1b69057178e1b36c34dc35ae030aa0821b0b",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-architecture.md"
  },
  {
    "id": "protocol-ecosystem",
    "title": "Ecosystem",
    "slug": "protocol-ecosystem",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-ecosystem.md",
    "html_url": "https://wormhole.com/docs/protocol/ecosystem/",
    "preview": "[Wormhole](/docs/protocol/introduction/){target=\\_blank} is a cross-chain messaging protocol connecting decentralized applications across multiple blockchains. It offers a suite of interoperability tools, each addressing different multichain challenges, and allows developers to mix and match these products as needed.",
    "outline": [
      {
        "depth": 2,
        "title": "Ecosystem Overview",
        "anchor": "ecosystem-overview"
      },
      {
        "depth": 2,
        "title": "Bringing It All Together: Interoperability in Action",
        "anchor": "bringing-it-all-together-interoperability-in-action"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 564,
      "token_estimate": 909,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:9ef74120845d501e0d327ba0be9165193452712eb1a5439144d27223f0ae05e9",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-ecosystem.md"
  },
  {
    "id": "protocol-infrastructure-guides-cctp-executor",
    "title": "Integrate CCTP with Executor",
    "slug": "protocol-infrastructure-guides-cctp-executor",
    "categories": [
      "CCTP",
      "Transfer",
      "Executor"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-cctp-executor.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure-guides/cctp-executor/",
    "preview": "The [Executor](/docs/protocol/infrastructure/relayers/executor-framework/){target=\\_blank} extends Circle’s [Cross-Chain Transfer Protocol (CCTP)](/docs/products/cctp-bridge/overview/){target=\\_blank} by enabling permissionless, quote-based relaying and execution of USDC burns and redeems. Instead of relying on a dedicated relayer, applications obtain a signed quote from an open network of relay providers, which then perform the redeem and, optionally, the follow-up execution on the destination",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "References",
        "anchor": "references"
      },
      {
        "depth": 2,
        "title": "Generate Relay Instructions",
        "anchor": "generate-relay-instructions"
      },
      {
        "depth": 3,
        "title": "EVM",
        "anchor": "evm"
      },
      {
        "depth": 3,
        "title": "SVM",
        "anchor": "svm"
      },
      {
        "depth": 3,
        "title": "Sui",
        "anchor": "sui"
      },
      {
        "depth": 2,
        "title": "Request a Signed Quote",
        "anchor": "request-a-signed-quote"
      },
      {
        "depth": 2,
        "title": "Call Sending Contract",
        "anchor": "call-sending-contract"
      },
      {
        "depth": 3,
        "title": "EVM",
        "anchor": "evm-2"
      },
      {
        "depth": 3,
        "title": "SVM with CCTPv1",
        "anchor": "svm-with-cctpv1"
      },
      {
        "depth": 3,
        "title": "SVM with CCTPv2",
        "anchor": "svm-with-cctpv2"
      },
      {
        "depth": 3,
        "title": "Sui",
        "anchor": "sui-2"
      },
      {
        "depth": 2,
        "title": "Check the Transaction Status",
        "anchor": "check-the-transaction-status"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2788,
      "token_estimate": 5514,
      "headings": 15,
      "sections_indexed": 15
    },
    "hash": "sha256:4236b7291cfa137f772d6b5f098177a0feb7d2a7bb369fd9e0b2024fefdfce03",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-cctp-executor.md"
  },
  {
    "id": "protocol-infrastructure-guides-ntt-executor",
    "title": "Integrate Native Token Transfers with Executor",
    "slug": "protocol-infrastructure-guides-ntt-executor",
    "categories": [
      "NTT",
      "Transfer",
      "Executor"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-ntt-executor.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure-guides/ntt-executor/",
    "preview": "The [Executor](/docs/protocol/infrastructure/relayers/executor-framework/){target=\\_blank} extends [Native Token Transfers (NTT)](/docs/products/token-transfers/native-token-transfers/overview/){target=\\_blank} by enabling permissionless, quote-based relaying and cross-chain execution. Instead of relying on a dedicated relayer, applications can now request a signed quote from an open network of relay providers to automatically complete token redemptions on supported destination chains.",
    "outline": [
      {
        "depth": 2,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 2,
        "title": "References",
        "anchor": "references"
      },
      {
        "depth": 2,
        "title": "Generate Relay Instructions",
        "anchor": "generate-relay-instructions"
      },
      {
        "depth": 3,
        "title": "EVM",
        "anchor": "evm"
      },
      {
        "depth": 3,
        "title": "SVM",
        "anchor": "svm"
      },
      {
        "depth": 2,
        "title": "Request a Signed Quote",
        "anchor": "request-a-signed-quote"
      },
      {
        "depth": 2,
        "title": "Call Sending Contract",
        "anchor": "call-sending-contract"
      },
      {
        "depth": 3,
        "title": "EVM",
        "anchor": "evm-2"
      },
      {
        "depth": 3,
        "title": "SVM",
        "anchor": "svm-2"
      },
      {
        "depth": 2,
        "title": "Check the Transaction Status",
        "anchor": "check-the-transaction-status"
      },
      {
        "depth": 2,
        "title": "Conclusion",
        "anchor": "conclusion"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2179,
      "token_estimate": 3996,
      "headings": 12,
      "sections_indexed": 12
    },
    "hash": "sha256:54f8b6bed2c529d84a43ce81596133911706911608a71e725c370907422ed408",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-ntt-executor.md"
  },
  {
    "id": "protocol-infrastructure-guides-run-spy",
    "title": "Run a Spy",
    "slug": "protocol-infrastructure-guides-run-spy",
    "categories": [],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-run-spy.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure-guides/run-spy/",
    "preview": "The Spy is a lightweight component in the Wormhole infrastructure designed to listen for and forward messages (Verifiable Action Approvals (VAAs)) published on the Wormhole network. Running a Spy locally allows developers to subscribe to a filtered stream of these messages, facilitating the development of custom relayers or other integrations with Wormhole.",
    "outline": [
      {
        "depth": 2,
        "title": "How to Start a Spy",
        "anchor": "how-to-start-a-spy"
      },
      {
        "depth": 2,
        "title": "Subscribe to Filtered VAAs",
        "anchor": "subscribe-to-filtered-vaas"
      },
      {
        "depth": 2,
        "title": "Data Persistence",
        "anchor": "data-persistence"
      }
    ],
    "stats": {
      "word_count": 366,
      "token_estimate": 646,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:96ede6520160f2588490a0edeafbcee835ea717e41346b59c60c349b886e8ae3",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guides-run-spy.md"
  },
  {
    "id": "protocol-infrastructure-core-contracts",
    "title": "Core Contracts",
    "slug": "protocol-infrastructure-core-contracts",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-core-contracts.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/core-contracts/",
    "preview": "The Wormhole Core Contract is deployed across each supported blockchain network. This contract is a fundamental component of the Wormhole interoperability protocol and acts as the foundational layer enabling secure and efficient multichain messaging. All multichain applications either interact directly with the Core Contract or with another contract that does.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Functions",
        "anchor": "key-functions"
      },
      {
        "depth": 2,
        "title": "How the Core Contract Works",
        "anchor": "how-the-core-contract-works"
      },
      {
        "depth": 3,
        "title": "Message Submission",
        "anchor": "message-submission"
      },
      {
        "depth": 3,
        "title": "Message Reception",
        "anchor": "message-reception"
      },
      {
        "depth": 2,
        "title": "Multicast",
        "anchor": "multicast"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1040,
      "token_estimate": 1399,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:9f236f5356ee7e241c375b060e3d735a554072b66b7f650fbca4ceaa92987ce4",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-core-contracts.md"
  },
  {
    "id": "protocol-infrastructure-guardians",
    "title": "Guardians",
    "slug": "protocol-infrastructure-guardians",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guardians.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/guardians/",
    "preview": "Wormhole relies on a set of 19 distributed nodes called Guardians that monitor the state on several blockchains. The current Guardian set can be seen in the [Dashboard](https://wormhole-foundation.github.io/wormhole-dashboard/#/?endpoint=Mainnet){target=\\_blank}. Depending on the chain's operational configuration, messages may be observed directly by all Guardians or by a delegated subset of Guardians. Regardless of how observations are collected, all [Verifiable Action Approvals](/docs/protocol",
    "outline": [
      {
        "depth": 2,
        "title": "Guardian Sets and Delegation",
        "anchor": "guardian-sets-and-delegation"
      },
      {
        "depth": 3,
        "title": "Delegated Observation Flow",
        "anchor": "delegated-observation-flow"
      },
      {
        "depth": 3,
        "title": "Delegate Quorum Safeguards",
        "anchor": "delegate-quorum-safeguards"
      },
      {
        "depth": 2,
        "title": "Guardian Network",
        "anchor": "guardian-network"
      },
      {
        "depth": 3,
        "title": "Decentralization",
        "anchor": "decentralization"
      },
      {
        "depth": 3,
        "title": "Modularity",
        "anchor": "modularity"
      },
      {
        "depth": 3,
        "title": "Chain Agnosticism",
        "anchor": "chain-agnosticism"
      },
      {
        "depth": 3,
        "title": "Scalability",
        "anchor": "scalability"
      },
      {
        "depth": 3,
        "title": "Upgradeable",
        "anchor": "upgradeable"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1598,
      "token_estimate": 2170,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:5292978ac0b74823e2898f6c376a62a727026c387d36c7c6f1502fbac6426131",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-guardians.md"
  },
  {
    "id": "protocol-infrastructure-relayers-executor-framework",
    "title": "Executor Framework",
    "slug": "protocol-infrastructure-relayers-executor-framework",
    "categories": [
      "Basics",
      "Executor"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-executor-framework.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/relayers/executor-framework/",
    "preview": "The Executor is a shared execution framework that delivers Wormhole messages across chains. It standardizes how message execution is requested, quoted, and performed, enabling any service or protocol to execute messages permissionlessly through on-chain contracts.",
    "outline": [
      {
        "depth": 2,
        "title": "Architecture and Components",
        "anchor": "architecture-and-components"
      },
      {
        "depth": 2,
        "title": "Execution Lifecycle",
        "anchor": "execution-lifecycle"
      },
      {
        "depth": 3,
        "title": "Request Flow",
        "anchor": "request-flow"
      },
      {
        "depth": 3,
        "title": "Result Flow",
        "anchor": "result-flow"
      },
      {
        "depth": 2,
        "title": "On-Chain Quote Resolution",
        "anchor": "on-chain-quote-resolution"
      },
      {
        "depth": 3,
        "title": "Quoter Governance",
        "anchor": "quoter-governance"
      },
      {
        "depth": 2,
        "title": "Executor Contract",
        "anchor": "executor-contract"
      },
      {
        "depth": 2,
        "title": "Relay Provider",
        "anchor": "relay-provider"
      },
      {
        "depth": 2,
        "title": "Security Considerations",
        "anchor": "security-considerations"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2027,
      "token_estimate": 3009,
      "headings": 11,
      "sections_indexed": 11
    },
    "hash": "sha256:a43986f9b4244372fa93967f6214b88284157c267bc8ac3ad005f77a4be4e02d",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-executor-framework.md"
  },
  {
    "id": "protocol-infrastructure-relayers-executor-vs-sr",
    "title": "Standard Relayer to Executor Migration",
    "slug": "protocol-infrastructure-relayers-executor-vs-sr",
    "categories": [
      "Executor"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-executor-vs-sr.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/relayers/executor-vs-sr/",
    "preview": "This page explains the practical differences between the [Executor framework](/docs/protocol/infrastructure/relayers/executor-framework/){target=\\_blank} and the Legacy Standard Relayer, focusing on how quoting, payments, and message handling differ. It is intended for teams currently integrating with the Standard Relayer who are transitioning to the Executor-based flow.",
    "outline": [
      {
        "depth": 2,
        "title": "Quoting, Payment, and Refunds",
        "anchor": "quoting-payment-and-refunds"
      },
      {
        "depth": 2,
        "title": "VAA Verification",
        "anchor": "vaa-verification"
      },
      {
        "depth": 2,
        "title": "Replay Protection and Finality",
        "anchor": "replay-protection-and-finality"
      },
      {
        "depth": 2,
        "title": "Delivery Behavior",
        "anchor": "delivery-behavior"
      },
      {
        "depth": 2,
        "title": "Migration Notes",
        "anchor": "migration-notes"
      },
      {
        "depth": 2,
        "title": "Migration for Wormhole Connect Integrators",
        "anchor": "migration-for-wormhole-connect-integrators"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1205,
      "token_estimate": 2064,
      "headings": 7,
      "sections_indexed": 7
    },
    "hash": "sha256:e3fc7863ebff9b8ff5061a097c2ea5dc527d9c3609aad123f1c4d32f780fd522",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-executor-vs-sr.md"
  },
  {
    "id": "protocol-infrastructure-relayers-relayer",
    "title": "Relayers Overview",
    "slug": "protocol-infrastructure-relayers-relayer",
    "categories": [
      "Basics",
      "Executor"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-relayer.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/relayers/relayer/",
    "preview": "!!!warning The Wormhole Standard Relayer is being deprecated. Developers are strongly encouraged to [migrate to the Executor framework](/docs/protocol/infrastructure/relayers/executor-vs-sr/){target=\\_blank}.",
    "outline": [
      {
        "depth": 2,
        "title": "Fundamentals",
        "anchor": "fundamentals"
      },
      {
        "depth": 2,
        "title": "Manual vs. Automated Relaying",
        "anchor": "manual-vs-automated-relaying"
      },
      {
        "depth": 2,
        "title": "Executor",
        "anchor": "executor"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 810,
      "token_estimate": 1145,
      "headings": 4,
      "sections_indexed": 4
    },
    "hash": "sha256:43ea7aa343cd48b6d5e997a24370928a4e135ff016503784431df1a42040f641",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-relayers-relayer.md"
  },
  {
    "id": "protocol-infrastructure-spy",
    "title": "Spy",
    "slug": "protocol-infrastructure-spy",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-spy.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/spy/",
    "preview": "In Wormhole's ecosystem, the _Spy_ is a daemon, a continuously running background process that monitors messages within the Guardian Network. Unlike Guardians, a Spy doesn't perform validation; instead, it serves as an interface for observing the network's message traffic, enabling applications and users to access live data transmitted over Wormhole.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Features",
        "anchor": "key-features"
      },
      {
        "depth": 2,
        "title": "Integrator Use Case",
        "anchor": "integrator-use-case"
      },
      {
        "depth": 2,
        "title": "Observable Message Categories",
        "anchor": "observable-message-categories"
      },
      {
        "depth": 2,
        "title": "Additional Resources",
        "anchor": "additional-resources"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 747,
      "token_estimate": 1153,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:397e6a6f7fe164f13a19b7e1f0014308f3ce0744163f1540ad1b2a514b0dda91",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-spy.md"
  },
  {
    "id": "protocol-infrastructure-vaas",
    "title": "VAAs",
    "slug": "protocol-infrastructure-vaas",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-vaas.md",
    "html_url": "https://wormhole.com/docs/protocol/infrastructure/vaas/",
    "preview": "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.",
    "outline": [
      {
        "depth": 2,
        "title": "VAA Format",
        "anchor": "vaa-format"
      },
      {
        "depth": 2,
        "title": "Consistency and Finality",
        "anchor": "consistency-and-finality"
      },
      {
        "depth": 2,
        "title": "Signatures",
        "anchor": "signatures"
      },
      {
        "depth": 2,
        "title": "Payload Types",
        "anchor": "payload-types"
      },
      {
        "depth": 3,
        "title": "Token Transfer",
        "anchor": "token-transfer"
      },
      {
        "depth": 3,
        "title": "Attestation",
        "anchor": "attestation"
      },
      {
        "depth": 3,
        "title": "Token Transfer with Message",
        "anchor": "token-transfer-with-message"
      },
      {
        "depth": 3,
        "title": "Governance",
        "anchor": "governance"
      },
      {
        "depth": 2,
        "title": "Lifetime of a Message",
        "anchor": "lifetime-of-a-message"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 2154,
      "token_estimate": 3321,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:ced567a628daa4147e6f1778ce62db153e235d8e5e079b9de40ffb0effaabbaf",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-infrastructure-vaas.md"
  },
  {
    "id": "protocol-introduction",
    "title": "Introduction to Wormhole",
    "slug": "protocol-introduction",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-introduction.md",
    "html_url": "https://wormhole.com/docs/protocol/introduction/",
    "preview": "In the rapidly evolving landscape of blockchain technology, interoperability between different blockchains remains a significant challenge. Developers often face hurdles in creating applications that can seamlessly operate across multiple blockchains, limiting innovation and the potential of decentralized ecosystems.",
    "outline": [
      {
        "depth": 2,
        "title": "What Problems Does Wormhole Solve?",
        "anchor": "what-problems-does-wormhole-solve"
      },
      {
        "depth": 2,
        "title": "What Does Wormhole Offer?",
        "anchor": "what-does-wormhole-offer"
      },
      {
        "depth": 2,
        "title": "What Isn't Wormhole?",
        "anchor": "what-isnt-wormhole"
      },
      {
        "depth": 2,
        "title": "Use Cases of Wormhole",
        "anchor": "use-cases-of-wormhole"
      },
      {
        "depth": 2,
        "title": "Explore",
        "anchor": "explore"
      },
      {
        "depth": 2,
        "title": "Demos",
        "anchor": "demos"
      },
      {
        "depth": 2,
        "title": "Supported Networks by Product",
        "anchor": "supported-networks-by-product"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 885,
      "token_estimate": 1389,
      "headings": 8,
      "sections_indexed": 8
    },
    "hash": "sha256:28b14ad6b5107a478c7b6df95087fd2103dfa249be2f7585f7c27323ed667c53",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-introduction.md"
  },
  {
    "id": "protocol-security",
    "title": "Security",
    "slug": "protocol-security",
    "categories": [
      "Basics"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/protocol-security.md",
    "html_url": "https://wormhole.com/docs/protocol/security/",
    "preview": "At its core, Wormhole is secured by a network of [Guardian](/docs/protocol/infrastructure/guardians/){target=\\_blank} nodes that validate and sign messages. If a super majority (e.g., 13 out of 19) of Guardians sign the same message, it can be considered valid. A smart contract on the target chain will verify the signatures and format of the message before approving any transaction.",
    "outline": [
      {
        "depth": 2,
        "title": "Core Security Assumptions",
        "anchor": "core-security-assumptions"
      },
      {
        "depth": 2,
        "title": "Guardian Network",
        "anchor": "guardian-network"
      },
      {
        "depth": 3,
        "title": "Governance",
        "anchor": "governance"
      },
      {
        "depth": 2,
        "title": "Monitoring",
        "anchor": "monitoring"
      },
      {
        "depth": 2,
        "title": "Asset Layer Protections",
        "anchor": "asset-layer-protections"
      },
      {
        "depth": 2,
        "title": "Open Source",
        "anchor": "open-source"
      },
      {
        "depth": 2,
        "title": "Audits",
        "anchor": "audits"
      },
      {
        "depth": 2,
        "title": "Bug Bounties",
        "anchor": "bug-bounties"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1268,
      "token_estimate": 1909,
      "headings": 9,
      "sections_indexed": 9
    },
    "hash": "sha256:6fa19187d2934460cf7901d69869ee3d3f2c3d7c08433a644fa7f054c4f97355",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/protocol-security.md"
  },
  {
    "id": "tools-cli-get-started",
    "title": "Wormhole CLI",
    "slug": "tools-cli-get-started",
    "categories": [
      "Solidity-SDK",
      "Typescript-SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-cli-get-started.md",
    "html_url": "https://wormhole.com/docs/tools/cli/get-started/",
    "preview": "This tool is a command-line interface to Wormhole, allowing you to perform various actions, such as querying a transaction's status or submitting token transfers.",
    "outline": [
      {
        "depth": 2,
        "title": "Installation",
        "anchor": "installation"
      },
      {
        "depth": 2,
        "title": "Usage",
        "anchor": "usage"
      },
      {
        "depth": 3,
        "title": "Subcommands",
        "anchor": "subcommands"
      }
    ],
    "stats": {
      "word_count": 1567,
      "token_estimate": 3405,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:8ab48dba17bb668bb789c7b51f00368cd1f2290514cc535538be50594e503c02",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-cli-get-started.md"
  },
  {
    "id": "tools-dev-env",
    "title": "Local Dev Environment",
    "slug": "tools-dev-env",
    "categories": [
      "Solidity-SDK",
      "Typescript-SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-dev-env.md",
    "html_url": "https://wormhole.com/docs/tools/dev-env/",
    "preview": "Developers building for smart contract integration will want to set up a development environment to allow testing the full integration, possibly including VAA generation and relaying.",
    "outline": [
      {
        "depth": 2,
        "title": "Tooling Installation",
        "anchor": "tooling-installation"
      },
      {
        "depth": 2,
        "title": "Development Stages",
        "anchor": "development-stages"
      },
      {
        "depth": 3,
        "title": "Initial Development",
        "anchor": "initial-development"
      },
      {
        "depth": 3,
        "title": "Integration",
        "anchor": "integration"
      },
      {
        "depth": 3,
        "title": "Prepare for Deployment",
        "anchor": "prepare-for-deployment"
      },
      {
        "depth": 2,
        "title": "Validator Setup with Tilt",
        "anchor": "validator-setup-with-tilt"
      },
      {
        "depth": 3,
        "title": "Tilt",
        "anchor": "tilt"
      },
      {
        "depth": 2,
        "title": "Deploying to Public Networks",
        "anchor": "deploying-to-public-networks"
      },
      {
        "depth": 3,
        "title": "Testnet",
        "anchor": "testnet"
      },
      {
        "depth": 3,
        "title": "Mainnet",
        "anchor": "mainnet"
      }
    ],
    "stats": {
      "word_count": 659,
      "token_estimate": 994,
      "headings": 10,
      "sections_indexed": 10
    },
    "hash": "sha256:19b5de9f377aaecacc1735913ec3c973182a64e5d42d4af560c779125b65ebf5",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-dev-env.md"
  },
  {
    "id": "tools-faqs",
    "title": "Toolkit FAQs",
    "slug": "tools-faqs",
    "categories": [
      "Solidity-SDK",
      "Typescript-SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-faqs.md",
    "html_url": "https://wormhole.com/docs/tools/faqs/",
    "preview": "The `toNative` function may return an error if the platform-specific module (such as Solana or EVM) is not correctly imported or passed into the Wormhole constructor.",
    "outline": [
      {
        "depth": 2,
        "title": "Why does the `toNative` function in the TypeScript SDK return an error?",
        "anchor": "why-does-the-tonative-function-in-the-typescript-sdk-return-an-error"
      },
      {
        "depth": 2,
        "title": "How can I retrieve the history of previously bridged transactions?",
        "anchor": "how-can-i-retrieve-the-history-of-previously-bridged-transactions"
      },
      {
        "depth": 2,
        "title": "How can I manually submit a VAA to a destination chain in the correct format?",
        "anchor": "how-can-i-manually-submit-a-vaa-to-a-destination-chain-in-the-correct-format"
      }
    ],
    "stats": {
      "word_count": 429,
      "token_estimate": 664,
      "headings": 3,
      "sections_indexed": 3
    },
    "hash": "sha256:6f44ad82f0c6f864629b9e789845766c3a3535ee57557f69a652b9d41baa917a",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-faqs.md"
  },
  {
    "id": "tools-typescript-sdk-get-started",
    "title": "Get Started with the TypeScript SDK",
    "slug": "tools-typescript-sdk-get-started",
    "categories": [
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-get-started.md",
    "html_url": "https://wormhole.com/docs/tools/typescript-sdk/get-started/",
    "preview": ":simple-github: [Repository on GitHub](https://github.com/wormhole-foundation/wormhole-sdk-ts){target=\\_blank}",
    "outline": [
      {
        "depth": 2,
        "title": "Install the SDK",
        "anchor": "install-the-sdk"
      },
      {
        "depth": 2,
        "title": "Initialize the SDK",
        "anchor": "initialize-the-sdk"
      },
      {
        "depth": 2,
        "title": "Example Usage",
        "anchor": "example-usage"
      },
      {
        "depth": 3,
        "title": "Prerequisites",
        "anchor": "prerequisites"
      },
      {
        "depth": 3,
        "title": "Fetch Chain Information",
        "anchor": "fetch-chain-information"
      },
      {
        "depth": 2,
        "title": "Next Steps",
        "anchor": "next-steps"
      }
    ],
    "stats": {
      "word_count": 1282,
      "token_estimate": 2457,
      "headings": 6,
      "sections_indexed": 6
    },
    "hash": "sha256:cf18b2ffdc7ace5a3424ad2964560b56c53f18ef46c90d97a4a1d86bae07a162",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-get-started.md"
  },
  {
    "id": "tools-typescript-sdk-guides-protocols-payloads",
    "title": "Building Protocols and Payloads",
    "slug": "tools-typescript-sdk-guides-protocols-payloads",
    "categories": [
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-protocols-payloads.md",
    "html_url": "https://wormhole.com/docs/tools/typescript-sdk/guides/protocols-payloads/",
    "preview": "The [Wormhole TypeScript SDK](https://github.com/wormhole-foundation/wormhole-sdk-ts){target=\\_blank} provides a flexible and powerful system for integrating cross-chain communication into your applications. A key feature of the SDK is its ability to define protocols—modular units representing distinct functionalities—and their associated payloads, which encapsulate the data required for specific operations within those protocols.",
    "outline": [
      {
        "depth": 2,
        "title": "What is a Protocol?",
        "anchor": "what-is-a-protocol"
      },
      {
        "depth": 2,
        "title": "What is a Payload?",
        "anchor": "what-is-a-payload"
      },
      {
        "depth": 2,
        "title": "Register Protocols and Payloads",
        "anchor": "register-protocols-and-payloads"
      },
      {
        "depth": 3,
        "title": "Register Protocols",
        "anchor": "register-protocols"
      },
      {
        "depth": 3,
        "title": "Register Payloads",
        "anchor": "register-payloads"
      },
      {
        "depth": 2,
        "title": "Integrate Protocols with Payloads",
        "anchor": "integrate-protocols-with-payloads"
      },
      {
        "depth": 3,
        "title": "Payload Discriminators",
        "anchor": "payload-discriminators"
      },
      {
        "depth": 3,
        "title": "Real-World Example: Wrapped Token Transfers (WTT) Protocol",
        "anchor": "real-world-example-wrapped-token-transfers-wtt-protocol"
      },
      {
        "depth": 3,
        "title": "Other Protocols: Native Token Transfers (NTT)",
        "anchor": "other-protocols-native-token-transfers-ntt"
      }
    ],
    "stats": {
      "word_count": 1936,
      "token_estimate": 3230,
      "headings": 9,
      "sections_indexed": 9
    },
    "hash": "sha256:db56ea291b1cef2390a532efb4ec550120011a0f0a79f59ea9a170eec576b75a",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-protocols-payloads.md"
  },
  {
    "id": "tools-typescript-sdk-guides-sdk-layout",
    "title": "Data Layouts",
    "slug": "tools-typescript-sdk-guides-sdk-layout",
    "categories": [
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-sdk-layout.md",
    "html_url": "https://wormhole.com/docs/tools/typescript-sdk/guides/sdk-layout/",
    "preview": "The [Wormhole SDK](https://github.com/wormhole-foundation/wormhole-sdk-ts){target=\\_blank} uses the [layout package](https://www.npmjs.com/package/binary-layout){target=\\_blank} to define, serialize, and deserialize data structures efficiently. This modular system ensures consistent data formatting and cross-environment compatibility, benefiting projects that require robust handling of structured data.",
    "outline": [
      {
        "depth": 2,
        "title": "Key Concepts",
        "anchor": "key-concepts"
      },
      {
        "depth": 3,
        "title": "Layout Items",
        "anchor": "layout-items"
      },
      {
        "depth": 3,
        "title": "Serialization and Deserialization",
        "anchor": "serialization-and-deserialization"
      },
      {
        "depth": 3,
        "title": "Custom Conversions",
        "anchor": "custom-conversions"
      },
      {
        "depth": 3,
        "title": "Error Handling",
        "anchor": "error-handling"
      },
      {
        "depth": 2,
        "title": "Application of Layouts",
        "anchor": "application-of-layouts"
      },
      {
        "depth": 3,
        "title": "Defining Layouts",
        "anchor": "defining-layouts"
      },
      {
        "depth": 3,
        "title": "Serialize Data",
        "anchor": "serialize-data"
      },
      {
        "depth": 3,
        "title": "Deserialize Data",
        "anchor": "deserialize-data"
      },
      {
        "depth": 3,
        "title": "Handling Variable-Length Fields",
        "anchor": "handling-variable-length-fields"
      },
      {
        "depth": 2,
        "title": "Nested Layouts and Strong Typing",
        "anchor": "nested-layouts-and-strong-typing"
      },
      {
        "depth": 3,
        "title": "Nested Layout",
        "anchor": "nested-layout"
      },
      {
        "depth": 3,
        "title": "Strong Typing",
        "anchor": "strong-typing"
      },
      {
        "depth": 3,
        "title": "Serialization and Deserialization with Nested Layouts",
        "anchor": "serialization-and-deserialization-with-nested-layouts"
      },
      {
        "depth": 2,
        "title": "Commonly Used Layouts",
        "anchor": "commonly-used-layouts"
      },
      {
        "depth": 3,
        "title": "Chain ID Layouts",
        "anchor": "chain-id-layouts"
      },
      {
        "depth": 3,
        "title": "Address Layout",
        "anchor": "address-layout"
      },
      {
        "depth": 3,
        "title": "Signature Layout",
        "anchor": "signature-layout"
      },
      {
        "depth": 2,
        "title": "Advanced Use Cases",
        "anchor": "advanced-use-cases"
      },
      {
        "depth": 2,
        "title": "Integration with Wormhole Protocol",
        "anchor": "integration-with-wormhole-protocol"
      },
      {
        "depth": 3,
        "title": "VAAs and Layouts",
        "anchor": "vaas-and-layouts"
      },
      {
        "depth": 3,
        "title": "Registering Custom Payloads",
        "anchor": "registering-custom-payloads"
      },
      {
        "depth": 2,
        "title": "Common Pitfalls & Best Practices",
        "anchor": "common-pitfalls-best-practices"
      },
      {
        "depth": 3,
        "title": "Pitfalls to Avoid",
        "anchor": "pitfalls-to-avoid"
      },
      {
        "depth": 3,
        "title": "Best Practices",
        "anchor": "best-practices"
      },
      {
        "depth": 2,
        "title": "Performance Considerations",
        "anchor": "performance-considerations"
      },
      {
        "depth": 3,
        "title": "Lazy Instantiation",
        "anchor": "lazy-instantiation"
      },
      {
        "depth": 2,
        "title": "Resources",
        "anchor": "resources"
      }
    ],
    "stats": {
      "word_count": 4140,
      "token_estimate": 6865,
      "headings": 28,
      "sections_indexed": 28
    },
    "hash": "sha256:05b6c496427358c766be3afdd9528bf4df820b6acb1d32fc71714e5e9c572b37",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-sdk-layout.md"
  },
  {
    "id": "tools-typescript-sdk-guides-vaas-protocols",
    "title": "VAAs and Protocols",
    "slug": "tools-typescript-sdk-guides-vaas-protocols",
    "categories": [
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-vaas-protocols.md",
    "html_url": "https://wormhole.com/docs/tools/typescript-sdk/guides/vaas-protocols/",
    "preview": "Wormhole's core functionality revolves around [Verifiable Action Approvals](/docs/protocol/infrastructure/vaas/){target=\\_blank} (VAAs), which are signed messages enabling secure and decentralized communication across chains. This guide focuses on their practical usage within the Wormhole ecosystem, specifically when working with protocol-specific messages in the [TypeScript](https://github.com/wormhole-foundation/wormhole-sdk-ts){target=\\_blank} and [Solidity](https://github.com/wormhole-founda",
    "outline": [
      {
        "depth": 2,
        "title": "VAA Structure",
        "anchor": "vaa-structure"
      },
      {
        "depth": 2,
        "title": "VAAs in Protocol Contexts",
        "anchor": "vaas-in-protocol-contexts"
      },
      {
        "depth": 3,
        "title": "How VAAs Enable Protocol-Specific Messaging",
        "anchor": "how-vaas-enable-protocol-specific-messaging"
      },
      {
        "depth": 3,
        "title": "TypeScript SDK: Off-Chain Handling of VAAs",
        "anchor": "typescript-sdk-off-chain-handling-of-vaas"
      },
      {
        "depth": 3,
        "title": "Solidity SDK: On-Chain Handling of VAAs",
        "anchor": "solidity-sdk-on-chain-handling-of-vaas"
      }
    ],
    "stats": {
      "word_count": 815,
      "token_estimate": 1632,
      "headings": 5,
      "sections_indexed": 5
    },
    "hash": "sha256:b1496e676229ab4e90d881d812c340a197dc7330e29a5680f75c20ee251de5a5",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-guides-vaas-protocols.md"
  },
  {
    "id": "tools-typescript-sdk-sdk-reference",
    "title": "Wormhole TS SDK",
    "slug": "tools-typescript-sdk-sdk-reference",
    "categories": [
      "Typescript SDK"
    ],
    "resolved_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-sdk-reference.md",
    "html_url": "https://wormhole.com/docs/tools/typescript-sdk/sdk-reference/",
    "preview": "This page covers all you need to know about the functionality offered through the Wormhole TypeScript SDK.",
    "outline": [
      {
        "depth": 2,
        "title": "Concepts",
        "anchor": "concepts"
      },
      {
        "depth": 3,
        "title": "Platforms",
        "anchor": "platforms"
      },
      {
        "depth": 3,
        "title": "Chain Context",
        "anchor": "chain-context"
      },
      {
        "depth": 3,
        "title": "Addresses",
        "anchor": "addresses"
      },
      {
        "depth": 3,
        "title": "Tokens",
        "anchor": "tokens"
      },
      {
        "depth": 3,
        "title": "Signers",
        "anchor": "signers"
      },
      {
        "depth": 3,
        "title": "Protocols",
        "anchor": "protocols"
      },
      {
        "depth": 2,
        "title": "Transfers",
        "anchor": "transfers"
      },
      {
        "depth": 3,
        "title": "Token Transfers",
        "anchor": "token-transfers"
      },
      {
        "depth": 3,
        "title": "Native USDC Transfers",
        "anchor": "native-usdc-transfers"
      },
      {
        "depth": 3,
        "title": "Recovering Transfers",
        "anchor": "recovering-transfers"
      },
      {
        "depth": 2,
        "title": "Routes",
        "anchor": "routes"
      },
      {
        "depth": 3,
        "title": "Routes as Plugins",
        "anchor": "routes-as-plugins"
      },
      {
        "depth": 3,
        "title": "Executor Routes",
        "anchor": "executor-routes"
      },
      {
        "depth": 2,
        "title": "See Also",
        "anchor": "see-also"
      }
    ],
    "stats": {
      "word_count": 5970,
      "token_estimate": 11003,
      "headings": 15,
      "sections_indexed": 15
    },
    "hash": "sha256:a22205438b7ad7e0585d3bdba1f5818b023efafbb1d26cc7b1335964ac4d8eff",
    "token_estimator": "heuristic-v1",
    "raw_md_url": "https://wormhole.com/docs/ai/pages/tools-typescript-sdk-sdk-reference.md"
  }
]