One protocol. Three phases.
Every consumer, whether driver app, fleet dispatcher, or in-car AI agent, moves through the same ADEV loop: Discover find, Decide estimate, Dock transact. Same phases, two transports: REST for apps, MCP for agents.
Discover: what does the network look like right now?
/api/v1/sitesAll sites with tower, bay and availability rollups.curl -s https://os.autodockai.com/api/v1/sites/api/v1/towers?siteId=Towers with live bay states; filter by site.curl -s 'https://os.autodockai.com/api/v1/towers?siteId=site-hsr'/api/v1/towers/:idOne tower: live bays, active kW, queue depth.curl -s https://os.autodockai.com/api/v1/towers/ADK-BLR-HSR-T1/api/v1/availabilityThe core query: free bays near a point, by connector and min kW.curl -s 'https://os.autodockai.com/api/v1/availability?lat=12.9116&lng=77.6474&radiusKm=5&connector=CCS2&minKw=150'/api/v1/pricing?towerId=Live tariff: base rate, TOU bands, effective ₹/kWh now.curl -s 'https://os.autodockai.com/api/v1/pricing?towerId=ADK-BLR-HSR-T1'/api/v1/stats/networkNetwork KPIs: utilization, uptime, kWh, revenue, active sessions.curl -s https://os.autodockai.com/api/v1/stats/network/api/v1/streamSSE feed: snapshot first, then every sim event live.curl -N https://os.autodockai.com/api/v1/streamDecide: what's my best move?
/api/v1/estimates/charge-timeTaper-aware minutes, kWh and cost to a target SoC on a bay.curl -s -X POST https://os.autodockai.com/api/v1/estimates/charge-time \
-H 'content-type: application/json' \
-d '{"bayId":"ADK-BLR-HSR-T1-B04","batteryKwh":77,"currentSoc":22,"targetSoc":80}'/api/v1/estimates/wait-time?towerId=Queue-based ETA until a bay frees up on a full tower.curl -s 'https://os.autodockai.com/api/v1/estimates/wait-time?towerId=ADK-BLR-HSR-T1'Execute: reserve, charge, settle.
/api/v1/bookingsReserve a bay: 20-min hold, ₹49 fee, ₹29 no-show.curl -s -X POST https://os.autodockai.com/api/v1/bookings \
-H 'content-type: application/json' \
-d '{"bayId":"ADK-BLR-HSR-T1-B04"}'/api/v1/bookings/:idReservation status: hold window, fees, lifecycle state.curl -s https://os.autodockai.com/api/v1/bookings/RSV-1/api/v1/bookings/:idCancel a reservation and release the bay.curl -s -X DELETE https://os.autodockai.com/api/v1/bookings/RSV-1/api/v1/sessions?towerId=&state=Live + historical charging sessions (CDR-shaped).curl -s 'https://os.autodockai.com/api/v1/sessions?state=active'/api/v1/x402/bookingsThe same reservation, paid for over x402. Answers 402 first.curl -s -i -X POST https://os.autodockai.com/api/v1/x402/bookings \
-H 'content-type: application/json' \
-d '{"bayId":"ADK-BLR-HSR-T1-B04"}'Connect an agent over MCP
Streamable HTTPThe tool set is the ADEV loop, verbatim: an agent Discovers, Decides, then Docks. Point Claude (or any MCP client) at the endpoint and ask it to find, estimate, and book. No app, no account.
Endpoint
https://os.autodockai.com/api/mcpClaude config · .mcp.json or claude_desktop_config.json
{
"mcpServers": {
"autodockos": {
"type": "http",
"url": "https://os.autodockai.com/api/mcp"
}
}
}| Tool | Phase | Purpose |
|---|---|---|
| find_available_bays | Discover | Free bays near a point, by connector and minimum kW. |
| get_tower_status | Discover | One tower: bay states, active kW, queue depth. |
| get_pricing | Discover | Tariff with TOU bands and the effective ₹/kWh now. |
| get_network_stats | Discover | Network KPIs: utilization, uptime, kWh, revenue. |
| estimate_charge_time | Decide | Taper-aware minutes, kWh and cost to a target SoC. |
| estimate_wait_time | Decide | Queue-based ETA until a bay frees on a full tower. |
| book_charging_slot | Dock | Reserve a bay: returns booking id and 20-min hold. |
| cancel_booking | Dock | Release a reservation. |
x402 · autonomous settlement
Live on Solana devnetx402 revives HTTP 402 Payment Required for machine-native stablecoin payments, and it completes the ADEV Dock phase for machines. The EV’s agent Discovers and Decides over MCP, then POST /api/v1/x402/bookings answers 402 with an exact-scheme quote; the agent signs a USDC TransferChecked, retries with the PAYMENT-SIGNATURE header, and the reservation is created only once settlement confirms. Autonomous machine-to-machine commerce in one HTTP cycle. The unpaid /api/v1/bookings route stays open alongside it.
Wallets, the simulation/real toggle and the receipt ledger live on the x402 console.