Routing
Routing
The Arc Route protocol is fully open source. Explore the routing engine, SDK, execution pipeline, and every line of infrastructure on GitHub.
The entire Arc Route protocol — routing engine, execution pipeline, SDK, types, and documentation — is open source. Every line of the routing logic is auditable.
Arc Route is released under the MIT License. You are free to use, modify, and distribute the code. Attribution is required.
We accept contributions via pull requests. Fork the repository, create a feature branch, and open a PR against main. Follow conventional commits and ensure all tests pass.
The repository is a pnpm monorepo powered by TurboRepo. Clone it, run pnpm install, and pnpm build. The dev toolchain includes Biome for linting, Vitest for testing, and Changesets for versioning.
Do not open public issues for security vulnerabilities. Report them privately through GitHub Security Advisories. We acknowledge within 48 hours and aim for a fix within 5 days.
All packages include unit tests via Vitest. The CI pipeline runs lint, typecheck, and test on every push and pull request. Contributions must maintain or improve test coverage.
The protocol is organized into focused, independently versioned packages.
@arc-route/typesCore type definitions and interfaces@arc-route/graphDirected routing graph with path finding@arc-route/scoringRoute scoring and ranking engine@arc-route/executionAtomic execution pipeline@arc-route/routing-engineMain orchestration engine@arc-route/sdkPublic client SDK@arc-route/clientHTTP client for routing nodes@arc-route/sharedShared utilities and error typesAll code is written in TypeScript with strict mode enabled. The codebase uses Biome for linting and formatting, with conventions enforced in CI.
Commits follow the Conventional Commits specification. Pull requests require a changeset describing the change for automated versioning.
Tests use Vitest. Every package must maintain passing tests and type checks. The Husky pre-commit hook runs lint-staged to enforce formatting before code enters the repository.
The protocol follows a three-layer architecture: a routing layer that discovers paths, a solver that scores and commits the optimal route, and a settlement layer that propagates execution through validators.
The routing engine orchestrates a five-stage pipeline: Discover, Simulate, Score, Execute, Settle. Each stage has a single responsibility and a well-defined interface.
Full architecture documentation is available in the repository under docs/ and on the docs page.