Stellar Route Kit is a multi-language library for spec-compliant deposit routing on the Stellar network. It provides a unified API for handling G-addresses (classic), M-addresses (muxed), and C-addresses (contracts) across TypeScript, Go, and Dart.
| Platform | Package | Install |
|---|---|---|
| TypeScript | stellar-route-kit |
npm install stellar-route-kit |
| Go | core-go |
go get github.com/devnWisdom/stellar-route-kit/packages/core-go |
| Dart / Flutter | stellar_route_kit |
dart pub add stellar_route_kit |
import { extractRouting } from "stellar-route-kit";
const result = extractRouting({
address: "MAAAAAAAAAAAAAKJS7PV2HPBA4IDZRUMRNIKMG3ZJEIJZZPJ3B7ZTKKYQV67VPUKUA6QS",
});
console.log(result.address); // "GBEZPX25DXQQOEB4Y2GIWUFGDN4USEE44XU5Q74ZVFMIK7P2X2FKBQ7C"
console.log(result.routingId); // "1"import stellar "github.com/devnWisdom/stellar-route-kit/packages/core-go"
result, err := stellar.ExtractRouting(stellar.RoutingInput{
Address: "MAAAAAAAAAAAAAKJS7PV2HPBA4IDZRUMRNIKMG3ZJEIJZZPJ3B7ZTKKYQV67VPUKUA6QS",
})
fmt.Println(result.Address) // "GBEZPX25DXQQOEB4Y2GIWUFGDN4USEE44XU5Q74ZVFMIK7P2X2FKBQ7C"
fmt.Println(result.RoutingID) // "1"import 'package:stellar_route_kit/stellar_route_kit.dart';
final result = extractRouting(RoutingInput(
address: 'MAAAAAAAAAAAAAKJS7PV2HPBA4IDZRUMRNIKMG3ZJEIJZZPJ3B7ZTKKYQV67VPUKUA6QS',
));
print(result.address); // "GBEZPX25DXQQOEB4Y2GIWUFGDN4USEE44XU5Q74ZVFMIK7P2X2FKBQ7C"
print(result.routingId); // "1"- Spec-First Design — Guaranteed identical behavior across all three languages via a shared test vector suite.
- Precision Safety — Built-in protection against 64-bit integer precision loss in JavaScript and Flutter Web.
- Warning System — Discriminated unions (TS) or structured objects (Go/Dart) to surface edge cases like numeric
MEMO_TEXT. - Zero Dependencies — Core logic has no external runtime dependencies beyond standard library features.
stellar-route-kit/
├── packages/
│ ├── core-ts/ # TypeScript package (published as stellar-route-kit)
│ ├── core-go/ # Go package
│ └── core-dart/ # Dart/Flutter package (published as stellar_route_kit)
├── test-vectors/
│ └── routing.json # Canonical cross-language test vectors
├── .github/
│ ├── workflows/ # CI and release workflows
│ ├── ISSUE_TEMPLATE/ # Bug report and feature request templates
│ └── PULL_REQUEST_TEMPLATE.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
└── SECURITY.md
| Type | Prefix | Description |
|---|---|---|
| G-address | G |
Classic Stellar account (StrKey encoded) |
| M-address | M |
Muxed account (SEP-0023 / CAP-0027) |
| C-address | C |
Soroban contract address |
Contributions are welcome! Please read CONTRIBUTING.md before opening a pull request.
All implementations must pass the shared test vectors to ensure cross-language consistency.
MIT © Stellar Development Foundation contributors