diff --git a/docs/docs.json b/docs/docs.json index cd74bfe65..bea886580 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -2,15 +2,6 @@ "$schema": "https://mintlify.com/docs.json", "theme": "aspen", "name": "Base Documentation", - "banner": { - "content": "B20 mainnet activation has been delayed due to an unrelated stability incident. A revised date will be announced shortly. [Check activation status](/get-started/launch-b20-token#verify-the-activation-registry-is-enabled)", - "type": "info", - "dismissible": true, - "color": { - "light": "#578BFA", - "dark": "#578BFA" - } - }, "colors": { "primary": "#0000ff", "light": "#578BFA", @@ -18,14 +9,21 @@ }, "favicon": "/logo/favicon.png", "contextual": { - "options": ["copy", "view", "claude", "chatgpt"] + "options": [ + "copy", + "view", + "claude", + "chatgpt" + ] }, "api": { "playground": { "display": "simple" }, "examples": { - "languages": ["javascript"] + "languages": [ + "javascript" + ] } }, "seo": { @@ -41,14 +39,15 @@ "groups": [ { "group": "Introduction", - "pages": ["get-started/base"] + "pages": [ + "get-started/base" + ] }, { "group": "Quickstart", "pages": [ "get-started/resources-for-ai-agents", "get-started/build-app", - "get-started/launch-b20-token", "get-started/launch-token", "get-started/deploy-smart-contracts", "get-started/learning-resources" @@ -93,7 +92,7 @@ }, { "anchor": "Bridge", - "href": "https://docs.base.org/base-chain/network-information/ecosystem-bridges", + "href": "https://docs.base.org/base-chain/network-information/bridges-mainnet", "icon": "coin" }, { @@ -105,29 +104,38 @@ } }, { - "tab": "Chain", + "tab": "Base Chain", "groups": [ { - "group": "Beryl Upgrade", - "tag": "New", + "group": "Quickstart", "pages": [ - "base-chain/specs/upgrades/beryl/overview" + "base-chain/quickstart/why-base", + "base-chain/quickstart/deploy-on-base", + "base-chain/quickstart/connecting-to-base", + "base-chain/quickstart/base-solana-bridge" ] }, { - "group": "Introduction", + "group": "Network Information", "pages": [ - "base-chain/overview" + "base-chain/network-information/base-contracts", + "base-chain/network-information/ecosystem-contracts", + "base-chain/network-information/network-fees", + "base-chain/network-information/block-building", + "base-chain/network-information/transaction-finality", + "base-chain/network-information/diffs-ethereum-base", + "base-chain/network-information/troubleshooting-transactions", + "base-chain/network-information/configuration-changelog", + "base-chain/network-information/network-faucets" ] }, { - "group": "Core Concepts", + "group": "Flashblocks", "pages": [ - "base-chain/network-information/transaction-ordering", - "base-chain/network-information/transaction-finality", - "base-chain/network-information/throughput-and-limits", - "base-chain/network-information/network-fees", - "base-chain/network-information/bridging-and-withdrawals" + "base-chain/flashblocks/overview", + "base-chain/flashblocks/app-integration", + "base-chain/flashblocks/architecture", + "base-chain/flashblocks/faq" ] }, { @@ -136,26 +144,17 @@ "base-chain/node-operators/run-a-base-node", "base-chain/node-operators/performance-tuning", "base-chain/node-operators/snapshots", + "base-chain/node-operators/node-providers", "base-chain/node-operators/troubleshooting" ] }, { - "group": "Network Reference", + "group": "Builder Codes", "pages": [ - "base-chain/quickstart/connecting-to-base", - "base-chain/node-operators/node-providers", - "base-chain/network-information/base-contracts", - { - "group": "Bridges", - "pages": [ - "base-chain/network-information/base-solana-bridge", - "base-chain/network-information/ecosystem-bridges" - ] - }, - "base-chain/network-information/network-faucets", - "base-chain/flashblocks/faq", - "base-chain/network-information/troubleshooting-transactions", - "base-chain/network-information/configuration-changelog" + "base-chain/builder-codes/builder-codes", + "base-chain/builder-codes/app-developers", + "base-chain/builder-codes/wallet-developers", + "base-chain/builder-codes/agent-developers" ] }, { @@ -166,43 +165,43 @@ "group": "Ethereum JSON-RPC API", "pages": [ "base-chain/api-reference/ethereum-json-rpc-api/eth_blockNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_call", - "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", - "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", - "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", - "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBalance", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", + "base-chain/api-reference/ethereum-json-rpc-api/eth_call", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByNumber", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockByHash", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockReceipts", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByNumber", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getCode", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getStorageAt", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getBlockTransactionCountByHash", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockHashAndIndex", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByBlockNumberAndIndex", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionByHash", - "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionCount", "base-chain/api-reference/ethereum-json-rpc-api/eth_getTransactionReceipt", - "base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", "base-chain/api-reference/ethereum-json-rpc-api/eth_sendRawTransaction", - "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", + "base-chain/api-reference/ethereum-json-rpc-api/eth_gasPrice", + "base-chain/api-reference/ethereum-json-rpc-api/eth_maxPriorityFeePerGas", + "base-chain/api-reference/ethereum-json-rpc-api/eth_feeHistory", + "base-chain/api-reference/ethereum-json-rpc-api/eth_estimateGas", + "base-chain/api-reference/ethereum-json-rpc-api/eth_getLogs", + "base-chain/api-reference/ethereum-json-rpc-api/eth_chainId", "base-chain/api-reference/ethereum-json-rpc-api/eth_syncing", - "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe", "base-chain/api-reference/ethereum-json-rpc-api/net_version", - "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion" + "base-chain/api-reference/ethereum-json-rpc-api/web3_clientVersion", + "base-chain/api-reference/ethereum-json-rpc-api/eth_subscribe", + "base-chain/api-reference/ethereum-json-rpc-api/eth_unsubscribe" ] }, { "group": "Flashblocks API", "pages": [ "base-chain/api-reference/flashblocks-api/flashblocks-api-overview", - "base-chain/api-reference/flashblocks-api/base_transactionStatus", "base-chain/api-reference/flashblocks-api/eth_simulateV1", + "base-chain/api-reference/flashblocks-api/base_transactionStatus", "base-chain/api-reference/flashblocks-api/newFlashblockTransactions", - "base-chain/api-reference/flashblocks-api/newFlashblocks", - "base-chain/api-reference/flashblocks-api/pendingLogs" + "base-chain/api-reference/flashblocks-api/pendingLogs", + "base-chain/api-reference/flashblocks-api/newFlashblocks" ] }, { @@ -215,159 +214,6 @@ } ] }, - { - "group": "Protocol Specifications", - "pages": [ - "base-chain/specs/overview", - { - "group": "Protocol", - "pages": [ - "base-chain/specs/protocol/overview", - "base-chain/specs/protocol/batcher", - { - "group": "Bridging", - "pages": [ - "base-chain/specs/protocol/bridging/bridges", - "base-chain/specs/protocol/bridging/deposits", - "base-chain/specs/protocol/bridging/messengers", - "base-chain/specs/protocol/bridging/withdrawals" - ] - }, - { - "group": "Consensus", - "pages": [ - "base-chain/specs/protocol/consensus/index", - "base-chain/specs/protocol/consensus/derivation", - "base-chain/specs/protocol/consensus/p2p", - "base-chain/specs/protocol/consensus/rpc" - ] - }, - { - "group": "Execution", - "pages": [ - "base-chain/specs/protocol/execution/index", - "base-chain/specs/protocol/execution/evm/precompiles", - "base-chain/specs/protocol/execution/evm/predeploys", - "base-chain/specs/protocol/execution/evm/preinstalls" - ] - }, - { - "group": "Proofs", - "pages": [ - "base-chain/specs/protocol/proofs/index", - "base-chain/specs/protocol/proofs/challenger", - "base-chain/specs/protocol/proofs/proposer", - "base-chain/specs/protocol/proofs/registrar", - "base-chain/specs/protocol/proofs/tee-prover", - "base-chain/specs/protocol/proofs/zk-prover", - "base-chain/specs/protocol/proofs/contracts" - ] - } - ] - }, - { - "group": "Upgrades", - "pages": [ - { - "group": "Beryl", - "pages": [ - "base-chain/specs/upgrades/beryl/overview", - "base-chain/specs/upgrades/beryl/b20" - ] - }, - { - "group": "Azul", - "pages": [ - "base-chain/specs/upgrades/azul/overview", - "base-chain/specs/upgrades/azul/node-upgrade", - "base-chain/specs/upgrades/azul/exec-engine", - "base-chain/specs/upgrades/azul/proofs" - ] - }, - { - "group": "Optimism", - "pages": [ - { - "group": "Jovian", - "pages": [ - "base-chain/specs/upgrades/jovian/overview", - "base-chain/specs/upgrades/jovian/exec-engine", - "base-chain/specs/upgrades/jovian/derivation", - "base-chain/specs/upgrades/jovian/l1-attributes", - "base-chain/specs/upgrades/jovian/system-config" - ] - }, - { - "group": "Isthmus", - "pages": [ - "base-chain/specs/upgrades/isthmus/overview", - "base-chain/specs/upgrades/isthmus/exec-engine", - "base-chain/specs/upgrades/isthmus/derivation", - "base-chain/specs/upgrades/isthmus/l1-attributes", - "base-chain/specs/upgrades/isthmus/predeploys", - "base-chain/specs/upgrades/isthmus/system-config" - ] - }, - { - "group": "Holocene", - "pages": [ - "base-chain/specs/upgrades/holocene/overview", - "base-chain/specs/upgrades/holocene/exec-engine", - "base-chain/specs/upgrades/holocene/derivation", - "base-chain/specs/upgrades/holocene/system-config" - ] - }, - { - "group": "Granite", - "pages": [ - "base-chain/specs/upgrades/granite/overview", - "base-chain/specs/upgrades/granite/exec-engine", - "base-chain/specs/upgrades/granite/derivation" - ] - }, - { - "group": "Fjord", - "pages": [ - "base-chain/specs/upgrades/fjord/overview", - "base-chain/specs/upgrades/fjord/exec-engine", - "base-chain/specs/upgrades/fjord/derivation", - "base-chain/specs/upgrades/fjord/predeploys" - ] - }, - { - "group": "Ecotone", - "pages": [ - "base-chain/specs/upgrades/ecotone/overview", - "base-chain/specs/upgrades/ecotone/derivation", - "base-chain/specs/upgrades/ecotone/l1-attributes" - ] - }, - { - "group": "Delta", - "pages": [ - "base-chain/specs/upgrades/delta/overview", - "base-chain/specs/upgrades/delta/span-batches" - ] - }, - { - "group": "Canyon", - "pages": [ - "base-chain/specs/upgrades/canyon/overview" - ] - } - ] - } - ] - }, - { - "group": "Reference", - "pages": [ - "base-chain/specs/reference/glossary", - "base-chain/specs/reference/configurability" - ] - } - ] - }, { "group": "Security", "pages": [ @@ -381,7 +227,7 @@ "anchors": [ { "anchor": "GitHub", - "href": "https://github.com/base/base", + "href": "https://github.com/base", "icon": "github" }, { @@ -399,6 +245,11 @@ "href": "https://basescan.org/", "icon": "magnifying-glass" }, + { + "anchor": "Support", + "href": "https://discord.com/invite/buildonbase", + "icon": "discord" + }, { "anchor": "Blog", "href": "https://blog.base.dev/", @@ -408,11 +259,13 @@ } }, { - "tab": "Account", + "tab": "Base Account", "groups": [ { "group": "Introduction", - "pages": ["base-account/overview/what-is-base-account"] + "pages": [ + "base-account/overview/what-is-base-account" + ] }, { "group": "Quickstart", @@ -644,126 +497,108 @@ } }, { - "tab": "Ledgers", + "tab": "AI Agents", "groups": [ { "group": "Overview", - "pages": ["ledgers/overview"] + "pages": [ + "ai-agents/index" + ] }, { - "group": "Ledgers", + "group": "Quickstart", "pages": [ - "ledgers/how-it-works", - "ledgers/deposit-flow", - "ledgers/withdraw-flow" + "ai-agents/quickstart/payments", + "ai-agents/quickstart/trading" ] - } - ] - }, - { - "tab": "Apps", - "groups": [ + }, { - "group": "Quickstart", + "group": "Setup", "pages": [ - "apps/quickstart/build-app", - "apps/quickstart/deploy-on-base" + "ai-agents/setup/wallet-setup", + "ai-agents/setup/agent-builder-codes", + "ai-agents/setup/agent-registration" ] }, { - "group": "Guides", + "group": "Payments", "pages": [ - "apps/technical-guides/base-notifications", - "apps/guides/migrate-to-standard-web-app", - "apps/guides/accept-b20-payments" + "ai-agents/payments/pay-for-services-with-x402", + "ai-agents/payments/accepting-payments" ] }, { - "group": "Growth", - "pages": ["apps/growth/rewards"] + "group": "Trading", + "pages": [ + "ai-agents/trading/data-fetching", + "ai-agents/trading/trade-execution" + ] }, { - "group": "Builder Codes", + "group": "Skills", "pages": [ - "apps/builder-codes/builder-codes", - "apps/builder-codes/app-developers", - "apps/builder-codes/wallet-developers", - "apps/builder-codes/agent-developers" + "ai-agents/skills/index", + { + "group": "Wallets", + "pages": [ + "ai-agents/skills/wallets/bankr", + "ai-agents/skills/wallets/cdp-agentic-wallet", + "ai-agents/skills/wallets/sponge-wallet" + ] + }, + { + "group": "Payments", + "pages": [ + "ai-agents/skills/payments/cdp-payment-skills", + "ai-agents/skills/payments/sponge-x402" + ] + }, + { + "group": "Trading", + "pages": [ + "ai-agents/skills/trading/coingecko", + "ai-agents/skills/trading/alchemy-agentic-gateway", + "ai-agents/skills/trading/swap-execution" + ] + } ] } ] }, { - "tab": "Agents", + "tab": "Mini Apps", "groups": [ - { - "group": "Overview", - "pages": ["agents/index"] - }, { "group": "Quickstart", - "pages": ["agents/quickstart"] + "pages": [ + "mini-apps/quickstart/migrate-to-standard-web-app", + "get-started/build-app" + ] }, { - "group": "Guides", + "group": "Troubleshooting", "pages": [ - "agents/guides/check-balance", - "agents/guides/send-tokens", - "agents/guides/swap-tokens", - "agents/guides/view-history", - "agents/guides/sign-messages", - "agents/guides/batch-calls", - "agents/guides/x402-payments" + "mini-apps/guides/debugging" ] }, { - "group": "Skill & Plugins", + "group": "Growth", "pages": [ - "agents/plugins/index", - { - "group": "Native Plugins", - "pages": [ - "agents/plugins/native/index", - "agents/plugins/native/aerodrome", - "agents/plugins/native/avantis", - "agents/plugins/native/balancer", - "agents/plugins/native/bankr", - "agents/plugins/native/bitrefill", - "agents/plugins/native/brickken", - "agents/plugins/native/clawnch", - "agents/plugins/native/flaunch", - "agents/plugins/native/gmgn", - "agents/plugins/native/hydrex", - "agents/plugins/native/kyberswap", - "agents/plugins/native/moonwell", - "agents/plugins/native/morpho", - "agents/plugins/native/o1-exchange", - "agents/plugins/native/opensea", - "agents/plugins/native/printr", - "agents/plugins/native/uniswap", - "agents/plugins/native/venice", - "agents/plugins/native/virtuals", - "agents/plugins/native/yo" - ] - }, - "agents/plugins/custom-plugins" + "mini-apps/growth/rewards" ] } - ], - "global": { - "anchors": [ - { - "anchor": "Skills", - "href": "https://github.com/base/skills", - "icon": "github" - }, - { - "anchor": "Support", - "href": "https://discord.com/invite/buildonbase", - "icon": "discord" - } - ] - } + ] + }, + { + "tab": "OnchainKit", + "groups": [ + { + "group": "Getting Started", + "pages": [ + "onchainkit/migrate-from-onchainkit" + ] + } + ] } ] }, @@ -786,8 +621,8 @@ ], "primary": { "type": "button", - "label": "Dashboard", - "href": "https://dashboard.base.org/" + "label": "Base Build", + "href": "https://base.dev" } }, "footer": { @@ -826,90 +661,6 @@ ] }, "redirects": [ - { - "source": "/ledger/overview", - "destination": "/ledgers/overview" - }, - { - "source": "/ledger/how-it-works", - "destination": "/ledgers/how-it-works" - }, - { - "source": "/ledger/deposit-flow", - "destination": "/ledgers/deposit-flow" - }, - { - "source": "/ledger/withdraw-flow", - "destination": "/ledgers/withdraw-flow" - }, - { - "source": "/base-chain/node-operators/base-v1-upgrade", - "destination": "/base-chain/specs/upgrades/azul/node-upgrade" - }, - { - "source": "/ai-agents/quickstart/payments", - "destination": "/agents/guides/x402-payments" - }, - { - "source": "/ai-agents/quickstart/trading", - "destination": "/agents/quickstart" - }, - { - "source": "/ai-agents/setup/wallet-setup", - "destination": "/agents/quickstart" - }, - { - "source": "/ai-agents/setup/agent-registration", - "destination": "/agents/index" - }, - { - "source": "/ai-agents/payments/pay-for-services-with-x402", - "destination": "/agents/guides/x402-payments" - }, - { - "source": "/ai-agents/payments/accepting-payments", - "destination": "/agents/guides/x402-payments" - }, - { - "source": "/ai-agents/tools", - "destination": "/agents/guides" - }, - { - "source": "/ai-agents/tools/index", - "destination": "/agents/guides" - }, - { - "source": "/ai-agents/trading/data-fetching", - "destination": "/agents/guides" - }, - { - "source": "/ai-agents/trading/trade-execution", - "destination": "/agents/guides" - }, - { - "source": "/ai-agents/skills/wallets/bankr", - "destination": "/agents/plugins/native/bankr" - }, - { - "source": "/ai-agents/skills/wallets/sponge-wallet", - "destination": "/agents/quickstart" - }, - { - "source": "/ai-agents/skills/payments/sponge-x402", - "destination": "/agents/guides/x402-payments" - }, - { - "source": "/ai-agents/skills/trading/coingecko", - "destination": "/agents/guides/swap-tokens" - }, - { - "source": "/ai-agents/skills/trading/alchemy-agentic-gateway", - "destination": "/agents/guides" - }, - { - "source": "/ai-agents/skills/trading/swap-execution", - "destination": "/agents/guides/swap-tokens" - }, { "source": "/base-chain/reference/json-rpc-api", "destination": "/base-chain/api-reference/rpc-overview" @@ -932,87 +683,27 @@ }, { "source": "/base-chain/flashblocks/api-reference#endpoints", - "destination": "/base-chain/api-reference/rpc-overview#flashblocks" - }, - { - "source": "/base-chain/flashblocks/overview", - "destination": "/base-chain/network-information/transaction-ordering#flashblocks" - }, - { - "source": "/base-chain/flashblocks/app-integration", - "destination": "/base-chain/api-reference/rpc-overview#flashblocks" - }, - { - "source": "/base-chain/flashblocks/architecture", - "destination": "/base-chain/network-information/transaction-ordering#flashblocks" - }, - { - "source": "/base-chain/network-information/block-building", - "destination": "/base-chain/network-information/transaction-ordering" - }, - { - "source": "/block-building", - "destination": "/base-chain/network-information/transaction-ordering" - }, - { - "source": "/base-chain/network-information/sequencing-policy", - "destination": "/base-chain/network-information/transaction-ordering" - }, - { - "source": "/base-chain/network-information/transaction-lifecycle", - "destination": "/base-chain/network-information/transaction-ordering" - }, - { - "source": "/base-chain/network-information/flashblocks", - "destination": "/base-chain/network-information/transaction-ordering#flashblocks" - }, - { - "source": "/base-chain/network-information/bridges", - "destination": "/base-chain/network-information/ecosystem-bridges" - }, - { - "source": "/base-chain/network-information/bridge-options", - "destination": "/base-chain/network-information/ecosystem-bridges" - }, - { - "source": "/base-chain/network-information/diffs-ethereum-base", - "destination": "/base-chain/overview" - }, - { - "source": "/base-chain/network-information/base-execution-differences", - "destination": "/base-chain/overview" - }, - { - "source": "/base-chain/quickstart/base-solana-bridge", - "destination": "/base-chain/network-information/base-solana-bridge" - }, - { - "source": "/base-chain/quickstart/deploy-on-base", - "destination": "/apps/quickstart/deploy-on-base" - }, - { - "source": "/base-chain/quickstart/why-base", - "destination": "/base-chain/overview" + "destination": "/base-chain/api-reference/rpc-overview#endpoints" }, { "source": "/ai-agents/reference/contracts", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/ai-agents/frameworks/eliza", - "destination": "/agents/quickstart" + "destination": "/ai-agents/skills/index" }, { "source": "/ai-agents/frameworks/langchain", - "destination": "/agents/quickstart" + "destination": "/ai-agents/skills/index" }, { "source": "/ai-agents/frameworks/vercel-ai-sdk", - "destination": "/agents/quickstart" + "destination": "/ai-agents/skills/index" }, { "source": "/ai-agents/frameworks/agentkit", - "destination": "/agents/quickstart" + "destination": "/ai-agents/skills/index" }, { "source": "/get-started/migrate-from-onchainkit", @@ -1020,255 +711,251 @@ }, { "source": "/mini-apps/core-concepts/*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/resources/*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/featured-guidelines/*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { - "source": "/mini-apps/troubleshooting/*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "source": "/mini-apps/troubleshooting/base-app-compatibility", + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/introduction/*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" + }, + { + "source": "/mini-apps/growth/build-viral-mini-apps", + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/growth/optimize-onboarding", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/technical-guides/dynamic-embeds", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/getting-started", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/getting-started/overview", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/getting-started/quickstart-guide", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/getting-started/manual-installation", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/getting-started/troubleshooting", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/installation/nextjs", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/installation/vite", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/installation/remix", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/installation/astro", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/config/onchainkit-provider", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/config/supplemental-providers", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/config/is-base", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/config/is-ethereum", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/config/types", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/configuration/onchainkit-provider", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/configuration/wagmi-viem-integration", - "destination": "/apps/quickstart/build-app" - }, - { - "source": "/ai-agents/setup/agent-builder-codes", - "destination": "/apps/builder-codes/agent-developers" + "destination": "/get-started/build-app" }, { "source": "/ai-agents/guides/agent-builder-codes", - "destination": "/apps/builder-codes/agent-developers" + "destination": "/ai-agents/setup/agent-builder-codes" }, { "source": "/onchainkit/latest/configuration/themes", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/telemetry", - "destination": "/apps/quickstart/build-app" - }, - { - "source": "/base-account/basenames/basenames-wagmi-tutorial", - "destination": "/base-account/framework-integrations/wagmi/basenames" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/troubleshooting", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/lifecycle-status", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/tailwind", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/themes", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/use-basename-in-onchain-app", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/using-ai-powered-ides", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/ai-prompting-guide", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/contribution", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/guides/reporting-bug", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/guides/ai-prompting-guide", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/guides/contributing", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/templates/onchain-nft-app", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/templates/onchain-commerce-app", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/templates/onchain-social-profile", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/welcome", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/quickstart-guide", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/quickstart-headless", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/erc20-paymaster", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/gasless-transactions-with-paymaster", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/security", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/troubleshooting", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/errors", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/paymaster/how-to-contribute", - "destination": "/apps/quickstart/build-app" + "destination": "/get-started/build-app" }, { "source": "/onchainkit/latest/components/minikit/overview", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/provider-and-initialization", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useMiniKit", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useOpenUrl", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useClose", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/usePrimaryButton", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useViewProfile", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useComposeCast", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useViewCast", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useAuthenticate", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useAddFrame", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/latest/components/minikit/hooks/useNotification", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/onchainkit/identity/identity", @@ -1420,15 +1107,15 @@ }, { "source": "/onchainkit/checkout/checkout", - "destination": "/apps/technical-guides/accept-payments" + "destination": "/mini-apps/technical-guides/accept-payments" }, { "source": "/onchainkit/checkout/types", - "destination": "/apps/technical-guides/accept-payments" + "destination": "/mini-apps/technical-guides/accept-payments" }, { "source": "/onchainkit/latest/components/checkout/checkout", - "destination": "/apps/technical-guides/accept-payments" + "destination": "/mini-apps/technical-guides/accept-payments" }, { "source": "/onchainkit/wallet/wallet", @@ -1824,7 +1511,7 @@ }, { "source": "/base-chain/tools/cross-chain", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/network-information/bridges" }, { "source": "/base-chain/tools/account-abstraction", @@ -1876,31 +1563,31 @@ }, { "source": "/base-chain/quickstart/bridge-token", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/network-information/bridges" }, { - "source": "/apps/builder-codes/builder-codes-faq", - "destination": "/apps/builder-codes/builder-codes" + "source": "/base-chain/builder-codes/builder-codes-faq", + "destination": "/base-chain/builder-codes/builder-codes" }, { "source": "/base-chain/quickstart/builder-codes", - "destination": "/apps/builder-codes/builder-codes" + "destination": "/base-chain/builder-codes/builder-codes" }, { - "source": "/apps/builder-codes/builder-codes-app-developers", - "destination": "/apps/builder-codes/app-developers" + "source": "/base-chain/builder-codes/builder-codes-app-developers", + "destination": "/base-chain/builder-codes/app-developers" }, { - "source": "/apps/builder-codes/builder-codes-wallet-developers", - "destination": "/apps/builder-codes/wallet-developers" + "source": "/base-chain/builder-codes/builder-codes-wallet-developers", + "destination": "/base-chain/builder-codes/wallet-developers" }, { - "source": "/apps/builder-codes/builder-codes-bridge-developers", - "destination": "/apps/builder-codes/builder-codes" + "source": "/base-chain/builder-codes/builder-codes-bridge-developers", + "destination": "/base-chain/builder-codes/builder-codes" }, { - "source": "/apps/builder-codes/bridge-developers", - "destination": "/apps/builder-codes/builder-codes" + "source": "/base-chain/builder-codes/bridge-developers", + "destination": "/base-chain/builder-codes/builder-codes" }, { "source": "/get-started/ai-prompting", @@ -1908,7 +1595,7 @@ }, { "source": "/base-chain/network-information/bridges-mainnet", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/network-information/bridges" }, { "source": "/base-app/introduction/beta-faq", @@ -1916,55 +1603,55 @@ }, { "source": "/base-app/agents/chat-agents", - "destination": "/apps/technical-guides/building-chat-agents" + "destination": "/mini-apps/technical-guides/building-chat-agents" }, { "source": "/base-app/agents/getting-started", - "destination": "/apps/technical-guides/building-chat-agents#getting-started" + "destination": "/mini-apps/technical-guides/building-chat-agents#getting-started" }, { "source": "/base-app/agents/building-quality-agents", - "destination": "/apps/technical-guides/building-chat-agents#best-practices" + "destination": "/mini-apps/technical-guides/building-chat-agents#best-practices" }, { "source": "/base-app/agents/getting-featured", - "destination": "/apps/technical-guides/building-chat-agents#best-practices" + "destination": "/mini-apps/technical-guides/building-chat-agents#best-practices" }, { "source": "/base-app/agents/quick-actions", - "destination": "/apps/technical-guides/building-chat-agents#quick-actions" + "destination": "/mini-apps/technical-guides/building-chat-agents#quick-actions" }, { "source": "/base-app/agents/transaction-trays", - "destination": "/apps/technical-guides/building-chat-agents#transaction-trays" + "destination": "/mini-apps/technical-guides/building-chat-agents#transaction-trays" }, { "source": "/base-app/agents/deeplinks", - "destination": "/apps/technical-guides/building-chat-agents#deeplinks" + "destination": "/mini-apps/technical-guides/building-chat-agents#deeplinks" }, { "source": "/base-app/agents/x402-agents", - "destination": "/apps/technical-guides/building-chat-agents#payment-agents-x402" + "destination": "/mini-apps/technical-guides/building-chat-agents#payment-agents-x402" }, { "source": "/base-app/agents/mini-apps-and-agents", - "destination": "/apps/technical-guides/building-chat-agents#app-integration" + "destination": "/mini-apps/technical-guides/building-chat-agents#mini-app-integration" }, { "source": "/mini-apps/technical-guides/search-discovery", - "destination": "/apps/troubleshooting/how-search-works" + "destination": "/mini-apps/troubleshooting/how-search-works" }, { "source": "/mini-apps/overview", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/mini-apps/features/wallet", - "destination": "/apps/core-concepts/base-account" + "destination": "/mini-apps/core-concepts/base-account" }, { "source": "/mini-apps/growth/data-driven-growth", - "destination": "https://base.dev" + "destination": "/mini-apps/technical-guides/data-driven-growth" }, { "source": "/mini-apps/technical-guides/data-driven-growth", @@ -1972,43 +1659,43 @@ }, { "source": "/mini-apps/features/links", - "destination": "/apps/core-concepts/navigation" + "destination": "/mini-apps/technical-guides/links" }, { "source": "/mini-apps/technical-guides/links", - "destination": "/apps/core-concepts/navigation" + "destination": "/mini-apps/core-concepts/navigation" }, { "source": "/mini-apps/features/search-and-discovery", - "destination": "/apps/troubleshooting/how-search-works" + "destination": "/mini-apps/troubleshooting/how-search-works" }, { "source": "/mini-apps/features/sharing-and-social-graph", - "destination": "/apps/technical-guides/sharing-and-social-graph" + "destination": "/mini-apps/technical-guides/sharing-and-social-graph" }, { "source": "/mini-apps/features/sign-manifest", - "destination": "/apps/technical-guides/sign-manifest" + "destination": "/mini-apps/technical-guides/sign-manifest" }, { "source": "/mini-apps/features/manifest", - "destination": "/apps/core-concepts/manifest" + "destination": "/mini-apps/core-concepts/manifest" }, { "source": "/mini-apps/features/authentication", - "destination": "/apps/core-concepts/authentication" + "destination": "/mini-apps/core-concepts/authentication" }, { "source": "/mini-apps/features/context", - "destination": "/apps/core-concepts/context" + "destination": "/mini-apps/core-concepts/context" }, { "source": "/mini-apps/features/notifications", - "destination": "/apps/core-concepts/notifications" + "destination": "/mini-apps/core-concepts/notifications" }, { "source": "/mini-apps/features/embeds-and-previews", - "destination": "/apps/core-concepts/embeds-and-previews" + "destination": "/mini-apps/core-concepts/embeds-and-previews" }, { "source": "/privacy-policy-2025", @@ -2032,7 +1719,7 @@ }, { "source": "/builderkits/minikit/debugging", - "destination": "/base-app/build-with-minikit/debugging" + "destination": "/mini-apps/troubleshooting/debugging" }, { "source": "/builderkits/minikit/existing-app-integration", @@ -2184,23 +1871,27 @@ }, { "source": "/chain/bridge-an-l1-token-to-base", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/network-information/bridges" }, { "source": "/chain/bridges-mainnet", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/network-information/bridges-mainnet" }, { "source": "/chain/builder-anniversary-nft", - "destination": "/base-chain/overview" + "destination": "/base-chain/quickstart/why-base" }, { "source": "/chain/connecting-to-base", "destination": "/base-chain/quickstart/connecting-to-base" }, + { + "source": "/chain/contracts", + "destination": "/base-chain/network-information/ecosystem-contracts" + }, { "source": "/chain/cross-chain", - "destination": "/base-chain/network-information/ecosystem-bridges" + "destination": "/base-chain/tools/cross-chain" }, { "source": "/chain/data-indexers", @@ -2208,15 +1899,15 @@ }, { "source": "/chain/decentralizing-base-with-optimism", - "destination": "/base-chain/overview" + "destination": "/base-chain/quickstart/why-base" }, { "source": "/chain/deploy-on-base-quickstart", - "destination": "/apps/quickstart/deploy-on-base" + "destination": "/base-chain/quickstart/deploy-on-base" }, { "source": "/chain/differences-between-ethereum-and-base", - "destination": "/base-chain/overview" + "destination": "/base-chain/network-information/diffs-ethereum-base" }, { "source": "/chain/fees", @@ -2224,15 +1915,15 @@ }, { "source": "/chain/flashblocks", - "destination": "/base-chain/network-information/transaction-ordering#flashblocks" + "destination": "/base-chain/flashblocks/app-integration" }, { "source": "/chain/flashblocks/apps", - "destination": "/base-chain/api-reference/rpc-overview#flashblocks" + "destination": "/base-chain/flashblocks/app-integration" }, { "source": "/base-chain/flashblocks/apps", - "destination": "/base-chain/api-reference/rpc-overview#flashblocks" + "destination": "/base-chain/flashblocks/app-integration" }, { "source": "/chain/flashblocks/node-providers", @@ -2312,31 +2003,31 @@ }, { "source": "/chain/why-base", - "destination": "/base-chain/overview" + "destination": "/base-chain/quickstart/why-base" }, { "source": "/cookbook/growth/cast-actions", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/growth/deploy-to-vercel", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/growth/email-campaigns", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/growth/gating-and-redirects", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/growth/hyperframes", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/growth/retaining-users", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/payments/build-ecommerce-app", @@ -2348,19 +2039,19 @@ }, { "source": "/cookbook/social/convert-farcaster-frame", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/social/farcaster-nft-minting-guide", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/social/farcaster-no-code-nft-minting", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/cast-actions", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/commerce/build-an-ecommerce-app", @@ -2368,35 +2059,35 @@ }, { "source": "/cookbook/use-case-guides/create-email-campaigns", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/creator/convert-farcaster-frame-to-open-frame", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/deploy-to-vercel", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/gating-and-redirects", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/hyperframes", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/nft-minting", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/no-code-minting", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/retaining-users", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/use-case-guides/transactions", @@ -2768,15 +2459,7 @@ }, { "source": "/quickstart", - "destination": "/apps/quickstart/build-app" - }, - { - "source": "/get-started/build-app", - "destination": "/apps/quickstart/build-app" - }, - { - "source": "/apps/quickstart/migrate-to-standard-web-app", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/get-started/build-app" }, { "source": "/tools/network-faucets", @@ -2784,11 +2467,11 @@ }, { "source": "/tutorials/deploy-with-foundry", - "destination": "/apps/quickstart/deploy-on-base" + "destination": "/base-chain/quickstart/deploy-on-base" }, { "source": "/tutorials/deploy-with-remix", - "destination": "/apps/quickstart/deploy-on-base" + "destination": "/base-chain/quickstart/deploy-on-base" }, { "source": "/use-cases/accept-crypto-payments", @@ -2796,19 +2479,19 @@ }, { "source": "/use-cases/ai-instructions/eliza", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/use-cases/ai-instructions/langchain-local", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/use-cases/ai-instructions/langchain-replit", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/use-cases/decentralize-social-app", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/use-cases/defi-your-app", @@ -2820,7 +2503,7 @@ }, { "source": "/use-cases/launch-ai-agents", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/use-cases/onboard-any-user", @@ -2836,7 +2519,7 @@ }, { "source": "/wallet-app/mini-apps", - "destination": "/apps/quickstart/build-app" + "destination": "/base-app/introduction/mini-apps" }, { "source": "/wallet-app/chat-agents", @@ -2856,11 +2539,11 @@ }, { "source": "/base-app/introduction/what-are-mini-apps", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/overview" }, { "source": "/base-app/introduction/why-mini-apps", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/overview" }, { "source": "/base-app/miniapps/overview", @@ -2872,119 +2555,119 @@ }, { "source": "/base-app/miniapps/existing-app-integration", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/base-app/build-with-minikit/existing-app-integration", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/base-app/miniapps/quickstart", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/base-app/build-with-minikit/quickstart", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/mini-apps/quickstart/existing-apps/:slug*", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/quickstart/migrate-existing-apps", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/mini-apps/quickstart/new-apps/:slug*", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/base-app/miniapps/mini-apps", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/overview" }, { "source": "/base-app/build-with-minikit/mini-apps", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/overview" }, { "source": "/base-app/miniapps/search-and-discovery", - "destination": "/apps/troubleshooting/how-search-works" + "destination": "/mini-apps/troubleshooting/how-search-works" }, { "source": "/base-app/build-with-minikit/search-and-discovery", - "destination": "/apps/troubleshooting/how-search-works" + "destination": "/mini-apps/troubleshooting/how-search-works" }, { "source": "/base-app/miniapps/sharing-your-miniapp", - "destination": "/apps/technical-guides/sharing-and-social-graph" + "destination": "/mini-apps/technical-guides/sharing-and-social-graph" }, { "source": "/base-app/build-with-minikit/sharing-your-miniapp", - "destination": "/apps/technical-guides/sharing-and-social-graph" + "destination": "/mini-apps/technical-guides/sharing-and-social-graph" }, { "source": "/base-app/miniapps/how-manifest-work", - "destination": "/apps/core-concepts/manifest" + "destination": "/mini-apps/features/manifest" }, { "source": "/base-app/build-with-minikit/how-manifest-work", - "destination": "/apps/core-concepts/manifest" + "destination": "/mini-apps/features/manifest" }, { "source": "/base-app/miniapps/thinking-social", - "destination": "/apps/growth/build-viral-apps" + "destination": "/mini-apps/growth/build-viral-mini-apps" }, { "source": "/base-app/build-with-minikit/thinking-social", - "destination": "/apps/growth/build-viral-apps" + "destination": "/mini-apps/growth/build-viral-mini-apps" }, { "source": "/base-app/miniapps/debugging", - "destination": "/apps/troubleshooting/common-issues" + "destination": "/mini-apps/troubleshooting/debugging" }, { "source": "/base-app/build-with-minikit/debugging", - "destination": "/apps/troubleshooting/common-issues" + "destination": "/mini-apps/troubleshooting/debugging" }, { "source": "/mini-apps/design-ux/best-practices", - "destination": "/apps/featured-guidelines/design-guidelines" + "destination": "/mini-apps/featured-guidelines/design-guidelines" }, { "source": "/mini-apps/design-ux/design-patterns", - "destination": "/apps/featured-guidelines/design-guidelines" + "destination": "/mini-apps/featured-guidelines/design-guidelines" }, { "source": "/mini-apps/design-ux/onchainkit", - "destination": "/apps/featured-guidelines/design-guidelines" + "destination": "/mini-apps/featured-guidelines/design-guidelines" }, { "source": "/mini-apps/quickstart/new-apps/features", - "destination": "/apps/featured-guidelines/overview" + "destination": "/mini-apps/features/overview" }, { "source": "/mini-apps/quickstart/new-apps/install", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/mini-apps/quickstart/new-apps/deploy", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/mini-apps/quickstart/new-apps/create-manifest", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/mini-apps/design-ux/:slug*", - "destination": "/apps/featured-guidelines/design-guidelines" + "destination": "/mini-apps/featured-guidelines/design-guidelines" }, { "source": "/mini-apps/get-featured/requirements", - "destination": "/apps/featured-guidelines/overview" + "destination": "/mini-apps/featured-guidelines/overview" }, { "source": "/mini-apps/quickstart/launch-checklist", - "destination": "/apps/quickstart/build-checklist" + "destination": "/mini-apps/quickstart/build-checklist" }, { "source": "/mini-apps/technical-reference/minikit/overview", @@ -3044,7 +2727,7 @@ }, { "source": "/ai-agents/introduction", - "destination": "/agents" + "destination": "/ai-agents" }, { "source": "/cookbook/onboard-any-user", @@ -3060,7 +2743,7 @@ }, { "source": "/cookbook/launch-ai-agents", - "destination": "/agents/index" + "destination": "/ai-agents/index" }, { "source": "/cookbook/launch-tokens", @@ -3068,7 +2751,7 @@ }, { "source": "/cookbook/onchain-social", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/defi-your-app", @@ -3080,11 +2763,11 @@ }, { "source": "/cookbook/base-app-coins", - "destination": "/apps/introduction/overview" + "destination": "/mini-apps/introduction/overview" }, { "source": "/cookbook/testing-onchain-apps", - "destination": "/apps/quickstart/deploy-on-base" + "destination": "/base-chain/quickstart/deploy-on-base" }, { "source": "/cookbook/ai-prompting", @@ -3096,11 +2779,11 @@ }, { "source": "/cookbook/introduction-to-mini-apps", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/ai-powered-development-fundamentals", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/mastering-ai-prompt-engineering", @@ -3108,7 +2791,7 @@ }, { "source": "/cookbook/essential-documentation-resources", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/ai-assisted-documentation-reading", @@ -3116,147 +2799,111 @@ }, { "source": "/cookbook/successful-miniapps-in-tba", - "destination": "/apps/featured-guidelines/overview" + "destination": "/mini-apps/featured-guidelines/overview" }, { "source": "/cookbook/minikit/build-your-mini-app-with-prompt", - "destination": "/apps/quickstart/create-new-app" + "destination": "/mini-apps/quickstart/create-new-miniapp" }, { "source": "/cookbook/converting-customizing-mini-apps", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/cookbook/minikit/fork-and-customize", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/cookbook/minikit/install", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/cookbook/minikit/add-minikit", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/cookbook/minikit/configure-environment", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/cookbook/minikit/manifest-cli", - "destination": "/apps/technical-guides/sign-manifest" + "destination": "/mini-apps/technical-guides/sign-manifest" }, { "source": "/cookbook/minikit/create-manifest", - "destination": "/apps/core-concepts/manifest" + "destination": "/mini-apps/core-concepts/manifest" }, { "source": "/cookbook/minikit/add-frame-metadata", - "destination": "/apps/core-concepts/manifest" + "destination": "/mini-apps/core-concepts/manifest" }, { "source": "/cookbook/minikit/test-and-deploy", - "destination": "/apps/quickstart/build-checklist" + "destination": "/mini-apps/quickstart/build-checklist" }, { "source": "/mini-apps/mini-apps/quickstart/migrate-to-standard-web-app", - "destination": "/apps/guides/migrate-to-standard-web-app" + "destination": "/mini-apps/quickstart/migrate-to-standard-web-app" }, { "source": "/ai-agents/core-concepts/agent-frameworks", - "destination": "/agents" + "destination": "/ai-agents" }, { "source": "/ai-agents/core-concepts/wallets", - "destination": "/agents/quickstart" + "destination": "/ai-agents/setup/wallet-setup" }, { "source": "/ai-agents/core-concepts/payments-and-transactions", - "destination": "/agents/guides/x402-payments" + "destination": "/ai-agents/payments/pay-for-services-with-x402" }, { "source": "/ai-agents/core-concepts/identity-verification-auth", - "destination": "/agents/guides/sign-messages" + "destination": "/ai-agents/setup/agent-registration" }, { "source": "/ai-agents/core-concepts/agent-apps", - "destination": "/agents" + "destination": "/ai-agents" }, { "source": "/ai-agents/trading", - "destination": "/agents/guides/swap-tokens" + "destination": "/ai-agents/trading/trade-execution" }, { "source": "/ai-agents/introduction/choosing-a-framework", - "destination": "/agents" + "destination": "/ai-agents" }, { "source": "/ai-agents/quickstart/openclaw-claude", - "destination": "/agents/guides/x402-payments" + "destination": "/ai-agents/quickstart/payments" }, { "source": "/ai-agents/quickstart/agentkit", - "destination": "/agents/quickstart" + "destination": "/ai-agents/skills/index" }, { "source": "/ai-agents/guides/agent-app", - "destination": "/agents" + "destination": "/ai-agents" }, { "source": "/ai-agents/guides/register-and-sign-in-your-agent", - "destination": "/agents/guides/sign-messages" + "destination": "/ai-agents/setup/agent-registration" }, { "source": "/ai-agents/guides/wallet-setup", - "destination": "/agents/quickstart" - }, - { - "source": "/ai-agents/guides/trading", - "destination": "/agents/guides/swap-tokens" - }, - { - "source": "/ai-agents/guides/identity-siwa", - "destination": "/agents/guides/sign-messages" + "destination": "/ai-agents/setup/wallet-setup" }, { - "source": "/mini-apps/quickstart/create-new-miniapp", - "destination": "/apps/quickstart/create-new-app" + "source": "/ai-agents/guides/x402-payments", + "destination": "/ai-agents/payments/x402-protocol" }, { - "source": "/mini-apps/growth/build-viral-mini-apps", - "destination": "/apps/growth/build-viral-apps" - }, - { - "source": "/mini-apps/:slug*", - "destination": "/apps/:slug*" - }, - { - "source": "/base-chain/builder-codes/builder-codes", - "destination": "/apps/builder-codes/builder-codes" - }, - { - "source": "/base-chain/builder-codes/app-developers", - "destination": "/apps/builder-codes/app-developers" - }, - { - "source": "/base-chain/builder-codes/wallet-developers", - "destination": "/apps/builder-codes/wallet-developers" - }, - { - "source": "/base-chain/builder-codes/agent-developers", - "destination": "/apps/builder-codes/agent-developers" - }, - { - "source": "/base-chain/builder-codes", - "destination": "/apps/builder-codes/builder-codes" - }, - { - "source": "/ai-agents", - "destination": "/agents" + "source": "/ai-agents/guides/trading", + "destination": "/ai-agents/trading/trade-execution" }, { - "source": "/ai-agents/:slug*", - "destination": "/agents/:slug*" + "source": "/ai-agents/guides/identity-siwa", + "destination": "/ai-agents/setup/agent-registration" } ], "integrations": { diff --git a/docs/mini-apps/guides/debugging.mdx b/docs/mini-apps/guides/debugging.mdx new file mode 100644 index 000000000..0b71120f9 --- /dev/null +++ b/docs/mini-apps/guides/debugging.mdx @@ -0,0 +1,310 @@ +--- +title: "Debugging Mini Apps" +description: "Diagnose and fix common issues when building Base Mini Apps, from local development to production." +sidebarTitle: "Debugging" +--- + +## Overview + +Mini apps are harder to debug than regular web apps because they run inside Farcaster clients, not as standalone browser tabs. That means you need to debug iframe behavior, runtime context, manifest loading, and client wallet flows in addition to your app code. This guide shows you how to test local builds, inspect logs and network requests, validate your manifest, and fix the most common client-specific issues. + +## Development environment setup + +You cannot fully test a mini app by opening `http://localhost:3000` in a normal browser tab. Farcaster clients need a public HTTPS URL they can load inside their iframe-based runtime, so you need a tunnel during local development. + + +Use your local browser for layout and basic UI checks, but use a public tunnel to test the real mini app runtime. + + + + + Install ngrok with npm: + + ```bash Terminal + npm install -g ngrok + ``` + + Or install it with Homebrew: + + ```bash Terminal + brew install ngrok + ``` + + Start a tunnel to your local app: + + ```bash Terminal + ngrok http 3000 + ``` + + Copy the generated `https://xxxx.ngrok-free.app` URL and paste it into **Warpcast Developer Tools > Preview Frames**. + + + ngrok free-tier URLs change every time you restart the tunnel. Update your manifest each time the public URL changes. + + + + Install `cloudflared` with Homebrew: + + ```bash Terminal + brew install cloudflare/cloudflare/cloudflared + ``` + + Or download it directly from Cloudflare. + + Start a quick tunnel: + + ```bash Terminal + cloudflared tunnel --url http://localhost:3000 + ``` + + Quick tunnels do not require an account for local testing. + + + Cloudflare tunnels stay stable during the session and do not require login, which makes them convenient for repeated debugging. + + + + +## Using the Farcaster Mini App Playground + +The [Farcaster Mini App Playground](https://warpcast.com/~/developers/mini-apps) gives you a live preview of your mini app rendered inside a simulated Farcaster client. + + + + Go to [warpcast.com/~/developers/mini-apps](https://warpcast.com/~/developers/mini-apps). You must be logged in to Warpcast on desktop. + + + Paste your tunnel URL, such as `https://xxxx.ngrok-free.app`. + + + Click **Preview**. + + + The playground renders your app in an iframe that simulates the Farcaster mobile client. + + + With the playground open, press `F12`. Console logs from your app appear in the host page DevTools. + + + + +The playground uses your live tunnel, so code changes that trigger hot reload are reflected in real time after a refresh. + + +## Reading console logs and errors + +Mini apps run inside an iframe, so logs appear in the host page DevTools, not in a separate browser window. + +### Finding iframe logs in Chrome + +Open **DevTools > Console**, then either filter by your tunnel URL or select the iframe context from the JavaScript context dropdown. If you stay in the top-level page context, you can miss the error that blocked your app from loading. + +### Common console errors + +| Error | Likely cause | Fix | +|---|---|---| +| `sdk.actions is not defined` | `@farcaster/frame-sdk` not initialized | Call `sdk.actions.ready()` inside `useEffect` after mount | +| `Missing fc:frame meta tag` | Head metadata not set | Add `fc:frame` meta tag to `` | +| `Failed to fetch manifest` | `farcaster.json` not accessible | Check `/.well-known/farcaster.json` returns `200` | +| `Wallet not connected` | Using `getEthereumProvider` before ready | Wait for `sdk.actions.ready()` to resolve | +| `CORS error on API route` | API not allowing iframe origin | Add CORS headers to your API routes | +| `accountAssociation invalid` | Manifest signed with wrong wallet | Re-sign using your Farcaster custody wallet | + +## Inspecting network requests + +Mini apps make network requests inside an iframe, so inspect them from the browser Network tab while the playground is open. + + + + Open the Warpcast playground with your app already loaded. + + + Open **DevTools > Network**. + + + Filter by **Fetch/XHR** to focus on API calls. + + + Look for failed requests in red, then click each one to inspect request and response details. + + + Verify that `/.well-known/farcaster.json` returns `200` with `Content-Type: application/json`. + + + + +Use **Preserve log** in DevTools to keep network logs across page navigations inside the iframe. + + +## Manifest validation + +The `farcaster.json` manifest is the most common source of bugs. Validate it directly before you debug anything more complex. + +```bash Terminal +curl -s https://yourdomain.com/.well-known/farcaster.json | jq . +``` + + +`accountAssociation.header` is present and non-empty + + + +`accountAssociation.payload` is present + + + +`accountAssociation.signature` is present + + + +`frame.name` is set + + + +`frame.homeUrl` matches your actual deployment URL exactly + + + +`frame.iconUrl` returns `200` + + + +`frame.primaryCategory` is set for search and discovery + + + +`homeUrl` must exactly match the domain you used when signing the manifest. A mismatch causes `accountAssociation` validation to fail silently. + + +## setFrameReady / sdk.actions.ready() — the most common mistake + +The Farcaster client shows a splash screen until your app calls `ready()`. If you never call it, the splash screen stays visible forever. + +### MiniKit + +Use `setFrameReady()` from `useMiniKit()`. + +```tsx App.tsx lines expandable wrap highlight={2,4-8} +import { useEffect } from 'react'; +import { useMiniKit } from '@coinbase/onchainkit/minikit'; + +export function App() { + const { setFrameReady, isFrameReady } = useMiniKit(); + + useEffect(() => { + if (!isFrameReady) { + setFrameReady(); + } + }, [setFrameReady, isFrameReady]); + + return
Your app
; +} +``` + +### Raw SDK + +Use `sdk.actions.ready()`. + +```tsx App.tsx lines wrap highlight={1,5} +import sdk from '@farcaster/frame-sdk'; +import { useEffect } from 'react'; + +export function App() { + useEffect(() => { + sdk.actions.ready(); + }, []); + + return
Your app
; +} +``` + + +Do not call `setFrameReady()` conditionally or after an async operation without handling errors. If the call throws, the splash screen never dismisses. + + +## Context not available (testing outside Farcaster) + +`sdk.context` and `useMiniKit().context` return `null` when you open your app in a regular browser instead of inside Farcaster. That is expected. Mini apps are designed to run inside Farcaster clients. + +```tsx App.tsx lines wrap highlight={2-5} +import { useMiniKit } from '@coinbase/onchainkit/minikit'; + +export function App() { + const { context } = useMiniKit(); + + if (!context) { + return
Open this app inside Farcaster or the Warpcast playground.
; + } + + return
Your app
; +} +``` + + +Add a fallback UI for non-Farcaster environments. It also helps local development before you set up a tunnel. + + +## Wallet issues + +Wallet connection can work in a normal browser and still fail inside Farcaster because Coinbase Wallet in Farcaster uses a different provider than MetaMask or other injected wallets. + +Always use `sdk.wallet.getEthereumProvider()` or `@farcaster/frame-wagmi-connector`, not `window.ethereum` directly. + +```ts wagmi.ts lines wrap highlight={1,3} +import { frameConnector } from '@farcaster/frame-wagmi-connector'; + +const config = createConfig({ + connectors: [frameConnector()], + // ... +}); +``` + + +Sign In with Farcaster inside Coinbase Wallet can require a deeplink back to Warpcast for accounts created there. Prefer wallet auth for a smoother user experience. + + +## Production checklist + + +App is deployed at a public HTTPS URL + + + +`/.well-known/farcaster.json` returns `200` and valid JSON + + + +`setFrameReady()` or `sdk.actions.ready()` is called on mount + + + +Manifest `homeUrl` exactly matches the deployment URL + + + +Manifest is signed with your Farcaster custody wallet + + + +`primaryCategory` is set in the manifest + + + +The app handles `context === null` gracefully + + + +There are no `window.ethereum` references for mini app wallet flows + + + +CORS headers are set on API routes called from the iframe + + +## Related guides + +- [Mini Apps quickstart](/mini-apps/quickstart/create-new-miniapp) +- [Common Issues & Debugging](/mini-apps/troubleshooting/common-issues) +- [MiniKit overview](/builderkits/minikit/overview) +- [MiniKit quickstart](/builderkits/minikit/quickstart) +- [Loading your app](https://miniapps.farcaster.xyz/docs/guides/loading)