Get an API key
For AI agents

Built for AI agents, not retrofitted.

An agent can find MapMap, read the price, get a working key and route, all without a human. No dashboard to click through, no sales call, no scraping marketing pages. The machine surface is the product.

1 · Discover

Orientation an agent can read

Every deployment serves /llms.txt (endpoints, auth, pricing, MCP) and machine-readable /pricing.json. Read those first. Do not scrape the marketing pages.

2 · Get a key

One call, no card

POST /v1/keys returns a usable snk_ key immediately: provisional, 1,000 calls over 72 hours. A magic verification link upgrades the same key to the free tier of 50,000 calls a month.

one-call signup
curl -fsS -X POST "https://api.mapmap.ai/v1/keys" \
  -H "Content-Type: application/json" \
  -d '{"email": "agent@example.com", "accept_tos": true}'

# 201 Created
# { "key": "snk_…", "state": "provisional",
#   "calls": 1000, "expires_in_h": 72 }
the 402 payment shape
HTTP/1.1 402 Payment Required
Content-Type: application/json

{
  "x402Version": 1,
  "error": "monthly free quota exhausted and no prepaid credit",
  "accepts": [ /* PaymentRequirements, or empty when x402-ready */ ],
  "instructions": "pay per call, or top up prepaid credit"
}
MCP server

Our MCP server, ten tools.

The sn-mcp server speaks stdio for local processes and streamable HTTP at /mcp for remote agents. Full JSON Schemas and structured outputs, so a model can call it correctly on the first try.

ToolWhat it does
routeTurn-by-turn route for auto or truck; the truck profile merges dimensional and ADR costing. Returns distance, duration, maneuvers and geometry.
check_adr_tunnelPure ADR 8.6.4 tunnel-entry decision from a load and a tunnel category. Decision, reason, explanation. No network.
geocodeForward geocoding through our geocoder.
matrixMany-to-many travel-time and distance matrix.
optimise_routesMulti-vehicle, multi-stop optimisation with truck and ADR constraints, fed by our own matrices.
list_style_layers / get_styleInspect a map style so an agent can see what it can restyle.
create_style / set_palette / set_layer_paintBuild and restyle maps: recolour a palette or override a single layer's paint, e.g. road width or opacity.
Connect from Claude
claude_desktop_config.json
{
  "mcpServers": {
    "sovereign-nav": {
      "type": "http",
      "url": "https://mcp.mapmap.ai/mcp"
    }
  }
}

Or with Claude Code: claude mcp add --transport http sovereign-nav https://mcp.mapmap.ai/mcp

Machine payments

Agents pay per call.

When a key runs out of free quota and prepaid credit, the gateway answers 402 in the x402 wire format. Agents that implement x402 pay inline with an X-PAYMENT header. Agents that do not keep using prepaid credit. Same response shape either way, and it fails closed: routing is served only after a valid payment.

How machine payments work →
Errors an agent can dispatch on
  • 402 Payment required, x402 body, top up or pay inline
  • 429 Rate or quota limit, honour Retry-After and back off
  • RFC 9457 problem+json with stable urn: type URIs, match on the type
  • /openapi.json the authoritative contract on every deployment

Wire an agent up in minutes.

Start at the discovery files, issue a key in one call, connect the MCP server.