[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-base-base-mcp":3,"mdc--s3bsab-key":37,"related-org-base-base-mcp":1302,"related-repo-base-base-mcp":1332},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"base-mcp","manage Base account and transactions","Base MCP — gives your AI assistant access to a Base Account via the Base MCP server (mcp.base.org). Wallet, portfolio, sending, swapping, signing, x402 payments, batched contract calls, and transaction history across supported chains.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"base","Base","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fbase.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Web3","web3","tag",{"name":17,"slug":18,"type":15},"MCP","mcp",{"name":20,"slug":21,"type":15},"Payments","payments",{"name":23,"slug":24,"type":15},"Ethereum","ethereum",{"name":9,"slug":8,"type":15},95,"https:\u002F\u002Fgithub.com\u002Fbase\u002Fskills","2026-07-01T08:14:57.861645",null,109,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"npx skills add base\u002Fskills","https:\u002F\u002Fgithub.com\u002Fbase\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fbase-mcp","---\ntitle: \"Base MCP Skill\"\ndescription: \"Base MCP — gives your AI assistant access to a Base Account via the Base MCP server (mcp.base.org). Wallet, portfolio, sending, swapping, signing, x402 payments, batched contract calls, and transaction history across supported chains.\"\nname: base-mcp\nversion: 0.1.0\n---\n\n# Base MCP\n\n> [!IMPORTANT]\n> ## Run onboarding at the start of every conversation that touches Base MCP\n>\n> Including conversations that jump straight to a plugin topic. Onboarding is short — see below.\n\n## Detection\n\nThe Base MCP exposes its tools to the harness when connected. If no Base MCP tool is callable, the MCP server is not installed: direct the user to https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fquickstart (or load [references\u002Finstall.md](references\u002Finstall.md) for app-specific steps) and stop.\n\nIf Base MCP tools are available, load [references\u002Ftone.md](references\u002Ftone.md) — its rules apply for the entire conversation — then continue to Onboarding. If — and only if — sibling files aren't readable (e.g. you were handed just this `SKILL.md` body and have no local filesystem access to the skill directory), fetch the same relative path from `https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fskills\u002Freferences\u002Ftone.md` using the `web_request` tool from Base MCP. The same fallback applies to every other reference and plugin link in this file (see \"Loading referenced files\" below).\n\n## Onboarding\n\nKeep it short. Do this once per session, before doing real work:\n\n1. **Briefly mention what's available** — one or two sentences. The user has a Base Account wallet and can do things like check balances, send and swap tokens, sign messages, make x402 payments, batch contract calls, and (if installed) use third-party plugins for DeFi, swaps, and other onchain actions. Do not enumerate every tool — the agent discovers tools and plugins directly from the MCP.\n\n2. **Show this disclaimer verbatim** before proceeding:\n\n   > By using the Base MCP, you agree to the [Base Account and Base App Terms of Service](https:\u002F\u002Fwallet.coinbase.com\u002Fterms-of-service). Base MCP provides access to plugins that are built by third parties, not Base. Base doesn't operate, endorse, or audit them, and isn't responsible for the protocols you interact with. Transactions are irreversible — always review before approving.\n\n3. **Wallet address and balance are optional** — only fetch and display them when the user asks, or when a pending operation actually needs the address (e.g., a write call, a position lookup). Don't volunteer a wallet dump up front.\n\n## Tools\n\nThe Base MCP advertises its own tool catalog to the harness. Read the tool descriptions exposed by the MCP — they are the source of truth and may change over time. Do not assume a fixed list; do not preload a tool catalog from this skill.\n\nTwo patterns deserve their own references because they span multiple tools:\n\n| Topic | Reference |\n|-------|-----------|\n| Approval flow (for any write tool that returns an approval URL) | [references\u002Fapproval-mode.md](references\u002Fapproval-mode.md) |\n| Batched contract calls (EIP-5792) | [references\u002Fbatch-calls.md](references\u002Fbatch-calls.md) |\n| Custom \u002F non-native plugins and the `web_request` allowlist | [references\u002Fcustom-plugins.md](references\u002Fcustom-plugins.md) |\n| Platform install steps | [references\u002Finstall.md](references\u002Finstall.md) |\n| Tone and language rules | [references\u002Ftone.md](references\u002Ftone.md) |\n\n### Loading referenced files\n\n- **Default — local.** Read each `references\u002F…` or `plugins\u002F…` link from the same directory as this `SKILL.md` (filesystem read, e.g. `Read`\u002F`cat`). This is the canonical source — always try this first.\n- **Fallback — web (only when local read fails).** If — and only if — the local file is genuinely unreadable (e.g. you were handed `SKILL.md` as a pasted body with no skill directory on disk, or the filesystem read errors), then fetch the same relative path from `https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fskills\u002F\u003Cpath>` (replace `\u003Cpath>` with the relative link, e.g. `references\u002Ftone.md`, `plugins\u002Fmorpho.md`). Use the `web_request` tool from Base MCP for this fetch — that is the required mechanism on every surface, including ones with a built-in web\u002Ffetch tool. Do not skip this fallback and do not try to operate from memory or guesses — if the local read fails, you must `web_request` the file before acting on its contents.\n- **Lazy.** Only load a reference or plugin when the conversation actually needs it. Don't preload the catalog.\n\n## Plugins\n\nPlugins extend Base MCP with third-party functionality (lending, swaps, perps, etc.). Each plugin is a separate third-party service that Base does not operate, endorse, or audit. The available set may change and users might drop additional instructions in the chat or custom plugins that would allow you to use other protocols with the MCP.\n\n### Routing rule — name-gated, never auto-routed\n\nOpen a plugin **only** when the user names that specific third-party platform (e.g. \"swap on Uniswap\", \"lend on Moonwell\", \"buy a gift card on Bitrefill\") or otherwise unambiguously points to it. Never infer a platform from a bare capability — choosing one third-party service over another is the user's decision, not yours.\n\nIf the user asks for a capability **without** naming a platform — \"swap some USDC\", \"earn yield\", \"launch a token\", \"buy a gift card\" — do **not** pick a plugin for them. Instead, list the plugins from the table below that cover that capability (and mention any native Base MCP tool that also does, e.g. the built-in `swap`), then let the user choose. Only after the user names a platform do you open its plugin and act.\n\nPlugins currently maintained alongside this skill (the **native plugins**). Use the table two ways: (a) to route a request that already names a platform to the right plugin, and (b) to assemble the option list when the user asks for a capability without naming one. The \"Open it when…\" column intentionally anchors each trigger to the platform's own name — that name is the trigger.\n\n| Plugin | Open it when the user names this platform and wants to... | Common actions it covers | Notice before acting |\n|--------|----------------------------------|--------------------------|----------------------|\n| [Aerodrome](plugins\u002Faerodrome.md) | Swap, provide liquidity, stake, or claim rewards on Aerodrome. | Pool discovery, swaps, LP add\u002Fremove, staking, unstaking, reward claims. | Base only. Requires a shell-capable harness for the Sugar CLI; stop on chat-only surfaces. |\n| [Avantis](plugins\u002Favantis.md) | Trade leveraged perpetual futures or inspect Avantis trading activity. | Open\u002Fclose positions, cancel orders, adjust margin, set TP\u002FSL, view positions, history, and PnL. | Base only. Leverage can liquidate the position; chat-only surfaces can read data but use the Avantis UI for trade actions. |\n| [Balancer](plugins\u002Fbalancer.md) | Swap tokens or provide liquidity on Balancer. | Read pools\u002Fquotes, build swap calldata, add\u002Fremove liquidity, submit via `send_calls`. | CLI-only — requires shell access; stop on chat-only surfaces. Multi-chain (Base, Ethereum, Arbitrum, Optimism, Avalanche); confirm slippage and low-liquidity risk. |\n| [Bankr](plugins\u002Fbankr.md) | Discover fresh token launches or buy a newly launched token on Bankr. | Read launch feeds, inspect token metadata, buy a selected token. | Base only. New tokens can be illiquid or unsafe; do not auto-buy, and make price\u002Fliquidity risk explicit. |\n| [Bitrefill](plugins\u002Fbitrefill.md) | Buy gift cards, mobile top-ups, or travel eSIMs on Bitrefill, paid with USDC. | Search 1,500+ brands, check out, deliver gift-card codes and eSIM details in chat. | Base only. Requires SIWE login; purchases are irreversible and handle personal data — confirm order details before paying. |\n| [Brickken](plugins\u002Fbrickken.md) | Manage ERC-8004 agent identity, reputation, or agent-token operations on Brickken. | Identity and reputation reads\u002Fwrites, agent-token operations via x402 approval. | Base and Base Sepolia. Writes are irreversible and may involve personal data; review before approving. |\n| [Clawnch](plugins\u002Fclawnch.md) | Discover recent\u002Ftop token launches or launch a token on Clawnch. | Browse launch feeds, inspect tokens, non-custodial launch, swap via `send_calls`. | Base only. New tokens can be illiquid or unsafe and launches are irreversible; make risk explicit. |\n| [Flaunch](plugins\u002Fflaunch.md) | Launch a token on Flaunch or discover\u002Fswap deployed Flaunch tokens. | Prepare launches via `mcp.flaunch.gg`, discover tokens, swap, submit via `send_calls`. | Base only. New tokens can be illiquid; launches and swaps are irreversible — confirm details first. |\n| [GMGN](plugins\u002Fgmgn.md) | Get token swap quotes, gas prices, or trending-token market intelligence on Base via GMGN. | Swap quotes (unsigned calldata via `send_calls`), gas-price tiers, trending tokens. | Base only. CLI-only — requires shell to generate auth params; API key auth. Confirm slippage and watch low-liquidity tokens. |\n| [Hydrex](plugins\u002Fhydrex.md) | Swap tokens or manage concentrated-liquidity positions on Hydrex. | Quotes, swaps, concentrated-liquidity add\u002Fremove, submit via `send_calls`. | Base only. Quotes can move; confirm slippage before writes. |\n| [KyberSwap](plugins\u002Fkyberswap.md) | Swap tokens on KyberSwap (aggregated best-rate routing across chains). | Best-rate routing through 50+ liquidity sources, quotes, swaps via `send_calls`. | Multi-chain (Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche); quotes can move, confirm slippage before swapping. |\n| [Moonwell](plugins\u002Fmoonwell.md) | Lend, borrow, repay, withdraw, or check Moonwell positions\u002Frewards. | Market\u002Frate reads, health checks, supply, withdraw, borrow, repay, rewards lookup. | Works on Base and Optimism. Borrowing can be liquidated; surface health factor before risky actions. |\n| [Morpho](plugins\u002Fmorpho.md) | Earn yield, use Morpho vaults, or borrow\u002Flend in Morpho markets. | Compare vaults, deposit or withdraw, supply collateral, borrow, repay, check positions. | Base only. Borrowing can be liquidated; read health\u002Fposition data before preparing writes. |\n| [o1.exchange](plugins\u002Fo1-exchange.md) | Swap tokens on o1.exchange, optionally with Permit2 gasless approvals and MEV-protected routing. | Quotes, standard swaps via `send_calls`, Permit2 swaps via private relay. | Multi-chain (Base, BSC). Quotes can move and swaps are irreversible; confirm slippage and watch for low-liquidity tokens. |\n| [OpenSea](plugins\u002Fopensea.md) | Trade NFTs, swap tokens, or mint drops on OpenSea. | NFT buy\u002Fsell\u002Flist, token swaps, drops\u002Fminting, submit via `send_calls`. | Multi-chain (Ethereum, Base, Polygon, Arbitrum, Optimism, Avalanche). Requires an API key; trades are irreversible — confirm token, price, and slippage first. |\n| [Printr](plugins\u002Fprintr.md) | Launch a cross-chain token on Printr. | Prepare token-creation calldata via HTTP API, submit via `send_calls`. | Multi-chain (Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, Ethereum). New tokens can be illiquid; launches are irreversible. |\n| [Uniswap](plugins\u002Funiswap.md) | Swap tokens or manage Uniswap liquidity positions. | Token swaps, approval checks, V2\u002FV3\u002FV4 LP create\u002Fincrease\u002Fdecrease\u002Fcollect flows. | Base only. Quotes can move; confirm slippage and token\u002Fposition details before writes. |\n| [Venice](plugins\u002Fvenice.md) | Run private AI inference or media generation on Venice, optionally funded with x402. | Text and media inference via the Venice API, optional Base x402 wallet funding. | Base only. Requires SIWE login; inference handles personal data and paid calls are irreversible. |\n| [Virtuals](plugins\u002Fvirtuals.md) | Create or operate Virtuals AI agents, payment cards, or agent email. | Agent management, card setup and limits, email inbox\u002Fthread actions, SIWE login. | Requires the Virtuals MCP and a signed login. Handles personal data; avoid exposing tokens, OTPs, card details, or email contents unnecessarily. |\n| [YO](plugins\u002Fyo.md) | View YO vaults, check positions, deposit, or request redeem on YO yield vaults. | ERC-4626 vault reads via `chain_rpc_request`, deposit, request redeem via `send_calls`. | Multi-chain (Base, Ethereum, Arbitrum). Deposits and redeems are irreversible; confirm amounts and vault before writes. |\n\nLoad a plugin reference only once the user has named the platform it covers (per the routing rule above), following the same local-first, web-fallback rule as references (see [Loading referenced files](#loading-referenced-files) above). For a plugin's own external tools, defer to the plugin file first, then to any CLI help, API schema, or MCP tool descriptions it explicitly tells you to use.\n\n### Native plugins vs. custom \u002F user-supplied plugins\n\nNative plugin HTTP hosts may be allowlisted in the Base MCP `web_request` tool. Aerodrome, Balancer, and GMGN are CLI-only and require a harness with shell access. Avantis is hybrid: view-only reads (market data, positions, PnL) work on every surface via `web_request`, while tx-builder calls require a CLI harness — on chat-only surfaces the plugin links the user to the Avantis web UI instead (see [plugins\u002Favantis.md](plugins\u002Favantis.md)). Morpho is hybrid too: use Morpho CLI when shell access exists, otherwise use or install the Morpho MCP as described in [plugins\u002Fmorpho.md](plugins\u002Fmorpho.md). Custom or user-supplied plugins usually aren't allowlisted — load [references\u002Fcustom-plugins.md](references\u002Fcustom-plugins.md) for the decision tree on which HTTP path to use (harness HTTP tool vs. user-paste fallback, and the GET-only constraint on Claude\u002FChatGPT consumer surfaces).\n\n## Installation\n\n```bash\nnpx skills add base\u002Fskills --skill base-mcp\n```\n",{"data":38,"body":41},{"title":39,"description":6,"name":4,"version":40},"Base MCP Skill","0.1.0",{"type":42,"children":43},"root",[44,52,78,84,106,143,149,154,207,213,218,223,336,343,468,474,479,485,497,524,536,1187,1199,1205,1242,1248,1296],{"type":45,"tag":46,"props":47,"children":48},"element","h1",{"id":4},[49],{"type":50,"value":51},"text","Base MCP",{"type":45,"tag":53,"props":54,"children":55},"blockquote",{},[56,66,73],{"type":45,"tag":57,"props":58,"children":59},"p",{},[60],{"type":45,"tag":61,"props":62,"children":63},"span",{},[64],{"type":50,"value":65},"!IMPORTANT",{"type":45,"tag":67,"props":68,"children":70},"h2",{"id":69},"run-onboarding-at-the-start-of-every-conversation-that-touches-base-mcp",[71],{"type":50,"value":72},"Run onboarding at the start of every conversation that touches Base MCP",{"type":45,"tag":57,"props":74,"children":75},{},[76],{"type":50,"value":77},"Including conversations that jump straight to a plugin topic. Onboarding is short — see below.",{"type":45,"tag":67,"props":79,"children":81},{"id":80},"detection",[82],{"type":50,"value":83},"Detection",{"type":45,"tag":57,"props":85,"children":86},{},[87,89,97,99,104],{"type":50,"value":88},"The Base MCP exposes its tools to the harness when connected. If no Base MCP tool is callable, the MCP server is not installed: direct the user to ",{"type":45,"tag":90,"props":91,"children":95},"a",{"href":92,"rel":93},"https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fquickstart",[94],"nofollow",[96],{"type":50,"value":92},{"type":50,"value":98}," (or load ",{"type":45,"tag":90,"props":100,"children":102},{"href":101},"references\u002Finstall.md",[103],{"type":50,"value":101},{"type":50,"value":105}," for app-specific steps) and stop.",{"type":45,"tag":57,"props":107,"children":108},{},[109,111,116,118,125,127,133,135,141],{"type":50,"value":110},"If Base MCP tools are available, load ",{"type":45,"tag":90,"props":112,"children":114},{"href":113},"references\u002Ftone.md",[115],{"type":50,"value":113},{"type":50,"value":117}," — its rules apply for the entire conversation — then continue to Onboarding. If — and only if — sibling files aren't readable (e.g. you were handed just this ",{"type":45,"tag":119,"props":120,"children":122},"code",{"className":121},[],[123],{"type":50,"value":124},"SKILL.md",{"type":50,"value":126}," body and have no local filesystem access to the skill directory), fetch the same relative path from ",{"type":45,"tag":119,"props":128,"children":130},{"className":129},[],[131],{"type":50,"value":132},"https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fskills\u002Freferences\u002Ftone.md",{"type":50,"value":134}," using the ",{"type":45,"tag":119,"props":136,"children":138},{"className":137},[],[139],{"type":50,"value":140},"web_request",{"type":50,"value":142}," tool from Base MCP. The same fallback applies to every other reference and plugin link in this file (see \"Loading referenced files\" below).",{"type":45,"tag":67,"props":144,"children":146},{"id":145},"onboarding",[147],{"type":50,"value":148},"Onboarding",{"type":45,"tag":57,"props":150,"children":151},{},[152],{"type":50,"value":153},"Keep it short. Do this once per session, before doing real work:",{"type":45,"tag":155,"props":156,"children":157},"ol",{},[158,170,197],{"type":45,"tag":159,"props":160,"children":161},"li",{},[162,168],{"type":45,"tag":163,"props":164,"children":165},"strong",{},[166],{"type":50,"value":167},"Briefly mention what's available",{"type":50,"value":169}," — one or two sentences. The user has a Base Account wallet and can do things like check balances, send and swap tokens, sign messages, make x402 payments, batch contract calls, and (if installed) use third-party plugins for DeFi, swaps, and other onchain actions. Do not enumerate every tool — the agent discovers tools and plugins directly from the MCP.",{"type":45,"tag":159,"props":171,"children":172},{},[173,178,180],{"type":45,"tag":163,"props":174,"children":175},{},[176],{"type":50,"value":177},"Show this disclaimer verbatim",{"type":50,"value":179}," before proceeding:",{"type":45,"tag":53,"props":181,"children":182},{},[183],{"type":45,"tag":57,"props":184,"children":185},{},[186,188,195],{"type":50,"value":187},"By using the Base MCP, you agree to the ",{"type":45,"tag":90,"props":189,"children":192},{"href":190,"rel":191},"https:\u002F\u002Fwallet.coinbase.com\u002Fterms-of-service",[94],[193],{"type":50,"value":194},"Base Account and Base App Terms of Service",{"type":50,"value":196},". Base MCP provides access to plugins that are built by third parties, not Base. Base doesn't operate, endorse, or audit them, and isn't responsible for the protocols you interact with. Transactions are irreversible — always review before approving.",{"type":45,"tag":159,"props":198,"children":199},{},[200,205],{"type":45,"tag":163,"props":201,"children":202},{},[203],{"type":50,"value":204},"Wallet address and balance are optional",{"type":50,"value":206}," — only fetch and display them when the user asks, or when a pending operation actually needs the address (e.g., a write call, a position lookup). Don't volunteer a wallet dump up front.",{"type":45,"tag":67,"props":208,"children":210},{"id":209},"tools",[211],{"type":50,"value":212},"Tools",{"type":45,"tag":57,"props":214,"children":215},{},[216],{"type":50,"value":217},"The Base MCP advertises its own tool catalog to the harness. Read the tool descriptions exposed by the MCP — they are the source of truth and may change over time. Do not assume a fixed list; do not preload a tool catalog from this skill.",{"type":45,"tag":57,"props":219,"children":220},{},[221],{"type":50,"value":222},"Two patterns deserve their own references because they span multiple tools:",{"type":45,"tag":224,"props":225,"children":226},"table",{},[227,246],{"type":45,"tag":228,"props":229,"children":230},"thead",{},[231],{"type":45,"tag":232,"props":233,"children":234},"tr",{},[235,241],{"type":45,"tag":236,"props":237,"children":238},"th",{},[239],{"type":50,"value":240},"Topic",{"type":45,"tag":236,"props":242,"children":243},{},[244],{"type":50,"value":245},"Reference",{"type":45,"tag":247,"props":248,"children":249},"tbody",{},[250,267,283,306,321],{"type":45,"tag":232,"props":251,"children":252},{},[253,259],{"type":45,"tag":254,"props":255,"children":256},"td",{},[257],{"type":50,"value":258},"Approval flow (for any write tool that returns an approval URL)",{"type":45,"tag":254,"props":260,"children":261},{},[262],{"type":45,"tag":90,"props":263,"children":265},{"href":264},"references\u002Fapproval-mode.md",[266],{"type":50,"value":264},{"type":45,"tag":232,"props":268,"children":269},{},[270,275],{"type":45,"tag":254,"props":271,"children":272},{},[273],{"type":50,"value":274},"Batched contract calls (EIP-5792)",{"type":45,"tag":254,"props":276,"children":277},{},[278],{"type":45,"tag":90,"props":279,"children":281},{"href":280},"references\u002Fbatch-calls.md",[282],{"type":50,"value":280},{"type":45,"tag":232,"props":284,"children":285},{},[286,298],{"type":45,"tag":254,"props":287,"children":288},{},[289,291,296],{"type":50,"value":290},"Custom \u002F non-native plugins and the ",{"type":45,"tag":119,"props":292,"children":294},{"className":293},[],[295],{"type":50,"value":140},{"type":50,"value":297}," allowlist",{"type":45,"tag":254,"props":299,"children":300},{},[301],{"type":45,"tag":90,"props":302,"children":304},{"href":303},"references\u002Fcustom-plugins.md",[305],{"type":50,"value":303},{"type":45,"tag":232,"props":307,"children":308},{},[309,314],{"type":45,"tag":254,"props":310,"children":311},{},[312],{"type":50,"value":313},"Platform install steps",{"type":45,"tag":254,"props":315,"children":316},{},[317],{"type":45,"tag":90,"props":318,"children":319},{"href":101},[320],{"type":50,"value":101},{"type":45,"tag":232,"props":322,"children":323},{},[324,329],{"type":45,"tag":254,"props":325,"children":326},{},[327],{"type":50,"value":328},"Tone and language rules",{"type":45,"tag":254,"props":330,"children":331},{},[332],{"type":45,"tag":90,"props":333,"children":334},{"href":113},[335],{"type":50,"value":113},{"type":45,"tag":337,"props":338,"children":340},"h3",{"id":339},"loading-referenced-files",[341],{"type":50,"value":342},"Loading referenced files",{"type":45,"tag":344,"props":345,"children":346},"ul",{},[347,396,458],{"type":45,"tag":159,"props":348,"children":349},{},[350,355,357,363,365,371,373,378,380,386,388,394],{"type":45,"tag":163,"props":351,"children":352},{},[353],{"type":50,"value":354},"Default — local.",{"type":50,"value":356}," Read each ",{"type":45,"tag":119,"props":358,"children":360},{"className":359},[],[361],{"type":50,"value":362},"references\u002F…",{"type":50,"value":364}," or ",{"type":45,"tag":119,"props":366,"children":368},{"className":367},[],[369],{"type":50,"value":370},"plugins\u002F…",{"type":50,"value":372}," link from the same directory as this ",{"type":45,"tag":119,"props":374,"children":376},{"className":375},[],[377],{"type":50,"value":124},{"type":50,"value":379}," (filesystem read, e.g. ",{"type":45,"tag":119,"props":381,"children":383},{"className":382},[],[384],{"type":50,"value":385},"Read",{"type":50,"value":387},"\u002F",{"type":45,"tag":119,"props":389,"children":391},{"className":390},[],[392],{"type":50,"value":393},"cat",{"type":50,"value":395},"). This is the canonical source — always try this first.",{"type":45,"tag":159,"props":397,"children":398},{},[399,404,406,411,413,419,421,427,429,434,436,442,444,449,451,456],{"type":45,"tag":163,"props":400,"children":401},{},[402],{"type":50,"value":403},"Fallback — web (only when local read fails).",{"type":50,"value":405}," If — and only if — the local file is genuinely unreadable (e.g. you were handed ",{"type":45,"tag":119,"props":407,"children":409},{"className":408},[],[410],{"type":50,"value":124},{"type":50,"value":412}," as a pasted body with no skill directory on disk, or the filesystem read errors), then fetch the same relative path from ",{"type":45,"tag":119,"props":414,"children":416},{"className":415},[],[417],{"type":50,"value":418},"https:\u002F\u002Fdocs.base.org\u002Fai-agents\u002Fskills\u002F\u003Cpath>",{"type":50,"value":420}," (replace ",{"type":45,"tag":119,"props":422,"children":424},{"className":423},[],[425],{"type":50,"value":426},"\u003Cpath>",{"type":50,"value":428}," with the relative link, e.g. ",{"type":45,"tag":119,"props":430,"children":432},{"className":431},[],[433],{"type":50,"value":113},{"type":50,"value":435},", ",{"type":45,"tag":119,"props":437,"children":439},{"className":438},[],[440],{"type":50,"value":441},"plugins\u002Fmorpho.md",{"type":50,"value":443},"). Use the ",{"type":45,"tag":119,"props":445,"children":447},{"className":446},[],[448],{"type":50,"value":140},{"type":50,"value":450}," tool from Base MCP for this fetch — that is the required mechanism on every surface, including ones with a built-in web\u002Ffetch tool. Do not skip this fallback and do not try to operate from memory or guesses — if the local read fails, you must ",{"type":45,"tag":119,"props":452,"children":454},{"className":453},[],[455],{"type":50,"value":140},{"type":50,"value":457}," the file before acting on its contents.",{"type":45,"tag":159,"props":459,"children":460},{},[461,466],{"type":45,"tag":163,"props":462,"children":463},{},[464],{"type":50,"value":465},"Lazy.",{"type":50,"value":467}," Only load a reference or plugin when the conversation actually needs it. Don't preload the catalog.",{"type":45,"tag":67,"props":469,"children":471},{"id":470},"plugins",[472],{"type":50,"value":473},"Plugins",{"type":45,"tag":57,"props":475,"children":476},{},[477],{"type":50,"value":478},"Plugins extend Base MCP with third-party functionality (lending, swaps, perps, etc.). Each plugin is a separate third-party service that Base does not operate, endorse, or audit. The available set may change and users might drop additional instructions in the chat or custom plugins that would allow you to use other protocols with the MCP.",{"type":45,"tag":337,"props":480,"children":482},{"id":481},"routing-rule-name-gated-never-auto-routed",[483],{"type":50,"value":484},"Routing rule — name-gated, never auto-routed",{"type":45,"tag":57,"props":486,"children":487},{},[488,490,495],{"type":50,"value":489},"Open a plugin ",{"type":45,"tag":163,"props":491,"children":492},{},[493],{"type":50,"value":494},"only",{"type":50,"value":496}," when the user names that specific third-party platform (e.g. \"swap on Uniswap\", \"lend on Moonwell\", \"buy a gift card on Bitrefill\") or otherwise unambiguously points to it. Never infer a platform from a bare capability — choosing one third-party service over another is the user's decision, not yours.",{"type":45,"tag":57,"props":498,"children":499},{},[500,502,507,509,514,516,522],{"type":50,"value":501},"If the user asks for a capability ",{"type":45,"tag":163,"props":503,"children":504},{},[505],{"type":50,"value":506},"without",{"type":50,"value":508}," naming a platform — \"swap some USDC\", \"earn yield\", \"launch a token\", \"buy a gift card\" — do ",{"type":45,"tag":163,"props":510,"children":511},{},[512],{"type":50,"value":513},"not",{"type":50,"value":515}," pick a plugin for them. Instead, list the plugins from the table below that cover that capability (and mention any native Base MCP tool that also does, e.g. the built-in ",{"type":45,"tag":119,"props":517,"children":519},{"className":518},[],[520],{"type":50,"value":521},"swap",{"type":50,"value":523},"), then let the user choose. Only after the user names a platform do you open its plugin and act.",{"type":45,"tag":57,"props":525,"children":526},{},[527,529,534],{"type":50,"value":528},"Plugins currently maintained alongside this skill (the ",{"type":45,"tag":163,"props":530,"children":531},{},[532],{"type":50,"value":533},"native plugins",{"type":50,"value":535},"). Use the table two ways: (a) to route a request that already names a platform to the right plugin, and (b) to assemble the option list when the user asks for a capability without naming one. The \"Open it when…\" column intentionally anchors each trigger to the platform's own name — that name is the trigger.",{"type":45,"tag":224,"props":537,"children":538},{},[539,565],{"type":45,"tag":228,"props":540,"children":541},{},[542],{"type":45,"tag":232,"props":543,"children":544},{},[545,550,555,560],{"type":45,"tag":236,"props":546,"children":547},{},[548],{"type":50,"value":549},"Plugin",{"type":45,"tag":236,"props":551,"children":552},{},[553],{"type":50,"value":554},"Open it when the user names this platform and wants to...",{"type":45,"tag":236,"props":556,"children":557},{},[558],{"type":50,"value":559},"Common actions it covers",{"type":45,"tag":236,"props":561,"children":562},{},[563],{"type":50,"value":564},"Notice before acting",{"type":45,"tag":247,"props":566,"children":567},{},[568,595,622,657,684,711,738,771,812,846,879,912,939,965,999,1032,1065,1092,1119,1146],{"type":45,"tag":232,"props":569,"children":570},{},[571,580,585,590],{"type":45,"tag":254,"props":572,"children":573},{},[574],{"type":45,"tag":90,"props":575,"children":577},{"href":576},"plugins\u002Faerodrome.md",[578],{"type":50,"value":579},"Aerodrome",{"type":45,"tag":254,"props":581,"children":582},{},[583],{"type":50,"value":584},"Swap, provide liquidity, stake, or claim rewards on Aerodrome.",{"type":45,"tag":254,"props":586,"children":587},{},[588],{"type":50,"value":589},"Pool discovery, swaps, LP add\u002Fremove, staking, unstaking, reward claims.",{"type":45,"tag":254,"props":591,"children":592},{},[593],{"type":50,"value":594},"Base only. Requires a shell-capable harness for the Sugar CLI; stop on chat-only surfaces.",{"type":45,"tag":232,"props":596,"children":597},{},[598,607,612,617],{"type":45,"tag":254,"props":599,"children":600},{},[601],{"type":45,"tag":90,"props":602,"children":604},{"href":603},"plugins\u002Favantis.md",[605],{"type":50,"value":606},"Avantis",{"type":45,"tag":254,"props":608,"children":609},{},[610],{"type":50,"value":611},"Trade leveraged perpetual futures or inspect Avantis trading activity.",{"type":45,"tag":254,"props":613,"children":614},{},[615],{"type":50,"value":616},"Open\u002Fclose positions, cancel orders, adjust margin, set TP\u002FSL, view positions, history, and PnL.",{"type":45,"tag":254,"props":618,"children":619},{},[620],{"type":50,"value":621},"Base only. Leverage can liquidate the position; chat-only surfaces can read data but use the Avantis UI for trade actions.",{"type":45,"tag":232,"props":623,"children":624},{},[625,634,639,652],{"type":45,"tag":254,"props":626,"children":627},{},[628],{"type":45,"tag":90,"props":629,"children":631},{"href":630},"plugins\u002Fbalancer.md",[632],{"type":50,"value":633},"Balancer",{"type":45,"tag":254,"props":635,"children":636},{},[637],{"type":50,"value":638},"Swap tokens or provide liquidity on Balancer.",{"type":45,"tag":254,"props":640,"children":641},{},[642,644,650],{"type":50,"value":643},"Read pools\u002Fquotes, build swap calldata, add\u002Fremove liquidity, submit via ",{"type":45,"tag":119,"props":645,"children":647},{"className":646},[],[648],{"type":50,"value":649},"send_calls",{"type":50,"value":651},".",{"type":45,"tag":254,"props":653,"children":654},{},[655],{"type":50,"value":656},"CLI-only — requires shell access; stop on chat-only surfaces. Multi-chain (Base, Ethereum, Arbitrum, Optimism, Avalanche); confirm slippage and low-liquidity risk.",{"type":45,"tag":232,"props":658,"children":659},{},[660,669,674,679],{"type":45,"tag":254,"props":661,"children":662},{},[663],{"type":45,"tag":90,"props":664,"children":666},{"href":665},"plugins\u002Fbankr.md",[667],{"type":50,"value":668},"Bankr",{"type":45,"tag":254,"props":670,"children":671},{},[672],{"type":50,"value":673},"Discover fresh token launches or buy a newly launched token on Bankr.",{"type":45,"tag":254,"props":675,"children":676},{},[677],{"type":50,"value":678},"Read launch feeds, inspect token metadata, buy a selected token.",{"type":45,"tag":254,"props":680,"children":681},{},[682],{"type":50,"value":683},"Base only. New tokens can be illiquid or unsafe; do not auto-buy, and make price\u002Fliquidity risk explicit.",{"type":45,"tag":232,"props":685,"children":686},{},[687,696,701,706],{"type":45,"tag":254,"props":688,"children":689},{},[690],{"type":45,"tag":90,"props":691,"children":693},{"href":692},"plugins\u002Fbitrefill.md",[694],{"type":50,"value":695},"Bitrefill",{"type":45,"tag":254,"props":697,"children":698},{},[699],{"type":50,"value":700},"Buy gift cards, mobile top-ups, or travel eSIMs on Bitrefill, paid with USDC.",{"type":45,"tag":254,"props":702,"children":703},{},[704],{"type":50,"value":705},"Search 1,500+ brands, check out, deliver gift-card codes and eSIM details in chat.",{"type":45,"tag":254,"props":707,"children":708},{},[709],{"type":50,"value":710},"Base only. Requires SIWE login; purchases are irreversible and handle personal data — confirm order details before paying.",{"type":45,"tag":232,"props":712,"children":713},{},[714,723,728,733],{"type":45,"tag":254,"props":715,"children":716},{},[717],{"type":45,"tag":90,"props":718,"children":720},{"href":719},"plugins\u002Fbrickken.md",[721],{"type":50,"value":722},"Brickken",{"type":45,"tag":254,"props":724,"children":725},{},[726],{"type":50,"value":727},"Manage ERC-8004 agent identity, reputation, or agent-token operations on Brickken.",{"type":45,"tag":254,"props":729,"children":730},{},[731],{"type":50,"value":732},"Identity and reputation reads\u002Fwrites, agent-token operations via x402 approval.",{"type":45,"tag":254,"props":734,"children":735},{},[736],{"type":50,"value":737},"Base and Base Sepolia. Writes are irreversible and may involve personal data; review before approving.",{"type":45,"tag":232,"props":739,"children":740},{},[741,750,755,766],{"type":45,"tag":254,"props":742,"children":743},{},[744],{"type":45,"tag":90,"props":745,"children":747},{"href":746},"plugins\u002Fclawnch.md",[748],{"type":50,"value":749},"Clawnch",{"type":45,"tag":254,"props":751,"children":752},{},[753],{"type":50,"value":754},"Discover recent\u002Ftop token launches or launch a token on Clawnch.",{"type":45,"tag":254,"props":756,"children":757},{},[758,760,765],{"type":50,"value":759},"Browse launch feeds, inspect tokens, non-custodial launch, swap via ",{"type":45,"tag":119,"props":761,"children":763},{"className":762},[],[764],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":767,"children":768},{},[769],{"type":50,"value":770},"Base only. New tokens can be illiquid or unsafe and launches are irreversible; make risk explicit.",{"type":45,"tag":232,"props":772,"children":773},{},[774,783,788,807],{"type":45,"tag":254,"props":775,"children":776},{},[777],{"type":45,"tag":90,"props":778,"children":780},{"href":779},"plugins\u002Fflaunch.md",[781],{"type":50,"value":782},"Flaunch",{"type":45,"tag":254,"props":784,"children":785},{},[786],{"type":50,"value":787},"Launch a token on Flaunch or discover\u002Fswap deployed Flaunch tokens.",{"type":45,"tag":254,"props":789,"children":790},{},[791,793,799,801,806],{"type":50,"value":792},"Prepare launches via ",{"type":45,"tag":119,"props":794,"children":796},{"className":795},[],[797],{"type":50,"value":798},"mcp.flaunch.gg",{"type":50,"value":800},", discover tokens, swap, submit via ",{"type":45,"tag":119,"props":802,"children":804},{"className":803},[],[805],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":808,"children":809},{},[810],{"type":50,"value":811},"Base only. New tokens can be illiquid; launches and swaps are irreversible — confirm details first.",{"type":45,"tag":232,"props":813,"children":814},{},[815,824,829,841],{"type":45,"tag":254,"props":816,"children":817},{},[818],{"type":45,"tag":90,"props":819,"children":821},{"href":820},"plugins\u002Fgmgn.md",[822],{"type":50,"value":823},"GMGN",{"type":45,"tag":254,"props":825,"children":826},{},[827],{"type":50,"value":828},"Get token swap quotes, gas prices, or trending-token market intelligence on Base via GMGN.",{"type":45,"tag":254,"props":830,"children":831},{},[832,834,839],{"type":50,"value":833},"Swap quotes (unsigned calldata via ",{"type":45,"tag":119,"props":835,"children":837},{"className":836},[],[838],{"type":50,"value":649},{"type":50,"value":840},"), gas-price tiers, trending tokens.",{"type":45,"tag":254,"props":842,"children":843},{},[844],{"type":50,"value":845},"Base only. CLI-only — requires shell to generate auth params; API key auth. Confirm slippage and watch low-liquidity tokens.",{"type":45,"tag":232,"props":847,"children":848},{},[849,858,863,874],{"type":45,"tag":254,"props":850,"children":851},{},[852],{"type":45,"tag":90,"props":853,"children":855},{"href":854},"plugins\u002Fhydrex.md",[856],{"type":50,"value":857},"Hydrex",{"type":45,"tag":254,"props":859,"children":860},{},[861],{"type":50,"value":862},"Swap tokens or manage concentrated-liquidity positions on Hydrex.",{"type":45,"tag":254,"props":864,"children":865},{},[866,868,873],{"type":50,"value":867},"Quotes, swaps, concentrated-liquidity add\u002Fremove, submit via ",{"type":45,"tag":119,"props":869,"children":871},{"className":870},[],[872],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":875,"children":876},{},[877],{"type":50,"value":878},"Base only. Quotes can move; confirm slippage before writes.",{"type":45,"tag":232,"props":880,"children":881},{},[882,891,896,907],{"type":45,"tag":254,"props":883,"children":884},{},[885],{"type":45,"tag":90,"props":886,"children":888},{"href":887},"plugins\u002Fkyberswap.md",[889],{"type":50,"value":890},"KyberSwap",{"type":45,"tag":254,"props":892,"children":893},{},[894],{"type":50,"value":895},"Swap tokens on KyberSwap (aggregated best-rate routing across chains).",{"type":45,"tag":254,"props":897,"children":898},{},[899,901,906],{"type":50,"value":900},"Best-rate routing through 50+ liquidity sources, quotes, swaps via ",{"type":45,"tag":119,"props":902,"children":904},{"className":903},[],[905],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":908,"children":909},{},[910],{"type":50,"value":911},"Multi-chain (Base, Ethereum, Arbitrum, Optimism, Polygon, BSC, Avalanche); quotes can move, confirm slippage before swapping.",{"type":45,"tag":232,"props":913,"children":914},{},[915,924,929,934],{"type":45,"tag":254,"props":916,"children":917},{},[918],{"type":45,"tag":90,"props":919,"children":921},{"href":920},"plugins\u002Fmoonwell.md",[922],{"type":50,"value":923},"Moonwell",{"type":45,"tag":254,"props":925,"children":926},{},[927],{"type":50,"value":928},"Lend, borrow, repay, withdraw, or check Moonwell positions\u002Frewards.",{"type":45,"tag":254,"props":930,"children":931},{},[932],{"type":50,"value":933},"Market\u002Frate reads, health checks, supply, withdraw, borrow, repay, rewards lookup.",{"type":45,"tag":254,"props":935,"children":936},{},[937],{"type":50,"value":938},"Works on Base and Optimism. Borrowing can be liquidated; surface health factor before risky actions.",{"type":45,"tag":232,"props":940,"children":941},{},[942,950,955,960],{"type":45,"tag":254,"props":943,"children":944},{},[945],{"type":45,"tag":90,"props":946,"children":947},{"href":441},[948],{"type":50,"value":949},"Morpho",{"type":45,"tag":254,"props":951,"children":952},{},[953],{"type":50,"value":954},"Earn yield, use Morpho vaults, or borrow\u002Flend in Morpho markets.",{"type":45,"tag":254,"props":956,"children":957},{},[958],{"type":50,"value":959},"Compare vaults, deposit or withdraw, supply collateral, borrow, repay, check positions.",{"type":45,"tag":254,"props":961,"children":962},{},[963],{"type":50,"value":964},"Base only. Borrowing can be liquidated; read health\u002Fposition data before preparing writes.",{"type":45,"tag":232,"props":966,"children":967},{},[968,977,982,994],{"type":45,"tag":254,"props":969,"children":970},{},[971],{"type":45,"tag":90,"props":972,"children":974},{"href":973},"plugins\u002Fo1-exchange.md",[975],{"type":50,"value":976},"o1.exchange",{"type":45,"tag":254,"props":978,"children":979},{},[980],{"type":50,"value":981},"Swap tokens on o1.exchange, optionally with Permit2 gasless approvals and MEV-protected routing.",{"type":45,"tag":254,"props":983,"children":984},{},[985,987,992],{"type":50,"value":986},"Quotes, standard swaps via ",{"type":45,"tag":119,"props":988,"children":990},{"className":989},[],[991],{"type":50,"value":649},{"type":50,"value":993},", Permit2 swaps via private relay.",{"type":45,"tag":254,"props":995,"children":996},{},[997],{"type":50,"value":998},"Multi-chain (Base, BSC). Quotes can move and swaps are irreversible; confirm slippage and watch for low-liquidity tokens.",{"type":45,"tag":232,"props":1000,"children":1001},{},[1002,1011,1016,1027],{"type":45,"tag":254,"props":1003,"children":1004},{},[1005],{"type":45,"tag":90,"props":1006,"children":1008},{"href":1007},"plugins\u002Fopensea.md",[1009],{"type":50,"value":1010},"OpenSea",{"type":45,"tag":254,"props":1012,"children":1013},{},[1014],{"type":50,"value":1015},"Trade NFTs, swap tokens, or mint drops on OpenSea.",{"type":45,"tag":254,"props":1017,"children":1018},{},[1019,1021,1026],{"type":50,"value":1020},"NFT buy\u002Fsell\u002Flist, token swaps, drops\u002Fminting, submit via ",{"type":45,"tag":119,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":1028,"children":1029},{},[1030],{"type":50,"value":1031},"Multi-chain (Ethereum, Base, Polygon, Arbitrum, Optimism, Avalanche). Requires an API key; trades are irreversible — confirm token, price, and slippage first.",{"type":45,"tag":232,"props":1033,"children":1034},{},[1035,1044,1049,1060],{"type":45,"tag":254,"props":1036,"children":1037},{},[1038],{"type":45,"tag":90,"props":1039,"children":1041},{"href":1040},"plugins\u002Fprintr.md",[1042],{"type":50,"value":1043},"Printr",{"type":45,"tag":254,"props":1045,"children":1046},{},[1047],{"type":50,"value":1048},"Launch a cross-chain token on Printr.",{"type":45,"tag":254,"props":1050,"children":1051},{},[1052,1054,1059],{"type":50,"value":1053},"Prepare token-creation calldata via HTTP API, submit via ",{"type":45,"tag":119,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":1061,"children":1062},{},[1063],{"type":50,"value":1064},"Multi-chain (Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, Ethereum). New tokens can be illiquid; launches are irreversible.",{"type":45,"tag":232,"props":1066,"children":1067},{},[1068,1077,1082,1087],{"type":45,"tag":254,"props":1069,"children":1070},{},[1071],{"type":45,"tag":90,"props":1072,"children":1074},{"href":1073},"plugins\u002Funiswap.md",[1075],{"type":50,"value":1076},"Uniswap",{"type":45,"tag":254,"props":1078,"children":1079},{},[1080],{"type":50,"value":1081},"Swap tokens or manage Uniswap liquidity positions.",{"type":45,"tag":254,"props":1083,"children":1084},{},[1085],{"type":50,"value":1086},"Token swaps, approval checks, V2\u002FV3\u002FV4 LP create\u002Fincrease\u002Fdecrease\u002Fcollect flows.",{"type":45,"tag":254,"props":1088,"children":1089},{},[1090],{"type":50,"value":1091},"Base only. Quotes can move; confirm slippage and token\u002Fposition details before writes.",{"type":45,"tag":232,"props":1093,"children":1094},{},[1095,1104,1109,1114],{"type":45,"tag":254,"props":1096,"children":1097},{},[1098],{"type":45,"tag":90,"props":1099,"children":1101},{"href":1100},"plugins\u002Fvenice.md",[1102],{"type":50,"value":1103},"Venice",{"type":45,"tag":254,"props":1105,"children":1106},{},[1107],{"type":50,"value":1108},"Run private AI inference or media generation on Venice, optionally funded with x402.",{"type":45,"tag":254,"props":1110,"children":1111},{},[1112],{"type":50,"value":1113},"Text and media inference via the Venice API, optional Base x402 wallet funding.",{"type":45,"tag":254,"props":1115,"children":1116},{},[1117],{"type":50,"value":1118},"Base only. Requires SIWE login; inference handles personal data and paid calls are irreversible.",{"type":45,"tag":232,"props":1120,"children":1121},{},[1122,1131,1136,1141],{"type":45,"tag":254,"props":1123,"children":1124},{},[1125],{"type":45,"tag":90,"props":1126,"children":1128},{"href":1127},"plugins\u002Fvirtuals.md",[1129],{"type":50,"value":1130},"Virtuals",{"type":45,"tag":254,"props":1132,"children":1133},{},[1134],{"type":50,"value":1135},"Create or operate Virtuals AI agents, payment cards, or agent email.",{"type":45,"tag":254,"props":1137,"children":1138},{},[1139],{"type":50,"value":1140},"Agent management, card setup and limits, email inbox\u002Fthread actions, SIWE login.",{"type":45,"tag":254,"props":1142,"children":1143},{},[1144],{"type":50,"value":1145},"Requires the Virtuals MCP and a signed login. Handles personal data; avoid exposing tokens, OTPs, card details, or email contents unnecessarily.",{"type":45,"tag":232,"props":1147,"children":1148},{},[1149,1158,1163,1182],{"type":45,"tag":254,"props":1150,"children":1151},{},[1152],{"type":45,"tag":90,"props":1153,"children":1155},{"href":1154},"plugins\u002Fyo.md",[1156],{"type":50,"value":1157},"YO",{"type":45,"tag":254,"props":1159,"children":1160},{},[1161],{"type":50,"value":1162},"View YO vaults, check positions, deposit, or request redeem on YO yield vaults.",{"type":45,"tag":254,"props":1164,"children":1165},{},[1166,1168,1174,1176,1181],{"type":50,"value":1167},"ERC-4626 vault reads via ",{"type":45,"tag":119,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":50,"value":1173},"chain_rpc_request",{"type":50,"value":1175},", deposit, request redeem via ",{"type":45,"tag":119,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":50,"value":649},{"type":50,"value":651},{"type":45,"tag":254,"props":1183,"children":1184},{},[1185],{"type":50,"value":1186},"Multi-chain (Base, Ethereum, Arbitrum). Deposits and redeems are irreversible; confirm amounts and vault before writes.",{"type":45,"tag":57,"props":1188,"children":1189},{},[1190,1192,1197],{"type":50,"value":1191},"Load a plugin reference only once the user has named the platform it covers (per the routing rule above), following the same local-first, web-fallback rule as references (see ",{"type":45,"tag":90,"props":1193,"children":1195},{"href":1194},"#loading-referenced-files",[1196],{"type":50,"value":342},{"type":50,"value":1198}," above). For a plugin's own external tools, defer to the plugin file first, then to any CLI help, API schema, or MCP tool descriptions it explicitly tells you to use.",{"type":45,"tag":337,"props":1200,"children":1202},{"id":1201},"native-plugins-vs-custom-user-supplied-plugins",[1203],{"type":50,"value":1204},"Native plugins vs. custom \u002F user-supplied plugins",{"type":45,"tag":57,"props":1206,"children":1207},{},[1208,1210,1215,1217,1222,1224,1228,1230,1234,1236,1240],{"type":50,"value":1209},"Native plugin HTTP hosts may be allowlisted in the Base MCP ",{"type":45,"tag":119,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":50,"value":140},{"type":50,"value":1216}," tool. Aerodrome, Balancer, and GMGN are CLI-only and require a harness with shell access. Avantis is hybrid: view-only reads (market data, positions, PnL) work on every surface via ",{"type":45,"tag":119,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":50,"value":140},{"type":50,"value":1223},", while tx-builder calls require a CLI harness — on chat-only surfaces the plugin links the user to the Avantis web UI instead (see ",{"type":45,"tag":90,"props":1225,"children":1226},{"href":603},[1227],{"type":50,"value":603},{"type":50,"value":1229},"). Morpho is hybrid too: use Morpho CLI when shell access exists, otherwise use or install the Morpho MCP as described in ",{"type":45,"tag":90,"props":1231,"children":1232},{"href":441},[1233],{"type":50,"value":441},{"type":50,"value":1235},". Custom or user-supplied plugins usually aren't allowlisted — load ",{"type":45,"tag":90,"props":1237,"children":1238},{"href":303},[1239],{"type":50,"value":303},{"type":50,"value":1241}," for the decision tree on which HTTP path to use (harness HTTP tool vs. user-paste fallback, and the GET-only constraint on Claude\u002FChatGPT consumer surfaces).",{"type":45,"tag":67,"props":1243,"children":1245},{"id":1244},"installation",[1246],{"type":50,"value":1247},"Installation",{"type":45,"tag":1249,"props":1250,"children":1255},"pre",{"className":1251,"code":1252,"language":1253,"meta":1254,"style":1254},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add base\u002Fskills --skill base-mcp\n","bash","",[1256],{"type":45,"tag":119,"props":1257,"children":1258},{"__ignoreMap":1254},[1259],{"type":45,"tag":61,"props":1260,"children":1263},{"class":1261,"line":1262},"line",1,[1264,1270,1276,1281,1286,1291],{"type":45,"tag":61,"props":1265,"children":1267},{"style":1266},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1268],{"type":50,"value":1269},"npx",{"type":45,"tag":61,"props":1271,"children":1273},{"style":1272},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1274],{"type":50,"value":1275}," skills",{"type":45,"tag":61,"props":1277,"children":1278},{"style":1272},[1279],{"type":50,"value":1280}," add",{"type":45,"tag":61,"props":1282,"children":1283},{"style":1272},[1284],{"type":50,"value":1285}," base\u002Fskills",{"type":45,"tag":61,"props":1287,"children":1288},{"style":1272},[1289],{"type":50,"value":1290}," --skill",{"type":45,"tag":61,"props":1292,"children":1293},{"style":1272},[1294],{"type":50,"value":1295}," base-mcp\n",{"type":45,"tag":1297,"props":1298,"children":1299},"style",{},[1300],{"type":50,"value":1301},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1303,"total":1331},[1304,1312],{"slug":4,"name":4,"fn":5,"description":6,"org":1305,"tags":1306,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1307,1308,1309,1310,1311],{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":1313,"name":1313,"fn":1314,"description":1315,"org":1316,"tags":1317,"stars":26,"repoUrl":27,"updatedAt":1330},"build-on-base","build applications on Base network","Complete Base development playbook. Covers: (1) Network — Base RPC URLs, chain IDs (8453\u002F84532), explorer config, testnet setup, connect to Base, Base Sepolia; (2) Contracts — Foundry deployment, forge create, BaseScan verification, CDP faucet, testnet ETH, deploy contract to Base; (3) Builder Codes — ERC-8021 attribution suffix, referral fees, dataSuffix for Wagmi\u002FViem\u002FPrivy\u002F ethers.js\u002Fwindow.ethereum, transaction attribution, earn referral fees, append builder code; (4) Base Account SDK — Sign in with Base (SIWB), Base Pay, USDC payments, paymasters, gas sponsorship, sub-accounts, spend permissions, prolinks, batch transactions, smart wallet, payment link, recurring subscription; (5) Agent registration — trading bots, AI agents, automated senders, ERC-8021 attribution wiring, base.dev API, register agent, builder code registration; (6) Node operation — run Base node, Reth setup, hardware requirements, self-hosted RPC, sync; (7) Migrations — migrate OnchainKit, OnchainKitProvider to WagmiProvider, wagmi migration, remove onchainkit dependency, MiniKit to Farcaster SDK, convert miniapp, Farcaster miniapp to regular app, convert Farcaster miniapp.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1318,1319,1322,1323,1326,1329],{"name":9,"slug":8,"type":15},{"name":1320,"slug":1321,"type":15},"Deployment","deployment",{"name":23,"slug":24,"type":15},{"name":1324,"slug":1325,"type":15},"Foundry","foundry",{"name":1327,"slug":1328,"type":15},"Smart Contracts","smart-contracts",{"name":13,"slug":14,"type":15},"2026-05-27T07:02:26.615091",2,{"items":1333,"total":1331},[1334,1342],{"slug":4,"name":4,"fn":5,"description":6,"org":1335,"tags":1336,"stars":26,"repoUrl":27,"updatedAt":28},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1337,1338,1339,1340,1341],{"name":9,"slug":8,"type":15},{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"slug":1313,"name":1313,"fn":1314,"description":1315,"org":1343,"tags":1344,"stars":26,"repoUrl":27,"updatedAt":1330},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1345,1346,1347,1348,1349,1350],{"name":9,"slug":8,"type":15},{"name":1320,"slug":1321,"type":15},{"name":23,"slug":24,"type":15},{"name":1324,"slug":1325,"type":15},{"name":1327,"slug":1328,"type":15},{"name":13,"slug":14,"type":15}]