Skip to main content
Coinbase Wallet MCP gives your AI assistant direct access to your Coinbase Wallet (formerly known as Base App). Connect once and your assistant can check balances, send funds, swap tokens, sign messages, execute contract calls, and pay x402-enabled APIs across multiple networks. Every write action requires your approval.

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

Connect mcp.base.org to your agent in under 5 minutes.
1

Connect the MCP

Add to ClaudeWorks in Claude.ai and Claude Apps (Desktop, iOS, Android). Click the button above, or:
  1. Open Customize → Connectors → Add custom connector
  2. The Add custom connector modal opens
  3. Fill in:
    • Name: Coinbase Wallet MCP
    • Remote MCP server URL: https://mcp.base.org
  4. Click Add
  5. 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.
Pick one of the options below — don’t do both. Running the prompt while a persistent skill is also installed can confuse the assistant about which onboarding to follow.
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 skillDownload for ClaudeClick the button above to download base-mcp.zip, then:
  1. In Claude Desktop or Claude.ai, open Customize → Skills
  2. Click Upload skill and select the downloaded base-mcp.zip
  3. Toggle the skill on
Claude activates the skill automatically when relevant to your prompt. See Use skills in Claude for details.
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 through send_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_wallets when 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 poll get_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, and sign patterns that let external protocols extend the skill without modifying the MCP server.
Skills use progressive disclosure. The model loads 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
Read the canonical skill at 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.
Coinbase Wallet MCP passes the calldata to Coinbase Wallet for user approval. The protocol never touches private keys.

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 fields send_calls needs. Two common shapes: Envelope (Avantis-style):
Envelope Response
Ordered batch (Moonwell-style) — for when approval, enter-market, and the action are separate calls:
Ordered Batch Response
Either works. The batch shape is preferable when allowance or registration steps must run before the action — send_calls executes them atomically in one approval.

2. Write the plugin spec

Use this template as plugins/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
Use Coinbase Wallet MCP’s chain names (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.

Patterns to copy