Connect Claude, Cursor & ChatGPT to indie.money (MCP)
Connect Claude, Claude Code, Cursor, opencode, or any MCP client to indie.money and buy, run, and manage automation agents in plain English.
Written By pvdyck
Last updated About 1 hour ago
Connect Claude, Cursor & ChatGPT to indie.money (MCP)
indie.money lets you rent automation agents by the run β no subscription, no monthly minimum, no lock-in. Pay a few cents in stablecoins only when an agent actually does work for you, own what you buy, and walk away any time. Builders publish workflows as agents; anyone can purchase, own, and run them.
Every operation is exposed over the Model Context Protocol (MCP) β the open standard Claude, ChatGPT, Cursor, and other AI assistants use to talk to external tools. Connect your assistant once and it can browse the marketplace, create a wallet, buy agents, and run them for you in plain English.
Run your first agent
Add the buyer endpoint to Claude Code:
claude mcp add --transport http indie-money https://wallet-mcp.indie.money/wallet-mcp/buyerThen ask in plain English:
"Create a wallet, fund it, browse the marketplace, and run an agent for me on chain 8453."
Your assistant creates a wallet, handles the USDC payment, picks an agent, signs for you, and hands back the result β the whole loop, no dashboards. New to MCP? Per-client setup is in Connect your assistant below.
Choose your endpoint
indie.money's MCP is organized into mounts, one per role. Point your assistant at the mount that matches what you're doing β each one exposes that role's tools plus all the public discovery tools (browse, get details, convert).
You can register more than one MCP server in your client (e.g. one named
indie-buyer, one namedindie-maker) and use whichever fits the task.
indie.money runs on Base (chain 8453) with real stablecoin.
Prefer to hold your own keys and sign payments yourself? See Advanced: bring your own signer below. Comparing all the options (managed wallet vs local signer vs your own code)? See Which MCP Endpoint Should I Use?.
Connect your assistant
indie.money is a remote MCP server β your client connects to it over the web (no download, no local process). Add it once, using the mount URL you picked above. Examples use the buyer mount β swap buyer for maker or credentials as needed.
Claude Desktop
Claude Desktop connects to remote servers as custom connectors. Open Settings β Connectors β Add custom connector, name it (indie-money), and paste the mount URL:
https://wallet-mcp.indie.money/wallet-mcp/buyerRestart Claude Desktop and the tools appear.
Claude Code
Add it from the terminal:
claude mcp add --transport http indie-money https://wallet-mcp.indie.money/wallet-mcp/buyerOr commit it to a project so your team shares it (.mcp.json in the repo root):
{ "mcpServers": { "indie-money": { "type": "http", "url": "https://wallet-mcp.indie.money/wallet-mcp/buyer" } }}Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{ "mcpServers": { "indie-money": { "url": "https://wallet-mcp.indie.money/wallet-mcp/buyer" } }}opencode
opencode.json, under the mcp block ("type": "remote"):
{ "$schema": "https://opencode.ai/config.json", "mcp": { "indie-money": { "type": "remote", "url": "https://wallet-mcp.indie.money/wallet-mcp/buyer", "enabled": true } }}VS Code (Copilot agent mode)
.vscode/mcp.json, under servers ("type": "http"):
{ "servers": { "indie-money": { "type": "http", "url": "https://wallet-mcp.indie.money/wallet-mcp/buyer" } }}Any other MCP-capable client (Windsurf, Gemini CLI, Zed, β¦) follows the same pattern β register a remote/HTTP server pointed at the mount URL. Prefer the /mcp (HTTP) form over any /sse variant; SSE is a deprecated transport.
Confirm it's connected
No wallet needed β this call is free:
"Using indie-money, browse the marketplace on chain 8453."
If your assistant returns a list of agents, you're connected. Now create a wallet and run one.
Quick start (buyer)
1. Create a wallet
"Create a wallet on indie.money."
You'll receive a wallet key (format wk_Ab3xY9z2k) and an Ethereum address. This key is yours alone β that's what self-custody means: no one, including us, can move these funds without it. Save it in a password manager; it's the only way back to this wallet.
2. Fund it
Get USDC into your wallet β buy it with a credit card through the on-ramp, or send USDC on Base. That wallet USDC pays for agent purchases and passes directly. To run agents without signing each call, optionally deposit some into your prepaid balance β see Prepaid balance. (Purchases, agent budgets, and your prepaid balance are separate β funding one doesn't credit another.)
3. Browse and use
"Browse the indie.money marketplace on chain 8453."
"Get details for service 0x1234β¦ on chain 8453."
"Purchase service 0x1234β¦ with wk_Ab3xY9z2k on chain 8453."
Your assistant handles payment and on-chain signing automatically.
Understanding amounts
You don't need to think in crypto units. Tell your assistant a dollar amount β "$10" β and it converts. The table below is just for the curious.
Every price on indie.money is an integer in microtokens (6 decimal places).
Tip: tell your assistant the dollar amount and let it convert:
"Purchase service 0x1234β¦ with $10 from wk_Ab3xY9z2k on chain 8453."
Specifying the chain
Most commands need a chain ID to know which network you mean.
Always include "on chain 8453" in your requests.
Commands that don't need a chain ID: wallet management (create_wallet, import_wallet, export_wallet, delete_wallet, get_address), execute_service (webhooks already know their chain), and the stateless utilities (convert_workflow, validate_workflow_nodes, check_node_support).
Wallet management
Your wallet lives on indie.money's platform, keyed by a short ID starting with wk_. These tools are available on every mount.
Your wallet key is the sole handle to your funds β by design. Keep it in a password manager. If you delete a wallet, withdraw first, or the tokens are stranded.
Checking balances
"Check the USDC balance of wk_Ab3xY9z2k on chain 8453."
"Check the prepaid balance of wk_Ab3xY9z2k on chain 8453."
Withdrawing to USDC
"Withdraw $50 to USDC for wk_Ab3xY9z2k on chain 8453."
Exchange rate is deterministic β no market fluctuation, no price impact. Withdrawal returns exactly 90% in USDC (10% platform fee).
Discovering agents
Discovery tools are public β available on any mount.
Using an agent end-to-end (buyer mount)
1. Purchase
"Purchase service 0x1234β¦ with wk_Ab3xY9z2k on chain 8453."
Mints an NFT representing your ownership. The purchase price is paid in USDC directly from your wallet.
2. Set up credentials (if needed) β credentials mount
Some agents need API keys or OAuth connections (OpenAI, Slack, Google, etc.). They're stored in a Secure Vault β never exposed to the agent code or to you. Connect to /wallet-mcp/credentials for these steps.
"What credentials does service 0x1234β¦ token 1 need on chain 8453?"
API key credentials β submit directly:
"Submit the OpenAI API key
sk-β¦for service 0x1234β¦ token 1 with wk_Ab3xY9z2k on chain 8453."
OAuth credentials β start a vault session, authorize in a browser, then save the connection:
"Start a vault session for service 0x1234β¦ token 1 with the slackOAuth2Api credential."
Your assistant returns a URL; open it, authorize, then tell your assistant to save the connection.
Test a stored credential:
"Test the credentials for service 0x1234β¦ token 1 on chain 8453."
3. Activate
"Activate service 0x1234β¦ token 1 with wk_Ab3xY9z2k on chain 8453."
4. Register a webhook
"Register a webhook for service 0x1234β¦ token 1 with wk_Ab3xY9z2k on chain 8453."
Returns a short webhook path (e.g. a1b2c3d4) β that's what you use to run the agent.
5. Execute
"Run webhook a1b2c3d4 with input
{\"city\":\"San Francisco\"}using wk_Ab3xY9z2k."
The agent runs and returns the result. The execution price (typically cents) is deducted from your prepaid balance.
6. Check results & settlement
"Check execution abc123-def456 on chain 8453."
"Check the settlement for execution abc123-def456 on chain 8453."
Payments settle on-chain in batches every ~5 minutes.
Budget management (owner-pays agents)
Some agents run on the owner-pays model: the owner pre-funds a budget and executions draw from it.
Publishing an agent (builders) β maker mount
Connect to /wallet-mcp/maker for these steps.
1. Check your agent is compatible
"Validate the nodes in this agent: [paste JSON]."
2. Convert the agent
"Convert this workflow JSON to indie.money TypeScript: [paste JSON]."
Your assistant receives serviceCode and serviceHash back β it passes these into the next step.
3. Register
"Register a new service called 'Weather Bot' for $0.50 per purchase, $0.01 per execution, with wk_Ab3xY9z2k on chain 8453. Use the code and hash from the last step."
You'll need:
- Name and description
- Pricing β purchase price, execution price, max execution price (microtokens; minimum $0.001 =
1000) - Agent β the
serviceCode+serviceHashfromconvert_workflow - Optional: subscription price, OAuth app credentials for users who don't bring their own
4. List on the marketplace
Listing requires a Listing Pass ($2.99, paid in USDC from your wallet):
"Buy a Listing Pass for wk_Ab3xY9z2k on chain 8453."
"List service 0x1234β¦ on the marketplace with wk_Ab3xY9z2k on chain 8453."
5. Update metadata later
"Change the description of service 0x1234β¦ to 'Current weather for any city' on chain 8453."
6. Boost for visibility
Boosting features your agent in the Featured section for N days. Each day costs one Boost Pass ($4.99).
"Buy 7 Boost Passes for wk_Ab3xY9z2k on chain 8453."
"Boost service 0x1234β¦ for 7 days with wk_Ab3xY9z2k on chain 8453."
Favorites, categories, referrals
Favorites
"What agents does address 0xABC⦠like on chain 8453?"
Categories
"Set my category assignments to
{\"0x1234β¦\":\"research\"}with wk_Ab3xY9z2k on chain 8453."
Referral program
Your referral link is generated automatically from your wallet address β no registration needed. Share it from your profile page on indie.money.
Advanced: bring your own signer
The mounts above (wallet-mcp) hold an encrypted key and sign payments for you. If you'd rather keep your key material entirely on your side, connect to the api-mcp gateway instead β it signs nothing and never holds a wallet:
For production (real funds), this is the recommended setup β see Bring Your Own Wallet.
Call any paid tool without a wallet key and the response comes back as a structured x402 payment challenge:
{ "isError": true, "_meta": { "x402/error": { "x402Version": 2, "accepts": [{"scheme": "exact", "network": "eip155:8453", "amount": "50000", "asset": "0xβ¦", "payTo": "0xβ¦"}] } }}Your agent inspects _meta['x402/error'], signs the payment with its own wallet (any x402-capable client library works), and retries the same tool call with the signed header. This follows the open x402 payment protocol β no vendor lock-in. It also makes price discovery trivial: call any paid operation without a key to see its cost before committing.
Troubleshooting
"Tool not found" / unknown tool β You're on the wrong mount for that action. Publishing tools live on /wallet-mcp/maker; credential tools on /wallet-mcp/credentials; buying/running on /wallet-mcp/buyer. Connect to the matching mount (or add a second MCP server for it).
"Wallet not found" β Check the wallet key. They start with wk_ and are case-sensitive.
"Unsupported chain ID" β Add "on chain 8453" to your request.
"You do not own this service NFT" β Purchase the service before activating or using it.
"Insufficient balance" β Your prepaid balance is empty. Fund with a credit card or deposit USDC on Base, then purchase an agent or fund a budget.
"Signer does not match registrant" β The wallet you're using must be the one that registered the service.
Payment required error with x402/error details β You called a paid tool without a wallet key. Add the wallet key, or sign the payment yourself and retry (see Advanced).
Full tool catalog
Every tool, grouped by mount β indie.money MCP Tool Catalog.