Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.base.org/llms.txt

Use this file to discover all available pages before exploring further.

The Virtuals plugin connects Base MCP to the Virtuals Agent Commerce Protocol (ACP) MCP server. ACP is a platform for creating and operating autonomous AI agents that transact onchain, hold payment cards, and own email identities. Base MCP’s wallet is used only to sign the SIWE login challenge — every subsequent Virtuals tool call carries a session JWT. Server: https://mcp.acp.virtuals.io/ Operations: agent management (create / list / prepare-launch), agent cards (signup, issue, set limits, 3DS), agent email (identity, inbox, search, compose, reply, OTP/link extraction).

Try it

Sign in
Log me into Virtuals
List agents
List all my Virtuals agents
Create everything
Create a Virtuals agent with email and a payment card

Pattern

Virtuals is session-authenticated: every tool requires a token parameter obtained via SIWE. The plugin orchestrates the round trip — get_walletslogin_startsign (Base MCP) → user approves → get_request_statuslogin_complete — then reuses the JWT for the rest of the session. Use login_refresh when the ~1 hour token expires.
The Base Account smart wallet sometimes returns an ERC-6492 wrapped signature instead of a plain ERC-1271 one, which Virtuals rejects with Invalid SIWE signature. Re-run the auth flow — repeated approvals typically resolve to a plain ERC-1271 signature within a few attempts. Don’t try to unwrap the envelope manually.
After auth, Virtuals operations route through the Virtuals backend (card issuance, email, agent ops) — not through Base MCP. Only the SIWE signature uses Base MCP. Don’t echo card numbers, 3DS codes, OTPs, or email bodies to chat unless the user explicitly asks.

Installation

Run Base MCP and Virtuals side by side:
{
  "mcpServers": {
    "base-mcp": { "url": "https://mcp.base.org" },
    "virtuals":     { "url": "https://mcp.acp.virtuals.io/" }
  }
}
Claude Code:
Terminal
claude mcp add virtuals --transport http https://mcp.acp.virtuals.io/

Reference

Full plugin spec on GitHub

Step-by-step SIWE auth flow, troubleshooting for the six common signature-verification failure modes, and orchestration recipes for agent / card / email operations.