# geolith Routing docs: in development, not deployed

> geolith Routing is in development and not deployed for public use: a Rust router with Valhalla-compatible route, isochrone, matrix and map matching endpoints that answers from the routing part of a .glx file, read in HTTP ranges. Design, file format, API, self-hosting and status.

Status: In development. In development, not deployed for public use. On Berlin, routes on geolith-built tiles are byte-identical to Valhalla 3.9.1. A test Worker answers them, but edge latency is not good enough yet; no hosted API, no pricing.

A Rust router with Valhalla-compatible /route, /isochrone, /sources-to-targets and map matching endpoints, answering from the routing part of a .glx file that geolith builds from OpenStreetMap. In development: not deployed for public use, and api.geolith.app has no routing endpoint.

## Features

- The routing part: Road graph tiles on three grids, in one .glx file read by range.
- Valhalla-compatible API: Route, isochrone, matrix and map matching with Valhalla bodies. Not callable yet.
- Edge only: One Rust router, built to WebAssembly, in a Worker that reads R2.
- Untrusted tiles: Bounds-checked decoders, no unsafe. A malformed tile is refused whole.
- Byte-identical to Valhalla: On Berlin: 100/100 auto routes on geolith tiles, 0 missed. Same JSON, byte for byte.
- Builder done: geolith --output-format routing writes the graph as 64 KiB zstd blocks.

## Docs

- [Overview](https://docs.geolith.app/routing/overview.md): What geolith Routing is, how it works, and its status.
- [How it works](https://docs.geolith.app/routing/how-it-works.md): From OpenStreetMap to a route: the builder, the file, the router.
- [The routing part](https://docs.geolith.app/routing/routing-part.md): The byte layout of the routing part of a .glx file.
- [API](https://docs.geolith.app/routing/api.md): The six Valhalla-compatible endpoints, one example each. Not callable yet.
- [Self-hosting](https://docs.geolith.app/routing/self-hosting.md): The router library, the Worker app, and edge latency as measured.
- [Status and roadmap](https://docs.geolith.app/routing/status.md): Done, in progress and next, with the accuracy tables.
- [Traffic and live data](https://docs.geolith.app/routing/traffic.md): Historical speeds in the routing part, and live speeds and closures from the caller. In development.
