1Open Slashspace and go to Settings, then Connectors.
2On Discover, search for Coinbase Wallet MCP and click Connect.
3Sign in to Coinbase Wallet MCP in your browser. Slashspace updates when the account is connected.
Then ask for what you need in any Agent mode chat. Coinbase Wallet MCP is on in every chat unless you switch it off.
What your chats can do
15 tools from Coinbase Wallet MCP.
Chain rpc requestMake 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.
Complete x402 requestComplete 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.
FundCreate 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).
Get portfolioReturns 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).
Get request statusPoll 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.
Get transaction historyReturns 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.
Get walletsReturns 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.
HelpReturns guidance for helping the user with protocol-specific tasks that aren't directly supported by this MCP.
Initiate x402 requestInitiate 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.
Search tokensSearch 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.
SendSend 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.
Send callsSubmit 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.
SignRequest 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.
SwapSwap 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.
Web requestMake 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.