Tiny paid recovery and decision utilities for autonomous agents.
One address for any MCP client. No sign-in needed on this server.
1 act3 other
Grouped by tool name. At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
______ _ _
| ____| | | |
| |__ __ _ | | |__ __ _ ___| | __
| __|/ _` || | '_ \ / _` |/ __| |/ /
| | | (_| || | |_) | (_| | (__| <
|_| \__,_||_|_.__/ \__,_|\___|_|\_\
find the route forward
Tiny paid recovery and decision utilities for autonomous agents.
When an agent gets stuck, Fallback helps it find the next safe move without wasting a large reasoning loop.
source_route Where should I look? ($0.02)
error_route Why did this fail? ($0.002)
request_repair Can I safely fix the request? ($0.005)
stop_search Is another search worth it? ($0.003)
Pay-per-call tools that help AI agents find sources, diagnose failures, repair requests, and decide when to stop searching. Fallback gives autonomous agents small, deterministic utilities for the moments where automation gets stuck: finding the right source, diagnosing a failed request, repairing a request from available evidence, and deciding whether another search or paid retrieval is worth the cost.
MCP endpoint: https://fallback.factrail.online/mcp\
HTTP API base: https://fallback.factrail.online\
Payment: x402 V2 pay-per-call. Check each live challenge for network, asset, amount, and recipient.
Agent skill: skill.md
OpenAPI: openapi.json
Network: Base mainnet, canonical USDC
Release: v0.1.0-beta.1
source_route ($0.02): Where should I look? Find likely authoritative or machine-readable sources.error_route ($0.002): Why did my call fail? Classify a failed request and recommend a bounded next action.request_repair ($0.005): Can I safely fix the request? Propose the smallest change supported by caller-supplied evidence.stop_search ($0.003): Is further searching worth it? Decide whether more bounded search effort is justified by the evidence and remaining cost.These tools do not replace agent reasoning, and stop_search never proves universal absence.
Use source_route when an agent knows what it needs and which publisher (a domain or start URL), but not how to get it in machine-readable form: an API, OpenAPI spec, bulk download, dataset or feed.
How to read the result:
status: routes_found: try routes in order. score is a deterministic ranking, not a probability or confidence.status: no_suitable_route_found: nothing suitable within the checked scope (see checked.direct_probes). This is not evidence that no route exists. The agent should look elsewhere (another host, the publisher's open-data portal), not conclude "there is no API".limitations. It says, for example, whether external search was unavailable or candidate inspection was capped.Limits per call: at most 8 direct HTTP requests, 12 s total, 1 MiB per response, and at most 1 external search request. No LLM inference. The hosted beta currently runs deterministic discovery only (no search provider configured).
Access: hosted MCP https://fallback.factrail.online/mcp (Streamable HTTP) or the HTTP tool routes, x402 pay-per-call (each challenge declares its payment network and amount; no account or API key). To try it without payment, self-host with PAYMENT_MODE=disabled (see Local development). Machine-readable summary: llms.txt. More detail: Using Fallback with agents.
Fallback is publicly launched. See the current launch and distribution status, product rename impact audit, discovery/distribution readiness audit, and telemetry and 30-day KPI definitions.
error_routeUse it after an HTTP, API, MCP, or tool request fails when the safe next action is unclear. It classifies supplied evidence and returns bounded retry guidance. Do not use it when recovery is already obvious or the task needs deeper domain reasoning; it does not execute requests or invent undocumented fixes.
npm install
cp .env.example .env
npm run generate
npm run dev
The server exposes /, /healthz, /readyz, /catalog.json, /openapi.json, /llms.txt, /llms-full.txt, /skill.md, /.well-known/x402.json, /.well-known/mcp/server-card.json, and the Streamable HTTP MCP endpoint at /mcp. Both HTTP and MCP dispatch through the shared runtime handler registry. PAYMENT_MODE=disabled supports local development; paid deployments must explicitly select test or production and provide complete x402 configuration.
npm test
npm run typecheck
npm run lint
npm run benchmark:source-route
npm run benchmark:error-route
npm run verify:catalog
npm run release:check
Connect an x402-compatible agent to https://fallback.factrail.online/mcp, call the matching tool after a concrete failure or search decision, and approve only the network, token, recipient, and amount shown by its payment challenge. HTTP clients can use POST /v1/tools/{tool_id} on the hosted origin. See skill.md for examples and schemas.
src/core/registry.ts is the one canonical tool registry. Every discovery surface and distribution artifact is derived from it. Each tool gets a directory under src/tools/ with a contract and handler; future tool tests and fixtures belong alongside the matching contract test/fixture directories. HTTP and MCP adapters must call the same tool handler. Payment middleware and marketplace integrations stay outside tool logic.
The service supports x402 V2 per-call payment without accounts or API keys. The server only receives payment at X402_PAY_TO; no receiving wallet private key is required. Paid startup fails closed if the required network, receiving address, facilitator URL, or production URL is missing or invalid. See deployment and payment setup.
{
"goal": "Download the latest population dataset",
"start_url": "https://ec.europa.eu/eurostat/",
"preferred_formats": ["csv", "json"]
}
Call POST /v1/tools/source_route with a goal and either start_url or domain. The result is limited to the checked scope; a missing result does not mean that no route exists. Direct site discovery runs without external search credentials. If Tavily or Brave is configured and direct discovery is insufficient, the tool can make at most one search request.
See PRODUCT, ARCHITECTURE, TOOL_ADMISSION, DISTRIBUTION, and RELEASE.
Fallback comes from the same author and design rule as FACTRAIL MCP: agent tools should report what they checked, not only what they found. FACTRAIL answers "what is established about this fact, and from which source?" by returning evidence envelopes with support levels, unresolved fields and receipts ("unknown is better than invented"). Fallback answers "where can I get this data?" ("absence is not proof of nonexistence"). The two are independent services with no code dependency, and you can use either one alone.