The Agent Wallet MCP server is the primary integration point for AI agents. It exposes wallet capabilities as tools that any MCP-compatible client can discover and use — Claude Desktop, Cursor, Windsurf, n8n, or your own custom agent.
The server is remote and hosted at https://mcp.fd.xyz. There’s nothing to install, no local processes to run, and no infrastructure to manage.
What is MCP?
MCP (Model Context Protocol) is an open standard by Anthropic for connecting AI assistants to external tools and data sources. Think of it as a universal adapter — any MCP-compatible client can connect to any MCP server and discover what it can do.
Agent Wallet publishes wallet operations as MCP tools. When your AI agent connects, it automatically discovers all available capabilities and can use them through natural language.
Connection Details
| Property | Value |
|---|
| Server URL | https://mcp.fd.xyz |
| Transport | Streamable HTTP |
| Authentication | OAuth Authorization Code Flow with PKCE |
No API keys or bearer tokens to manage. When your MCP client connects for the first time, it triggers an OAuth flow that opens a browser for you to authenticate with your District Pass.
Connect
Add the MCP server to your client and authenticate with your District Pass. Setup instructions for Claude Desktop, Cursor, Windsurf, Claude Code, n8n, and custom clients are in MCP Compatible Clients.
Verify the Connection
After configuring your client, verify the agent can reach the wallet:
“What Finance District tools do you have?”
The agent should list the available wallet capabilities. Then try:
“What’s my wallet balance?”
If you see your balance (even if it’s zero), the connection is working.
The MCP server exposes 14 tools across three categories. Your agent discovers these automatically on connection — including parameter schemas and descriptions.
MCP clients discover all tool parameters automatically. CLI users can run fdx wallet <tool> --help to see full parameter details. No need to memorize — the tooling tells you what it needs.
Wallet Operations
| Tool | Description |
|---|
getWalletOverview | Comprehensive view of your Agent Wallet and Smart Accounts with token balances across all supported chains |
getAccountActivity | Transaction history (native transfers, ERC-20, NFTs) for a specific account on a specific chain |
getTokenPrice | Current USD market price and 24h change for any cryptocurrency or stablecoin |
transferTokens | Transfer tokens to any address across EVM, Solana, and Bitcoin. ENS/SNS names resolved automatically |
swapTokens | Quote or execute a token swap using a provider-agnostic, policy-driven router |
discoverYieldStrategies | Discover DeFi yield strategies across protocols (Aave, Compound, Yearn, etc.) — EVM only |
depositForYield | Deposit tokens into a DeFi yield strategy — EVM only |
withdrawFromYield | Withdraw tokens from a DeFi yield position — EVM only |
resolveNameService | Resolve ENS (.eth), SNS (.sol), or Unstoppable Domain names to addresses, and vice versa |
signMessage | Sign messages using EIP-191 (personal_sign) or EIP-712 (eth_signTypedData_v4) |
Payments
| Tool | Description |
|---|
authorizePayment | Authorize an x402 payment from a resource server’s 402 response |
getX402Content | Fetch content from x402 APIs — automatically handles payment authorization and retry |
Support
| Tool | Description |
|---|
getMyInfo | Get authenticated user profile and wallet addresses across all supported chains |
reportIssue | Report a bug or issue — creates a GitHub issue with provided details |
Authentication
Authentication uses OAuth Authorization Code Flow with PKCE — the same standard used by major web applications:
- Your MCP client connects to
https://mcp.fd.xyz
- The server responds with an OAuth authorization URL
- Your client opens a browser window
- You log in with your District Pass (email + confirmation code)
- The OAuth flow completes and your client receives a token
- Subsequent requests use this token automatically
Token refresh is handled automatically by the OAuth flow. You shouldn’t need to re-authenticate unless you explicitly revoke access.
Revoking access — if you want to disconnect a specific MCP client, you can revoke its OAuth token through the Signer Service web interface.
Client registration — popular MCP clients (Claude Desktop, Cursor, Windsurf, Claude Code, n8n) are pre-registered and work out of the box. If you’re building a custom MCP client, see Client Registration for supported registration methods.
Error Handling
Common scenarios your agent may encounter:
| Error | Meaning | Resolution |
|---|
| Authentication failed | OAuth token expired or revoked | Re-authenticate through browser flow |
| Insufficient balance | Wallet doesn’t have enough tokens for the operation | Fund the wallet with more tokens |
| Transaction failed | On-chain error (gas, nonce, network issue) | Retry — transient errors resolve on retry |
| Unsupported chain/token | Requested operation on an unsupported chain or token | Check Supported Networks |
All tool responses follow a consistent shape:
// Success
{ "success": true, "data": { ... } }
// Failure
{ "success": false, "error": { "code": "...", "message": "...", "retryable": true, "details": {} } }
If retryable is true, the client may retry the same request once. Otherwise, inputs or state must change before retrying.
MCP clients typically display tool errors in the conversation. The agent can often explain what went wrong and suggest a fix.