Sponsored Content
Skip to content

Repository files navigation

πŸͺ™ Tollbooth

Receipt-backed paid work products for AI agents. Pay per task in USDC on Base. No accounts, no API keys, no credit cards.

Tools Network Protocol Status Price

🌐 Website Β· πŸ“– Docs Β· πŸ”§ Tools Β· πŸ“ Blog Β· πŸ€– MCP Endpoint Β· πŸ“‹ agent.json


What is agenttoll.dev?

agenttoll.dev is a marketplace of receipt-backed paid work products exposed through the Model Context Protocol. Any MCP-compatible agent β€” Claude, Cursor, custom builds β€” can discover a task, inspect the price and seller metadata, cap the spend, call the tool, and receive structured JSON with a receipt envelope. Payment happens through the x402 protocol: the agent attaches a USDC micropayment to the request, the server verifies it on-chain, and returns the finished work. Pennies per task. No signup, no billing dashboard, no API key management.

One-line pitch: checkout infrastructure for agent-bought work, except the checkout is a 402 response with a payment challenge instead of a credit card form.

What's actually here

100 tools Prediction market scanning, OSINT feeds, SEC filings, court records, academic search, FDA recalls, wildfire data, federal spending, CVE lookups, and more
12 categories Prediction Markets, OSINT, Web Intel, Legal, Academic, Health, Environmental, Government, Finance, Security, Gen-Video Intel, Utility
Pricing $0.01 – $0.10 per call. You see the price before paying β€” it's in the tool schema.
Payment USDC on Base mainnet via x402 exact-payment scheme
Infrastructure Cloudflare Worker + Durable Objects (state) + KV (cache). Edge-deployed, sub-50ms cold starts.

Quick Start

1. Connect your MCP client

Point any MCP-compatible client at the endpoint:

{
  "mcpServers": {
    "tollbooth": {
      "url": "https://agenttoll.dev/mcp"
    }
  }
}

That's it. The server advertises all 100 tools with their schemas and prices. Your agent picks the ones it needs.

2. Fund a wallet with USDC on Base

Send a few dollars of USDC (Base mainnet) to a wallet your agent controls. That's the only balance you need. One cent covers 10–100 tool calls depending on the tool.

Detail Value
Network Base mainnet (eip155:8453)
Asset USDC
USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Seller address 0x62a0D3d9DF0dE8804983009949c714EaeAFd87F1
Facilitator https://facilitator.payai.network
Payment scheme x402 exact

3. Call a tool

Your MCP client handles the payment flow automatically. When you call a paid tool, the server responds with HTTP 402 and a payment challenge. Your client signs the payment, re-sends the request, and gets the data back. You don't write any payment code.

Using Base MCP

Base MCP gives assistants a user-approved Base Account wallet path for x402 payments. AgentToll ships an Agent Skill that helps an MCP assistant inspect route metadata, verify the Base USDC seller address, cap the payment, explain the purchase, and refuse unsafe calls before asking the user to approve a spend.

npx skills add huwhitememes/tollbooth --skill agenttoll-base-mcp-buyer

How Payment Works

  Agent                    Tollbooth                 Base Mainnet
    β”‚                          β”‚                          β”‚
    │── tool call ────────────▢│                          β”‚
    β”‚                          β”‚                          β”‚
    │◀── 402 Payment Required ─│                          β”‚
    β”‚    (price, scheme,       β”‚                          β”‚
    β”‚     accept tokens)       β”‚                          β”‚
    β”‚                          β”‚                          β”‚
    │── signed USDC payment ──▢│                          β”‚
    β”‚    (x402 exact scheme)   β”‚                          β”‚
    β”‚                          │── verify on-chain ──────▢│
    β”‚                          │◀── βœ“ valid ──────────────│
    β”‚                          β”‚                          β”‚
    │◀── 200 OK + tool result ─│                          β”‚
    β”‚                          β”‚                          β”‚

What the agent sees: A normal MCP tool call that costs money. The 402 β†’ payment β†’ retry cycle is handled by the x402 client library. No manual signing, no transaction monitoring.

What the developer sees: A single endpoint. No auth headers, no API keys to rotate, no rate limit tiers to manage. The price is in the tool schema β€” your agent can decide whether a call is worth it before paying.


Tool Categories

