Coinbase Wallet MCP logo

Integrate Coinbase Wallet MCP with your AI CRM

Coinbase Wallet MCP lets authorized agents inspect wallets and request onchain actions including transfers, swaps, signing, and payments.

Explore Triggers and Actions

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-chain writes. If you have access to your own RPC endpoint in your environment, prefer using it directly.

ActionTry it

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 external data. Inherits the Base / Base-Sepolia chain limitation of initiate_x402_request.

ActionTry it

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 (it is a pre-rendered scannable QR code for terminals; GUI clients should render rails[].qrPayload as a QR image instead). Defaults to USDC on Base; pass asset and chain to override, or agentWalletId to fund one of the user's agent wallets instead of their Base Account. Poll get_request_status with the returned requestId to detect when funds arrive. Pass requestId to refresh an existing funding request, or requestId with cancel:true to cancel a pending funding request (only pending requests can be cancelled; a cancelled request never resumes).

ActionTry it

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 session's wallet when omitted. Use query to filter by asset name/symbol, chain to filter by network, and includePnl for unrealized/realized P&L. Paginate with offset and limit (default 20).

ActionTry it

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 confirmed or signature available in the response; failed — request was rejected or expired. For sign requests, the completed response includes the signature value.

ActionTry it

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 to the session's wallet when omitted. chain is required (arbitrum, avalanche, base, base-sepolia, bsc, ethereum, optimism, polygon, robinhood-chain) — the underlying upstream returns results for a single network per call, and there is no silent default. To cover multiple chains, call this tool once per chain. Optionally filter by asset symbol. No date range filter — paginate with cursor while hasMore is true.

ActionTry it

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 includes a top-level supportedChains array listing the canonical chain names this server can operate on.

ActionTry it

Help

Returns guidance for helping the user with protocol-specific tasks that aren't directly supported by this MCP.

ActionTry it

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 "Base Account". After approval, call complete_x402_request with the requestId. Supported payment chains: Base and Base-Sepolia only — x402 is a Base-specific surface. 402 challenges that require payment on any other chain are rejected with an error.

ActionTry it

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 matching tokens with name, symbol, address, decimals, imageUrl, and chain, capped at 100 results (narrow the query if the token you want is missing). Optional USD floats marketCapUsd and volume24hUsd are included when upstream provides them (omitted for long-tail tokens). Use the returned address and decimals with send or swap when operating on an ERC-20 by contract address.

ActionTry it

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 parameter. Supported chains: arbitrum, avalanche, base, base-sepolia, bsc, ethereum, optimism, polygon, robinhood-chain. Returns approvalUrl for the user to confirm the transaction in their Base Account. When telling the user where to approve, refer to the destination as "Base Account". Poll get_request_status(requestId) to verify completion before reporting success.

ActionTry it

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, robinhood-chain) and a calls array with to, value (hex wei), and data (calldata hex) per call. Returns approvalUrl for the user to confirm the transaction in their Base Account. When telling the user where to approve, refer to the destination as "Base Account". Poll get_request_status(requestId) to verify completion.

ActionTry it

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 user to approve the signature request in their Base Account. When telling the user where to approve, refer to the destination as "Base Account". Poll get_request_status(requestId) to retrieve the signature.

ActionTry it

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 is a decimal string (e.g. "0.5"). Returns approvalUrl for the user to confirm the swap in their Base Account. When telling the user where to approve, refer to the destination as "Base Account". Poll get_request_status(requestId) to verify completion before reporting success.

ActionTry it

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, and X-Forwarded-* headers are prohibited. Returns status code, headers, and response body. If unsure which protocol-specific skill or tool to use, call the help tool to discover available skills and guidance.

ActionTry it

How the Coinbase Wallet MCP integration works

The Coinbase Wallet MCP integration connects your Dench AI CRM directly to Coinbase Wallet MCP, so agents can read and act on your Coinbase Wallet MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

15 actions are available for agents to invoke on your behalf. Every call runs through Coinbase Wallet MCP's own authorization, scoped to the account you connect.

Set up Coinbase Wallet MCP in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Coinbase Wallet MCP and click Connect — you'll authorize access through Coinbase Wallet MCP's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Coinbase Wallet MCP in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Coinbase Wallet MCP integration work with Dench?

The Dench Coinbase Wallet MCP integration connects your AI CRM to Coinbase Wallet MCP, so AI agents can work with your Coinbase Wallet MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Coinbase Wallet MCP via Dench?

The Coinbase Wallet MCP integration currently exposes 15 actions, including Chain rpc request, Complete x402 request, Fund, Get portfolio, Get request status, and Get transaction history. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Coinbase Wallet MCP to Dench?

No. You connect Coinbase Wallet MCP from your Dench workspace using Coinbase Wallet MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Coinbase Wallet MCP integration secure?

Connections are authorized through Coinbase Wallet MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Coinbase Wallet MCP connection from your workspace settings at any time.