Reference
Errors
Only statuses and messages this codebase actually returns.
JSON-RPC
- -32600 Invalid request — JSON-RPC body had no method. Cause: Malformed or empty MCP POST body. Action: Send { jsonrpc: "2.0", id, method, params }.
- -32601 Method not found — The MCP method is not implemented. Cause: Typo or unsupported method (no prompts, no sampling, no legacy SSE subscribe). Action: Use initialize, ping, tools/list, tools/call, resources/list, resources/read.
HTTP
- 202 Accepted (notification) — MCP notification with no JSON-RPC response. Action: Expected. Continue with tools/list. Retry: n/a
- 400 Empty prompt — Orbit agent POST had no prompt/message. Action: Send { prompt: "..." }. Retry: After fixing the body.
- 404 Unknown tool — REST /api/v1/<tool> or dispatchTool could not resolve the name. Action: Call GET /api/v1 or tools/list / search_catalog. Retry: After correcting the name.
- 429 RATE_LIMITED — More than 180 HTTP requests per 60 seconds from this IP on this process. Action: Back off. Honor Retry-After and RateLimit-Reset. Retry: After Retry-After seconds. Exponential backoff for agents.
- 500 Upstream / internal — Health or agent handler threw. Action: Check /developers/status and retry later. Retry: Transient — retry with backoff.
Tool payload { ok: false, error }
- Unknown tool: <name> — Name is not a listed tool or catalog alias. search_catalog, then run_tool.
- Missing tool name — tools/call or REST POST omitted the name. Pass params.name / body.tool.
- Provide a 0x wallet / address — Address failed ADDRESS_RE (0x + 40 hex). Pass a Robinhood Chain 0x address, not a ticker.
- No Robinhood Chain market found — DexScreener had no robinhood pair for the query. Resolve by contract. Tickers collide.
- Not a pons launch token — Address is not in indexed v1/v2 TokenLaunched logs. Use list_pons_launches; do not invent launches.
- Need a token name and ticker — prepare_pons_launch missing name/symbol. Required: name, symbol.
MCP tools/call catches throws and returns isError: true with { ok: false, error }. That is still HTTP 200 JSON-RPC ok, not a JSON-RPC error object.