Practical overview
When it fits
Use it when a Stellar monitoring workflow needs an administrator-controlled agent allowlist, an on-chain threshold check, and latest-flag state with events available to off-chain services.
Who it is for
- Teams building Stellar-based monitoring services that need authorized agents to publish account flags on-chain.
- Developers integrating Soroban contract state and events with a backend or dashboard.
Documented uses
- Authorize and revoke addresses that may submit flags.
- Set and read the score threshold used by the contract.
- Submit a threshold-qualified flag and retrieve a subject’s latest flag.
- Consume emitted flag events off-chain for dashboard updates or historical indexing.
Requirements & limits
The repository is public and identifies the contract as MIT-licensed. The documented deployed instance is on Stellar Testnet.
- The contract retains only each subject’s latest flag; historical records require off-chain event indexing.
- The project’s documented Testnet instance has threshold 70 and no authorized monitoring agents yet.
- The associated backend reads events but does not sign or submit transactions; its RPC network must match the contract network.
- Contract checks do not validate the accuracy of scores produced off-chain.
- Soroban storage is subject to TTL and archival rules.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build and test the Soroban contract
Compile the Rust contract and run its tests and lint checks.
Before you start
- Stable Rust
- The wasm32-unknown-unknown and wasm32v1-none Rust targets
- Stellar CLI for the optimized deployable artifact
Steps
Install both Rust targets with rustup.
Build the release Wasm target with Cargo.
Build the optimized contract artifact with Stellar CLI using the locked dependencies.
Run the Rust tests and Clippy checks.
Expected outcome
A Wasm build, an optimized Soroban artifact, and local test and lint results.
Guide limitations
- Building and testing do not deploy or initialize a contract.
- Deployment identities and network settings are provided through deployment tooling outside the repository.
Deploy and initialize a separate Testnet contract
Create a new Testnet contract instance and initialize it with an administrator and threshold.
Before you start
- Stellar CLI
- Rust and the Wasm target
- A secure place to store the generated identity and recovery material
Steps
Generate and fund a new Testnet administrator identity with Stellar CLI secure storage.
Build the optimized contract artifact.
Deploy the artifact to Testnet using the new identity.
Initialize the deployed contract with the administrator and default threshold 70.
Expected outcome
A new, initialized Testnet contract instance; this process does not alter the project's existing deployment.
Guide limitations
- The generated identity must be kept securely, and its seed phrase must not be committed.
- This guide covers contract deployment and initialization, not backend configuration or monitoring-agent operation.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 9 October 2026
- Original website title
- Stellar-Sentinel/sentinel-contracts · Official homepage title · retained in its source language

