# mtlm-router hosted API — https://api.mtlm-router.intrane.fr A typed decision layer: send a request, get a route + calibrated confidence + escalate? + complexity in ~15ms. Same API as the self-hosted appliance (https://github.com/javimosch/mtlm-router). ## Pay per decision (peage rail, EUR) 1. Wallet: curl -s -X POST https://peage.intrane.fr/v1/wallets -d '{"email":"you@example.com"}' -> token pw_… (new wallets include free starter credit) 2. Call: curl -s -X POST https://api.mtlm-router.intrane.fr/v1/route -H 'X-Peage-Wallet: pw_…' -d '{"state":"status of ticket INC4821"}' 3. Price: 1 cent buys 20 decisions for your wallet (X-Meter-Remaining tells you what is left; X-Peage-Receipt carries the signed receipt when a charge happened). Top up: POST https://peage.intrane.fr/v1/topup. No wallet header -> 402 with a JSON pointer to the rail. Idempotent charges; a crashed proxy never double-bills. ## Endpoints (all POST JSON, forwarded to the router) /v1/route {state|messages, options?, expert?, min_conf?} -> {action: tool_call|generate|delegate, route, confidence, p_yes, tier, reason, domain?, expert?} /v1/decide {state, options?} -> which route · /v1/noul {state} -> escalate? p_yes · /v1/score {state} -> complexity 1-4 · /v1/assess {state} -> all three GET /health -> liveness (also probes the router) · GET /pricing -> this contract as JSON ## Custom routes Your own tool vocabulary is a ~7KB head trained on the frozen trunk: see https://mtlm-router.intrane.fr/#pricing (custom head, one-off) or self-host the free appliance.