IndiaPlatformDevelopers

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

Discover: what does the network look like right now?

GET/api/v1/sitesAll sites with tower, bay and availability rollups.
curl -s https://os.autodockai.com/api/v1/sites
GET/api/v1/towers?siteId=Towers with live bay states; filter by site.
curl -s 'https://os.autodockai.com/api/v1/towers?siteId=site-hsr'
GET/api/v1/towers/:idOne tower: live bays, active kW, queue depth.
curl -s https://os.autodockai.com/api/v1/towers/ADK-BLR-HSR-T1
GET/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'
GET/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'
GET/api/v1/stats/networkNetwork KPIs: utilization, uptime, kWh, revenue, active sessions.
curl -s https://os.autodockai.com/api/v1/stats/network
GET/api/v1/streamSSE feed: snapshot first, then every sim event live.
curl -N https://os.autodockai.com/api/v1/stream
Decide

Decide: what's my best move?

POST/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}'
GET/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'
Dock

Execute: reserve, charge, settle.

POST/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"}'
GET/api/v1/bookings/:idReservation status: hold window, fees, lifecycle state.
curl -s https://os.autodockai.com/api/v1/bookings/RSV-1
DELETE/api/v1/bookings/:idCancel a reservation and release the bay.
curl -s -X DELETE https://os.autodockai.com/api/v1/bookings/RSV-1
GET/api/v1/sessions?towerId=&state=Live + historical charging sessions (CDR-shaped).
curl -s 'https://os.autodockai.com/api/v1/sessions?state=active'
POST/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 HTTP

The 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/mcp

Claude config · .mcp.json or claude_desktop_config.json

{
  "mcpServers": {
    "autodockos": {
      "type": "http",
      "url": "https://os.autodockai.com/api/mcp"
    }
  }
}
ToolPhasePurpose
find_available_baysDiscoverFree bays near a point, by connector and minimum kW.
get_tower_statusDiscoverOne tower: bay states, active kW, queue depth.
get_pricingDiscoverTariff with TOU bands and the effective ₹/kWh now.
get_network_statsDiscoverNetwork KPIs: utilization, uptime, kWh, revenue.
estimate_charge_timeDecideTaper-aware minutes, kWh and cost to a target SoC.
estimate_wait_timeDecideQueue-based ETA until a bay frees on a full tower.
book_charging_slotDockReserve a bay: returns booking id and 20-min hold.
cancel_bookingDockRelease a reservation.

x402 · autonomous settlement

Live on Solana devnet

x402 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.