Stellar toolchain diagnosis
Your Soroban SDK is drifting.
kedgeway asks the live Stellar ecosystem what is current and tells you how far behind you are.
1,285 Soroban repos are on a deprecated SDK today. Scout via Raven, 2026-11-11.
fig. 1 — Sallie Gardner at a gallop · frame 08 of 11
E. Muybridge, pl. 626 · Palo Alto, 1878
01 — The ecosystem
One in five Soroban repos runs a deprecated SDK.
Scout scanned 5,863 repos on 2026-11-11. 1,285 of them (22%) use a deprecated soroban-sdk. Nothing in their build tells them.
5,863 Soroban repos by soroban-sdk status
| status | repos | share |
|---|---|---|
| deprecated | 1,285 | 22.0% |
| current | 197 | 3.4% |
| supported | 4,330 | 73.9% |
| unknown | 51 | 0.9% |
Source: Stellar Raven / Scout · 2026-11-11
- repos scanned
- 5,863
- deprecated
- 1,285
- of the ecosystem
- 22%
- current soroban-sdk major
- 28
02 — How it works
Checked against the live ecosystem. Never a stale list.
kedgeway scans Cargo.toml for soroban-sdk, including workspace dependencies and package = renames, and package.json for @stellar/stellar-sdk, @stellar/stellar-base, and the legacy soroban-client and stellar-sdk. Then it asks Stellar Raven. If a source fails, the report says DATA_DEGRADED instead of guessing.
01
scan
Cargo.toml / package.json
02
ask raven
Software Versions + Scout
03
diagnose
report · source + time
Works with
- Cargo.toml
- package.json
- GitHub Actions
- Stellar Raven
- Soroban
03 — The report
A report you can act on. Every line cites its source.
Findings are sorted by severity, point at the file, and say what to do. Every finding cites its source and observation time. Use --json for machines and --fail-on for CI.
Example report for ./my-contract. Ecosystem: soroban-sdk current major 28, observed 2026-11-11T22:00:57Z, source Stellar Raven and Scout.
- Critical, SDK_DEPRECATED, contracts/hello/Cargo.toml: soroban-sdk 21.0.0 is on a major listed as deprecated (current: 28). Upgrade.
- Critical, JS_LEGACY_PACKAGE, package.json: soroban-client 1.0.0 is a legacy package; replace it with @stellar/stellar-sdk.
Summary: 2 critical, 0 warning, 0 info.
04 — Findings
What it catches. Eighteen codes, three severities.
Each finding names the file, cites its source and the time it was observed, and says what to do.
| code | severity | what it means |
|---|---|---|
| SDK_DEPRECATED | critical | soroban-sdk is on a deprecated major, or more than one major behind. |
| JS_LEGACY_PACKAGE | critical | soroban-client or the unscoped stellar-sdk is still in package.json. |
| SDK_BEHIND | warning | soroban-sdk is exactly one major behind the current one. |
| MANIFEST_UNPARSEABLE | warning | A Cargo.toml, package.json, or directory could not be read, so it was not checked. |
| DATA_DEGRADED | warning | A data source failed. The report says so instead of guessing. |
| NO_SDK_FOUND | info | No Stellar SDK dependency was found in the scanned path. |
05 — Install
Install in a minute. Then sign in to Raven.
Node 22.12 or newer. Install the CLI, sign in to Raven, then diagnose a repo.
The token is stored at ~/.config/kedgeway/auth.json with mode 0600. --fail-on warning exits with code 2 if any finding is a warning or worse.
# 1. Install
npm install -g kedgeway
# 2. Sign in to Raven (opens your browser)
kedgeway login
# 3. Diagnose
kedgeway diagnose ./my-contract --fail-on warning
# Or scan a remote repository
kedgeway diagnose https://github.com/o/r06 — FAQ
Questions, answered. Short, no marketing.
No. kedgeway sends one fixed script to Stellar Raven, with nothing from your repo in it. The comparison runs on your machine.
You sign in to Stellar Raven once with OAuth in your browser. The token is stored locally at ~/.config/kedgeway/auth.json.
Yes. --offline reuses the cached Raven snapshot from your last live run, and --fixture uses a snapshot file. A first live run needs network access and a Raven sign-in.
soroban-sdk in Cargo.toml, and @stellar/stellar-sdk, @stellar/stellar-base and the legacy soroban-client and stellar-sdk in package.json.
Yes. --fail-on exits with code 2 when a finding meets the threshold. For live data in CI set the KEDGEWAY_AUTH secret; or use a fixture.
Yes. Run kedgeway init --mode pr. A weekly GitHub Actions job checks your SDK versions against live Stellar data. When you are behind, it pushes one branch, kedgeway/migrate-<major>, and opens a single pull request with the edits, the findings, the manual steps as a checklist and the migration guide. Re-runs update the same PR. It runs in your repo with your own Raven login: no hosted service, and your source code is never rewritten.
npm install -g kedgeway. It needs Node 22.12 or newer.
07 — Integrations
Not a roadmap anymore. Four ways to run it.
fig. 9frame 05, set in type
Stop drifting. Diagnose, then migrate.
npm install -g kedgeway