Skip to content

Pricing & Guardrails

Every service costs exactly $0.01 per request, paid via x402 with the exact scheme. One cent is the product promise, not a sample price: a route is only in the catalog if it can be served honestly at that price, and each route enforces caps that keep it there. The price you are quoted is the price you pay — there are no tiers, surcharges, or usage-based surprises.

Several underlying sources offer modes that cost more than one cent to serve. Rather than silently downgrading your request or quietly eating the difference until the terms change, the API refuses them outright with 400 unsupported_options (or a strict-schema validation_error) — before payment, so a refused request costs you nothing:

Refused mode Offered instead
Exa deep / deep-reasoning search Fast/auto search, max 10 results
Exa search with summaries Results without summaries
Firecrawl scrape + JSON extraction Plain markdown scrape
Firecrawl enhanced scrape Plain markdown scrape
Firecrawl crawl / browser interaction / agent modes Single map/search/scrape calls
Unbounded Context7 token budgets Bounded token budget (see caps)

Mechanically this is enforced two ways: the web-context input schemas are strict (unknown keys like scrapeOptions or summary are rejected outright), and in-range but unsupported combinations return unsupported_options.

The hard limits that keep every call inside the one-cent envelope:

Cap Value Applies to
Exa search results 10 exa-search (numResults)
Exa content URLs 5 exa-contents (urls)
Firecrawl search results 10 firecrawl-search (limit)
Firecrawl map links 100 firecrawl-map (response)
Firecrawl scrape content 20,000 chars firecrawl-scrape (markdown truncation)
Context7 token budget 5,000 (min 500, default 2,500) context7-query-docs (tokens)
Context7 resolve candidates 5 context7-resolve-library (response)
Wallet token balances / transfers 10 / 10 wallet-brief (response)

Every cap is also stated on the service’s own page and in its machine-readable schema, so an agent can plan around them instead of discovering them by rejection.

Public-data services cache responses in a server-side TTL cache (1, 5, or 10 minutes depending on the route — e.g. token-risk 5 minutes, protocol-context 10 minutes). A cache hit is flagged in the envelope (cache.hit: true) with the original provider attribution preserved. Each request is priced identically either way — caching buys you latency, not a discount, and never staleness beyond the stated TTL.