Category Count Price Range Example Tools
Prediction Markets 12 $0.02–$0.10 cross_platform_arb_scan, smart_money, orderbook_imbalance, kalshi_markets
OSINT & Intelligence 14 $0.02–$0.05 geo_intervention_pulse, osint_research_pack, sec_8k_velocity, treasury_dts
Web Intel & Scraping 8 $0.01–$0.05 scrape, enrich_lead, detect_stack, score_lead
Environmental & Climate 12 $0.02–$0.03 wildfires, aurora_forecast, weather_forecast_grid, usgs_quake
Health & Safety 9 $0.02–$0.04 drug_recalls, adverse_events, disease_outbreaks, vehicle_recalls
Academic & Research 8 $0.02–$0.04 search_papers, search_arxiv, clinical_trials, citation_graph
Government & Civic 8 $0.02–$0.04 federal_spending, national_debt, lobbying_records, federal_grants
Finance & Crypto 8 $0.01–$0.03 edgar_filings, insider_trades, crypto_price_simple, fred_series
Legal & Regulatory 7 $0.03–$0.05 court_opinions, patents_search, trademarks_search, federal_register
Security 7 $0.02–$0.05 agent_threat_intel, cve_search, mcp_supply_chain_iocs, agent_trifecta_score
Social, Utility & AI 7 $0.01–$0.05 reddit_search, github_repo_intel, gen_video_intel, currency_rates

Total: 100 tools. Browse all of them at agenttoll.dev/tools.


Code Example

Calling a paid tool via MCP (TypeScript)

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { exactEvmClientExtension } from "@x402/evm/exact/client";

// 1. Create an MCP client with x402 payment support
const client = new Client({
  name: "my-agent",
  version: "1.0.0",
});

const transport = new StreamableHTTPClientTransport(
  new URL("https://agenttoll.dev/mcp"),
  {
    // x402 exact payment extension β€” handles 402 β†’ sign β†’ retry
    extensions: [
      exactEvmClientExtension({
        walletClient: yourBaseWalletClient, // viem wallet on Base
      }),
    ],
  }
);

await client.connect(transport);

// 2. List available tools (free β€” no payment needed for discovery)
const { tools } = await client.listTools();

// Each tool's price is in the schema:
// tools[0].annotations.price_usd β†’ "0.03"
// tools[0].annotations.x402_price β†’ { scheme: "exact", ... }

// 3. Call a paid tool β€” payment happens automatically
const result = await client.callTool({
  name: "cross_platform_arb_scan",
  arguments: {
    query: "bitcoin",
    min_net_edge: "0.015",
  },
});

// result.content[0].text β†’ JSON with cross-platform arbitrage opportunities
// Your wallet was debited $0.10 in USDC on Base. That's it.
console.log(result.content[0].text);

Using with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "tollbooth": {
      "url": "https://agenttoll.dev/mcp"
    }
  }
}

Claude will discover all 100 tools automatically. (Note: Claude Desktop needs an x402-compatible payment wallet to complete paid calls β€” the discovery and schema listing are free.)


Architecture

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚      agenttoll.dev (edge)        β”‚
                    β”‚    Cloudflare Worker (Hono)      β”‚
                    β”‚                                  β”‚
  MCP Request ─────▢│  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  (JSON-RPC over    β”‚  β”‚  MCP Server  β”‚  β”‚ x402     β”‚  β”‚
   HTTP/SSE)        β”‚  β”‚  (Durable    β”‚  β”‚ Payment  β”‚  β”‚
                    β”‚  β”‚   Object)    β”‚  β”‚ Middlewareβ”‚  β”‚
                    β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β”‚
                    β”‚         β”‚               β”‚        β”‚
                    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”  β”‚
                    β”‚  β”‚    Tool Implementations     β”‚  β”‚
                    β”‚  β”‚  (scrapers, API wrappers,   β”‚  β”‚
                    β”‚  β”‚   data feeds, analyzers)    β”‚  β”‚
                    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
                    β”‚         β”Œβ”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
                    β”‚    β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”  β”‚
                    β”‚    β”‚ KV Cache β”‚    β”‚ Public     β”‚  β”‚
                    β”‚    β”‚ (15min   β”‚    β”‚ APIs       β”‚  β”‚
                    β”‚    β”‚  TTL)    β”‚    β”‚ (no keys)  β”‚  β”‚
                    β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   x402 Facilitator               β”‚
                    β”‚   facilitator.payai.network      β”‚
                    β”‚   Verifies USDC payment on Base  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Stack: TypeScript Β· Hono Β· Cloudflare Workers Β· Durable Objects Β· KV Β· @modelcontextprotocol/sdk Β· @x402/core Β· @x402/hono

