Pay-per-call web extraction: clean text, metadata, links, JSON-LD, change detection. USDC on Base.
Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y x402-money-farm-mcp
MCP client config
{
"mcpServers": {
"x402-money-farm": {
"command": "npx",
"args": [
"-y",
"x402-money-farm-mcp"
]
}
}
}Paid web-extraction tools for agents. No account, no API key, no subscription, no signup form: each call settles a fraction of a cent in USDC on Base, per request, and the response arrives only after settlement.
| Tool | What it returns | Price |
|---|---|---|
farm_catalog | Everything below, with live prices and wallet status | free |
farm_clean_text | Main article text without nav/ads/boilerplate, text or Markdown | $0.02 |
farm_metadata | Title, description, canonical, OpenGraph, Twitter, icons, dates | $0.01 |
farm_links | All links, absolutised, deduplicated, internal/external, per-host counts | $0.01 |
farm_jsonld | JSON-LD blocks parsed and indexed by schema.org type | $0.01 |
farm_fingerprint | Noise-normalised page fingerprint plus a changed/unchanged verdict | $0.015 |
Claude Desktop — claude_desktop_config.json:
{
"mcpServers": {
"x402-money-farm": {
"command": "npx",
"args": ["-y", "x402-money-farm-mcp"],
"env": {
"X402_PRIVATE_KEY": "0xyour_funded_base_wallet_key",
"X402_MAX_USD": "1.00"
}
}
}
}
Claude Code:
claude mcp add x402-money-farm \
--env X402_PRIVATE_KEY=0x... \
--env X402_MAX_USD=1.00 \
-- npx -y x402-money-farm-mcp
Any other MCP client works the same way — it is a plain stdio server.
npx -y x402-money-farm-mcp
Then have the agent call farm_catalog. It reports the live prices, whether a
wallet is configured and how much has been spent this session. Nothing is
billed, and no wallet is needed to see it. If the prices do not suit you, you
learned that for free.
The server pays from your wallet, one call at a time. Gas is paid by the facilitator, so the wallet needs USDC on Base but no ETH.
| Variable | Default | Meaning |
|---|---|---|
X402_PRIVATE_KEY | — | Your funded Base wallet, 0x + 64 hex characters. Without it the paid tools decline with an explanation and only farm_catalog works. |
X402_MAX_USD | 1.00 | Hard spend cap for the process. Once reached, every further paid call is refused. |
FARM_BASE_URL | https://x402-money-farm.fly.dev | The service to buy from. |
X402_NETWORK | eip155:8453 | Base mainnet. |
Fund a wallet for this purpose with a few dollars — not your main one. The key sits in a config file on disk; treat it accordingly. The spend cap exists so a looping agent cannot drain even that wallet.
The price in the table is the whole price. No monthly minimum, no per-seat fee,
no metered surprise. The server returns HTTP 402 with the exact amount, your
wallet signs that amount, and you get the answer after settlement. A failed
call is not billed. Every response carries a _payment block with the amount,
the running session total and the paying address, so you can reconcile against
the chain yourself.
Because the alternative is a signup, a credit card, a minimum plan and a key to rotate — for an agent that wanted the metadata of four URLs. Here the agent decides on its own, pays four cents, and nobody had to create an account.
MIT.