http://127.0.0.1:3030
Authentication
AXON recognizes three credential classes on authenticated/v1/* routes:
- Operator key
- Tenant API key
- Supabase session
The static This key can call many org-scoped routes, but it is not bound to an organization. Routes that require an org context, such as
AXON_DECISION_API_KEY. Full trust. Required for:- Operator-only REST routes under
/v1/operator/*and all/v1/repair/*endpoints - Provider registry mutations (
/v1/providers/*) - Worker triggers (
/v1/webhooks/dispatch,/v1/transactions/confirm,/v1/approvals/expire) - Global metrics (
/v1/metrics)
GET /v1/me, return 404 NOT_FOUND.GET /healthGET /readyGET /v1/healthGET /v1/readyGET /v1/GET /v1/discovery/resourcesPOST /v1/services/:id/quote
POST /v1/orgs/bootstrap/browser is also guarded by AXON_HOSTED_BROWSER_BOOTSTRAP_DISABLED; when that flag is true, the route returns 403 even for valid browser sessions.
Error Format
All AXON errors return structured payloads:HTTP Status Codes
Malformed JSON is a special case: the daemon returns a JSON-RPC parse envelope with
error.code = -32700 even on REST routes.
Surface split
AXON exposes two capability surfaces:runtime: wallet-scoped spend, approvals, receipts, and runtime MCP toolsoperator: org-scoped control-plane operations such as wallets, offers, keys, mandates, treasury, and operator MCP tools
Endpoint Summary
Public
Core Spend
Operator & Admin
Providers
Provider Search
Discovery
Public Paid Gateway
MCP over HTTP
/v1/mcp is wallet-scoped. An org-wide tenant key with no wallet binding receives a JSON-RPC-framed WALLET_BINDING_REQUIRED error. Static operator-key fallback is demo-only; live HTTP runtime clients should use wallet-bound tenant keys.
Workers
Settlements
Operator (operator-only)
These REST routes require the static operator key (AXON_DECISION_API_KEY). The separate /v1/operator/mcp MCP entrypoint also accepts org-wide tenant keys.
Repair (operator-only)
Dead-letter replay and manual reconciliation endpoints. All routes require the operator key.Request body limit is
256kb unless a route installs its own handler, such as file upload or the paid gateway.