Many current tools use free, keyless public sources β€” USAspending.gov, SEC EDGAR, CourtListener, PubMed, NASA FIRMS, NOAA, USGS, Polymarket, Kalshi, Reddit, GitHub, and others. That is the supply layer, not the product. agenttoll.dev packages sources into agent-buyable work: task-shaped outputs, buyer metadata, spend caps, structured results, and receipts. You pay for the finished work and payment-safe packaging, not for raw public data.


Discovery

agent.json

agenttoll.dev publishes a machine-readable manifest at the standard location:

https://agenttoll.dev/.well-known/agent.json

This follows the emerging agent discovery spec β€” identity, endpoint, payment config, and full tool catalog with prices. Agents can discover agenttoll.dev the same way crawlers discover robots.txt.

View agent.json summary
{
  "schema_version": "0.1",
  "name": "agenttoll.dev",
  "description": "Paid MCP and HTTP tools for prediction market intelligence...",
  "homepage": "https://agenttoll.dev",
  "mcp": "https://agenttoll.dev/mcp",
  "contact": { "name": "Hu White", "email": "memerhuwhite@gmail.com" },
  "payments": {
    "protocol": "x402",
    "scheme": "exact",
    "network": "eip155:8453",
    "network_name": "Base mainnet",
    "asset": "USDC",
    "asset_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "facilitator": "https://facilitator.payai.network",
    "seller": "0x62a0D3d9DF0dE8804983009949c714EaeAFd87F1"
  },
  "tools": [ ... 100 tools with name, price_usd, description, input schema ... ]
}

Honest Limitations

agenttoll.dev is live and functional, but it's not pretending to be something it isn't:

  • No uptime SLA. This runs on a Cloudflare Worker. It's reliable for a solo project, but there's no redundancy beyond what Cloudflare provides. Don't build life-critical infrastructure on it.
  • Data is as fresh as the upstream APIs. Most tools cache responses for 10–15 minutes in KV. If a source API is down, the tool is down. Polymarket, SEC EDGAR, and CourtListener have all had outages in 2026.
  • Prices may change. Current pricing ($0.01–$0.10) reflects what a solo operator can sustain. If upstream APIs start rate-limiting or adding their own costs, prices go up. The agent.json always reflects current pricing β€” your agent reads it dynamically.
  • No data guarantees. These are wrappers around public APIs. If the FDA reports bad data, agenttoll.dev returns bad data. Verify before making decisions with real money.
  • x402 is early. The protocol works (payments settle on Base mainnet), but the client ecosystem is still maturing. If your MCP client doesn't support x402 payment extensions yet, paid calls will fail with a 402 you can't resolve. Discovery and schema listing work for any MCP client.
  • No rate limiting beyond politeness. Tools self-throttle to respect upstream API limits (e.g., 9 req/sec for SEC, 2 req/sec for FRED). There's no per-customer rate limiting β€” if you hammer the endpoint, you'll get errors from upstream APIs, not from agenttoll.dev.

Links

Resource URL
Website agenttoll.dev
MCP Endpoint https://agenttoll.dev/mcp
Tool Directory agenttoll.dev/tools
Documentation agenttoll.dev/docs
Blog agenttoll.dev/blog
Base MCP buyer skill agenttoll.dev/agenttoll-base-mcp-skill.md
agent.json agenttoll.dev/.well-known/agent.json
GitHub github.com/huwhitememes/tollbooth
x402 Protocol x402.org
MCP Spec modelcontextprotocol.io
Base Network base.org

License

The agenttoll.dev service is free to use (you only pay per call). Source code in this repo is provided for reference and self-hosting. See LICENSE if present.

The underlying data tools aggregate from public APIs under their respective terms of service (USAspending.gov public domain, SEC EDGAR public domain, NOAA/USGS public domain, etc.).


Built by Hu White Β· Powered by x402 Β· Running on Base

Report an issue Β· Contact

About

100 paid MCP tools for AI agents β€” x402 micropayments in USDC on Base. Prediction markets, OSINT, SEC filings, legal, academic, health, environmental, government data.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages