Beyond-Bot.ai + Coinbase Wallet MCP
Coinbase Wallet MCP lets authorized agents inspect wallets and request onchain actions including transfers, swaps, signing, and payments.
What You Can Do with this Integration
Automate Data Entry
Automatically sync new contacts or deals from Beyond-Bot.ai to Coinbase Wallet MCP.
Enrich Customer Profiles
Use Beyond-Bot.ai to find and add new information to your records in Coinbase Wallet MCP.
Trigger Workflows
Start automated workflows in Coinbase Wallet MCP based on conversations with your virtual expert.
Available Actions
Here are the specific actions your virtual expert can perform within Coinbase Wallet MCP.
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.
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.
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).
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).
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.
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.
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.
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 "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 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.
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.
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.
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.
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.
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.