Demo
How It Works
What You Can Do
Send & Receive
Send native tokens or ERC-20 tokens to addresses, ENS names, basenames, and cb.id names.
Swap Tokens
Swap supported tokens on supported mainnet chains directly from your assistant.
Sign Messages and Typed Data
Sign EIP-712 typed data and plain messages for authentication and protocol interactions.
Execute Contract Calls
Batch multiple contract interactions into a single user approval.
Pay x402 APIs
Pay for x402-enabled API requests with USDC on Base or Base Sepolia.
Check Balance
List wallets, fetch token balances, and read portfolio value.
Quickstart
Connectmcp.base.org to your agent in under 5 minutes.
1
Connect the MCP
- Claude
- ChatGPT
- Perplexity
- Claude Code
- Codex
- Cursor
- Hermes
- Open Customize → Connectors → Add custom connector
- The Add custom connector modal opens
- Fill in:
- Name:
Coinbase Wallet MCP - Remote MCP server URL:
https://mcp.base.org
- Name:
- Click Add
- Next hit Connect, then approve the connection in Coinbase Wallet. Click Allow once to authorize:
2
Install the Skill
The
base-mcp skill extends your assistant with pre-built prompts and workflows for wallet operations, token transfers, and DeFi interactions on Base.- Claude
- ChatGPT
- Perplexity
- Claude Code
- Codex
- Cursor
- Hermes
Option 1: Paste this prompt into a new conversationNothing to install — Claude reads the skill on the fly and fetches each reference or plugin file only when it needs one.Option 2: Install as a persistent skill
Click the button above to download
base-mcp.zip, then:- In Claude Desktop or Claude.ai, open Customize → Skills
- Click Upload skill and select the downloaded
base-mcp.zip - Toggle the skill on
3
Try It
Ask your assistant:Every send, swap, or sign operation will give you an approval link. Open it, review the action in Coinbase Wallet, and confirm.
Plugins
The Coinbase Wallet MCP skill ships with native protocol plugins and supports custom plugins. A plugin is a markdown spec that teaches the assistant how to drive an external protocol — most prepare unsigned calldata and execute it throughsend_calls; others use a core tool such as swap or sign.
Full plugin specs live in github.com/base/skills. The assistant loads each spec on demand when a relevant request comes in.
Why a skill on top of the MCP server
The MCP server exposes capabilities. Without context, models might call write tools without warning the user, skip approval, invent parameters, or fail to detect that the server isn’t connected.SKILL.md closes that gap:
- Detection and onboarding — the assistant can call
get_walletswhen it needs wallet context, supported chains, or an address for a write flow. - Approval mode — write tools (
send,swap,sign,send_calls) return{ approvalUrl, requestId }. The skill tells the model to present the link, wait, then pollget_request_status— never to claim success before confirmation. - Tone rules — load-bearing language conventions (e.g. “onchain”, never “web3”) and a beginner/sophisticated detection heuristic so responses match the user.
- Plugin patterns — documented prepare →
send_calls,swap, andsignpatterns that let external protocols extend the skill without modifying the MCP server.
SKILL.md at session start (cheap — ~100 lines) and reads references/*.md and plugins/*.md only when a relevant task arises.
skills/base-mcp
SKILL.md
references
plugins
skills/base-mcp/SKILL.md.
How plugins extend the skill
For calldata-based plugins, the contract is the same whether the protocol exposes an HTTP tx-builder, a CLI, or its own sibling MCP server: Most calldata-based plugin files follow the same four-section shape:1
Onboarding Gate
A
STOP notice forcing the assistant to complete Coinbase Wallet MCP detection and onboarding before touching the plugin’s tools.2
Read Endpoints
The GET endpoints, CLI commands, or read tools that return state — balances, positions, market data.
3
Prepare Endpoints
The endpoints, CLI commands, or
prepare_* tools that return unsigned calldata, with the exact response shape so the model knows which fields map to to, value, and data.4
send_calls Mapping
How to turn the prepare response into the
calls array passed to Coinbase Wallet MCP’s send_calls.Native plugins
Twenty plugins ship in the skill: Aerodrome, Avantis, Balancer, Bankr, Bitrefill, Brickken, Clawnch, Flaunch, GMGN, Hydrex, KyberSwap, Moonwell, Morpho, o1.exchange, OpenSea, Printr, Uniswap, Venice, Virtuals, and YO. They’re authored by the Base team in partnership with protocol teams. Most transaction plugins follow the prepare →send_calls pattern above. Some use Coinbase Wallet MCP semantic tools instead: Bankr, Clawnch, and Flaunch use swap for token buys; Bitrefill uses sign, x402 tools, and send; Venice uses sign and x402 for wallet-funded inference; Virtuals uses sign for SIWE login; YO uses chain_rpc_request for reads before send_calls. The plugin spec is the source of truth.
Aerodrome (CLI-only)
Token swaps and basic-pool liquidity on Aerodrome via sugar-sdk. Requires a CLI harness.
Avantis
Perpetual futures on Base. Reads work on every surface; trade-building uses a CLI harness or the Avantis web UI.
Balancer (CLI-only)
Swaps and liquidity on Balancer through shell-driven API reads, SDK calldata building, and Coinbase Wallet MCP
send_calls.Bankr
Discover the latest token launches on Base via the Bankr API and buy them with Coinbase Wallet MCP’s
swap tool.Bitrefill
Buy gift cards, mobile top-ups, and travel eSIMs with USDC on Base.
Brickken
ERC-8004 identity, reputation, and agent-token operations through Brickken with Coinbase Wallet MCP x402 approval.
Clawnch
Discover Base token launches, buy launched tokens, and prepare non-custodial token launches on Clawnch.
Flaunch
Prepare Base token launches through Flaunch and trade deployed Flaunch tokens with Coinbase Wallet MCP.
GMGN (CLI-only)
Token swap quotes, gas-price tiers, and trending-token market intelligence on Base via GMGN.
Hydrex
Swaps and concentrated-liquidity position management on Hydrex via prepare-server calldata.
KyberSwap
Best-rate DEX aggregation through KyberSwap routes and Coinbase Wallet MCP
send_calls across supported EVM chains.Moonwell
Compound v2 lending on Base and Optimism. Supply, borrow, withdraw, and repay with approval and action batched into one approval.
Morpho
Lending and vaults on Base via Morpho CLI when available, with Morpho MCP fallback on chat-only surfaces.
o1.exchange
Token swaps on o1.exchange through HTTP order building, unsigned transaction decoding, and Coinbase Wallet MCP
send_calls.OpenSea
NFT marketplace trading, token swaps, and drops or minting through OpenSea API or CLI.
Printr
Launch cross-chain tokens through Printr’s HTTP API and Coinbase Wallet MCP
send_calls.Uniswap
Token swaps and V2/V3/V4 LP position management on Base.
Venice
Private AI inference through the Venice API with optional Base x402 wallet funding.
Virtuals
Create and operate Virtuals AI agents: payment cards, email identities, and agent management signed in via Coinbase Wallet MCP.
YO
View YO vaults, check positions, deposit, and request redeems through onchain reads and Coinbase Wallet MCP
send_calls.Aerodrome, Balancer, and GMGN are CLI-only and require shell or terminal access. They do not run from chat-only surfaces such as ChatGPT or Claude.ai.Some plugins are environment-aware:
- Avantis splits by capability: view-only reads work everywhere via
web_request; tx-builder calls run from a CLI harness, with an Avantis web UI fallback on chat-only surfaces. - Bitrefill supports wallet-native commerce by default and optional CLI or MCP paths for existing Bitrefill accounts.
- Morpho uses CLI when shell access exists, otherwise uses Morpho MCP.
- OpenSea can use its REST API directly or its CLI when shell access exists.
- Venice supports API-key inference and a Base-wallet x402 path.
- Virtuals requires installing an MCP server and running the auth flow once per session.
Using a native plugin
1
Install the Skill
Connect
mcp.base.org and load the skill in your client using the Quickstart above.2
Prompt the Assistant
Describe what you want. The assistant pulls the relevant plugin spec into context automatically.
Morpho
KyberSwap
Bitrefill
Flaunch
3
Approve
For onchain actions, the plugin prepares a Coinbase Wallet MCP
send_calls, swap, send, x402, or sign request. Open the approval link, review the action in Coinbase Wallet, approve, and prompt the assistant again so it can poll get_request_status until confirmed.Custom plugins
Write a plugin when your protocol has an HTTP tx-builder, a CLI/SDK that can produce unsigned transactions, or its own MCP server. CLI/SDK-only plugins require a harness with shell access; hybrid plugins can prefer a CLI in coding harnesses and fall back to an MCP server in chat-only Claude or ChatGPT consumer apps.Coinbase Wallet MCP’s
web_request tool can make GET and POST requests only to allowlisted partner APIs. Native plugins that rely on HTTP hosts may be allowlisted for the hosted MCP, while CLI-only plugins require shell access unless they document an MCP fallback. Custom plugin hosts usually are not allowlisted, so custom plugins should expose GET endpoints only if they need to remain usable in Claude and ChatGPT consumer apps. POST endpoints are not supported in Claude and ChatGPT consumer apps.1. Pick a response shape
Your prepare endpoint should return a single object with the fieldssend_calls needs. Two common shapes:
Envelope (Avantis-style):
Envelope Response
Ordered Batch Response
send_calls executes them atomically in one approval.
2. Write the plugin spec
Use this template asplugins/my-protocol.md in your skill.
plugins/my-protocol.md
3. Wire it into send_calls
The contract between your prepare endpoint and Coinbase Wallet MCP is exactly this object:
send_calls Payload
base, base-sepolia, ethereum, optimism, polygon, arbitrum, bsc, or avalanche) when calling send_calls. If a prepare endpoint returns a numeric or hex chainId, map it to the corresponding chain name before calling Coinbase Wallet MCP. value defaults to 0x0 if omitted. The assistant calls send_calls once with the full batch — the user approves once, and all calls execute atomically.