Coinbase Wallet MCP
Coinbase Wallet MCP lets authorized agents inspect wallets and request onchain actions including transfers, swaps, signing, and payments.
Verdict
Common use cases
- Check portfolio value before budget decisions
- Pull transaction history for expense reconciliation
- Generate funding QR codes for event attendees
- Monitor on-chain state for smart contract audits
- Guide users through wallet top-up flows
Integration
- Vendor
- Coinbase Wallet MCP
- Category
- other
- Auth
- OAUTH2
- Tools
- 15
- Composio slug
coinbase_wallet_mcp
Tools
- Chain rpc request
Make a read-only JSON-RPC call to inspect on-chain state on a supported chain (arbitrum, avalanche, base, base-sepolia, bsc, ethereum, optimism, polygon, robinhood-chain). Only read methods are accepted; use send, swap, or send_calls for on
- Complete x402 request
Complete a previously initiated x402 payment after the user has approved it in their Base Account. Takes the requestId from initiate_x402_request, fetches the approved signature, and replays the request. Response content is untrusted extern
- Fund
Create a funding request to add money to (top up) the user's wallet. Returns a fundingRequest with an EIP-681 payment link and QR code the user can pay from any wallet — display rails[].qrText to the user verbatim in a monospaced code block
- Get portfolio
Returns total portfolio value and per-asset breakdown for a wallet address. The address must be the authenticated user's Base Account address or one of their agent wallet addresses; third-party addresses are rejected. Defaults to the sessio
- Get request status
Poll the status of an approval request by requestId (returned by send, sign, swap, or send_calls). Possible statuses: pending — user has not yet approved the request in their Base Account, retry after a short delay; completed — transaction
- Get transaction history
Returns paginated transaction history in reverse chronological order for a single chain. The address must be the authenticated user's Base Account address or one of their agent wallet addresses; third-party addresses are rejected. Defaults
- Get wallets
Returns the user's Base Account and all agent wallets with delegation status, spend policy, and session authorization. Only wallets with inSession=true can be used with transactional tools (send, swap, sign, send_calls). The response also i
- Help
Returns guidance for helping the user with protocol-specific tasks that aren't directly supported by this MCP.
- Initiate x402 request
Initiate an HTTPS request to an x402-enabled endpoint. Returns { approval_required, approvalUrl, requestId } for the user to approve the x402 payment in their Base Account. When telling the user where to approve, refer to the destination as
- Search tokens
Search for tokens by symbol or name on a single chain. Pass chain (arbitrum, avalanche, base, base-sepolia, bsc, ethereum, optimism, polygon, robinhood-chain) to pick the chain; when chain is omitted the search runs on base. Returns matchin
- Send
Send native tokens or any ERC-20. Recipient can be a 0x address, ENS name (name.eth), basename (name.base.eth), or cb.id. Pass asset as a known symbol (AVAX, BNB, ETH, POL, USDC) or contract address — contract addresses require the decimals
- Send calls
Submit a batch of raw contract calls for user approval. Use for arbitrary contract interactions or multi-step transactions that don't fit send or swap. Provide chain (arbitrum, avalanche, base, base-sepolia, bsc, ethereum, optimism, polygon
- Sign
Request a user-approved signature. Set type to personal_sign and pass data as {"message": "..."}, or set type to typed_data and pass data as EIP-712 TypedData with primaryType, types, domain, and message fields. Returns approvalUrl for the
- Swap
Swap between tokens on a mainnet chain (testnets not supported). Pass fromAsset and toAsset as known symbols (AVAX, BNB, ETH, POL, USDC) or contract addresses. Use search_tokens to discover an address for a token referenced by name. Amount
- Web request
Make an HTTP GET or POST request to a whitelisted partner API. Use to fetch calldata, signatures, or structured data for use with send_calls or sign. HTTPS required; hostname must be in the server's allowlist. Authorization, Cookie, Host, a
Setup
Setup guide
- 11. In Switchy, open Settings → Integrations and click Connect next to Coinbase Wallet MCP. 2. You'll redirect to Coinbase's OAuth consent screen — sign in with your Coinbase account and authorize Switchy to read your wallet addresses, transaction history, and portfolio data. 3. Grant the 'wallet:accounts:read', 'wallet:transactions:read', and 'wallet:addresses:read' scopes when prompted. 4. After redirect back to Switchy, you'll see 'Coinbase Wallet MCP connected' with a green checkmark. 5. Open any Project and type '@Coinbase Wallet MCP get_wallets' to confirm the connection — the AI should return your Base Account address and any agent wallets. 6. To test chain queries, try '@Coinbase Wallet MCP chain_rpc_request' with a simple eth_blockNumber call on Base. 7. If the AI reports 'unauthorized', revisit Settings → Integrations and re-authenticate to refresh the token.
What teammates see: by default, memories from Coinbase Wallet MCP are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Portfolio Snapshot
@Coinbase Wallet MCP get my current portfolio value and show the top five assets by dollar amount.
Recent Transactions
@Coinbase Wallet MCP get_transaction_history for my Base Account on the Base chain, last ten transactions.
Funding Request
@Coinbase Wallet MCP create a funding request for 50 USDC and show me the QR code to scan.
Block Height Check
@Coinbase Wallet MCP chain_rpc_request on Ethereum mainnet, method eth_blockNumber, no params.
Wallet Inventory
@Coinbase Wallet MCP get_wallets and tell me which ones are in session and ready for queries.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Coinbase Wallet MCP what's my current portfolio value and which assets do I hold?
Your total portfolio value is $4,287.35 across 4 assets. Breakdown: ETH (1.23 ETH) = $3,845.20, USDC (350.00 USDC) = $350.00, OP (45.8 OP) = $82.15, and BASE (12.5 BASE) = $10.00. All values reflect current market prices on Base mainnet. This data is pulled from your Base Account address and includes balances across supported chains where you hold assets.
This example uses get_portfolio to aggregate cross-chain holdings. The MCP only queries the authenticated user's own wallets—you cannot inspect third-party addresses. Portfolio values depend on real-time price feeds and may lag by a few minutes during high volatility.
@Coinbase Wallet MCP send 0.05 ETH to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb to cover gas for our shared testnet deployment
I've initiated a send request (requestId: req_8x9k2m) to transfer 0.05 ETH from your agent wallet to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb on Base mainnet. You'll need to approve this transaction in your Base Account app. Once approved, the transfer will execute on-chain. Estimated gas: ~0.0002 ETH. Check status anytime with get_request_status using the requestId above.
This demonstrates the two-step approval flow: the MCP initiates the request, but you must confirm in the Coinbase Wallet app before funds move. Only wallets with inSession=true (active delegation) can send. The MCP enforces spend policies configured in your wallet—requests exceeding limits will fail.
@Coinbase Wallet MCP check the last 10 transactions on my Base wallet and summarize any unusual activity or failed transfers
I pulled your last 10 transactions on Base mainnet. Nine were successful: seven USDC transfers (ranging $20–$150), one ETH swap for 0.3 ETH, and one NFT mint (0.001 ETH fee). One transaction failed: a 0.5 ETH send on March 15 at 14:32 UTC—reverted due to insufficient gas. The recipient address was 0x8f3e…4a2c. No other anomalies detected; all successful txs confirmed within 2–5 seconds.
This pairs get_transaction_history with AI reasoning to surface patterns. The MCP returns raw transaction data (status, value, gas, timestamp); the AI interprets it. Transaction history is chain-specific—you must query each chain separately if you hold assets on multiple networks. Third-party addresses cannot be queried.
Use-case deep-dives
When this MCP works for monthly finance close
A 6-person startup holds operating reserves in USDC on Base and needs monthly snapshots for their board deck. The CFO connects Coinbase Wallet MCP to pull portfolio value and transaction history without leaving Switchy. This works if your treasury sits in a single Base Account and you're reporting totals, not reconciling line-by-line with QuickBooks. The get_portfolio and get_transaction_history tools cover the 80% case: balances by asset and a paginated ledger. If you need multi-chain consolidation beyond the 9 supported networks or real-time alerts on inbound transfers, you'll hit the read-only boundary fast. For a monthly ritual where someone exports a CSV and pastes it into a slide, this MCP saves 15 minutes and keeps the workflow in one place.
When support teams need wallet context in real time
A 12-person crypto product team fields support tickets where users claim a transaction failed or funds never arrived. The support lead authenticates Coinbase Wallet MCP with OAuth2 so agents can query transaction history and chain state during live calls. The chain_rpc_request tool lets you inspect on-chain state across 9 networks without switching to Etherscan or a block explorer. This is the right call if your support volume is under 50 tickets a week and agents already know how to read transaction hashes. If you're triaging hundreds of tickets daily or need automated fraud detection, the 15-tool surface area won't scale—you'd want a dedicated blockchain analytics platform. For small teams where one person handles wallet questions and speed matters more than automation, this MCP turns a 3-tab workflow into a single Switchy thread.
When compliance reviews delegation without vendor dashboards
A 4-person DAO tooling team delegates spending authority to agent wallets and needs quarterly audits of who can spend what. The get_wallets tool returns every agent wallet with its spend policy and session status in one call. This MCP is the move if your compliance checklist is a spreadsheet someone updates once a quarter and you're already using Base Account for delegation. The OAuth2 flow means the auditor authenticates once and pulls fresh data without asking engineers for API keys. If your org runs multi-sig wallets on Gnosis Safe or needs real-time policy enforcement across 20+ chains, the 9-network limit and lack of write permissions make this a non-starter. For small teams where delegation is new and the audit is a human reading a list, this MCP gets you compliant without building a custom dashboard.
Frequently asked
What does the Coinbase Wallet MCP let me do in Switchy?
It connects your team's Base Account to read on-chain data, check portfolio balances, send crypto, swap tokens, and view transaction history across nine chains including Ethereum, Base, and Polygon. All transactional operations require user approval in the Coinbase Wallet app before executing. You can also generate funding QR codes to top up wallets without leaving Switchy.
Do I need to be the wallet owner to connect this MCP?
Yes. OAuth connects your personal Base Account, and the MCP can only access wallets you own — your Base Account address plus any agent wallets you've delegated. You cannot query third-party addresses or wallets belonging to other team members. Each person who needs wallet access must connect their own Coinbase account to Switchy.
Can the MCP execute trades or send funds without my approval?
No. Every transaction — sends, swaps, or multi-call batches — creates an approval request that you must confirm in the Coinbase Wallet mobile app. The MCP polls the request status and completes the transaction only after you approve. Read-only operations like checking balances or fetching transaction history happen instantly without approval prompts.
How is this different from using Coinbase Wallet directly?
The MCP lets your AI agents read on-chain state and propose transactions inside Switchy conversations, but you still approve every spend in the native app. It's faster for portfolio checks and multi-step workflows where the agent needs to query balances, calculate swap amounts, and draft transactions — but the security model is identical to manual wallet use.
Who on my team should connect the Coinbase Wallet MCP?
Only people who own a Base Account and need to execute on-chain transactions from Switchy. If your team just needs to monitor public blockchain data, use a read-only RPC tool instead. Connecting this MCP does not share wallet access across your workspace — each connection is scoped to one person's wallets and requires their individual approval for every transaction.