Security tooling for the Stellar ecosystem. How its signals work, what is actually live, and how to check its output yourself.
Stellar already has risk data and security tools. This page says what they do, what SoroSentinel does differently, and where the two meet.
Each claim about another project was checked on 2026-11-02 against that project’s own API or README, and is linked so you can check it again. Projects change; if a line here is out of date, open an issue.
| Project | What it looks at | When | Where it runs | SoroSentinel component it sits next to |
|---|---|---|---|---|
| StellarExpert directory and ratings | accounts, domains, assets | continuously, curated | hosted API | Intel |
| Assay | an asset issuer’s authorization flags | on request | Soroban contract on testnet | Intel (issuer-flag detector, planned) |
| Stellar Agent Guard | an AI agent’s own transactions against its spending policy | before broadcast | custom account contract plus SDK | Guard |
| soroban-security-scanner | contract Rust source | before deployment | CLI | Scan |
| soroban-upgrade-safeguard | two WASM builds of the same contract | before an upgrade | CLI | Scan |
| Stellar-Explain, stellar-xdr-lens | a transaction that already happened, or a raw XDR blob | after the fact, or while debugging | hosted API (Horizon), Go CLI | Guard |
| SoroSentinel | the exact bytes a wallet user is about to sign; deployed bytecode; ledger evidence | before signing; continuously | SDK in the wallet; Go service; sandboxed CLI | — |
StellarExpert is the most widely used source of Stellar reputation data today. Verified against its public API:
exchange, issuer, memo-required and unsafe.https://api.stellar.expert/explorer/directory/tags.https://api.stellar.expert/explorer/directory/blocked-domains.It covers far more entities than SoroSentinel does today. SoroSentinel does not try to replace it.
What SoroSentinel adds:
as_of time.Where they meet: importing third-party lists as attributed input is planned for Phase 3 (partner imports, Intel #63). Nothing is imported today.
Assay classifies what an asset’s issuer can do from the issuer’s authorization flags on the ledger: whether it can freeze or claw back holdings. Its README states that a registry contract on testnet answers get_safety(asset) for other contracts to call.
SoroSentinel plans a detector over the same flags (Intel #47) and is keeping its own. The two use the data differently:
The underlying ledger fact is the same, so the two should agree. If they don’t, one of them has a bug worth reporting.
Stellar Agent Guard protects AI agents that hold their own funds.
admissible, blocked or undetermined.SoroSentinel Guard has a different user and a different role:
unanalyzable rather than passed through.Both projects share one rule: when the analysis cannot decide, it says so (undetermined there, partial or unanalyzable here).
| Project | Input | SoroSentinel Scan |
|---|---|---|
| soroban-security-scanner | Rust source, before deployment; JSON and SARIF | compiled WASM already deployed, so no source code is needed |
| soroban-upgrade-safeguard | two WASM builds, to catch breaking upgrades | one module at a time, for capability indicators |
Source scanners and pre-deployment audits help contract authors before release. Scan helps everyone else afterwards, by triaging contracts that are already on the network and feeding what it finds into Intel as evidence.
Scan reports indicators of what a module can do (replace its own code, create contracts, call other contracts). It never says a contract is fine, and every report lists what it did not check. See What Scan reports.
Stellar-Explain explains a transaction from its hash using Horizon. stellar-xdr-lens explains and diffs raw XDR, including failures.
Both are useful after the fact or while debugging. Guard works before a signature exists:
unanalyzable. Scan checks seven indicators.