Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Centurylong/sanctifier/llms.txt

Use this file to discover all available pages before exploring further.

Sanctifier is a comprehensive security toolkit built specifically for Stellar Soroban smart contracts. It combines static analysis, runtime invariant guards, SMT-based formal verification, and Kani proof harnesses into a single CLI and SDK — so you can catch vulnerabilities before deployment and enforce safety properties at runtime.

Quickstart

Analyze your first Soroban contract in under five minutes

Installation

Install the CLI with Cargo or pull the Docker image

CLI Reference

Every command, subcommand, and flag documented with examples

TypeScript SDK

Integrate Sanctifier analysis into Node.js or browser apps

What Sanctifier does

Sanctifier covers every layer of the Soroban security lifecycle:

Static Analysis

Detects auth gaps, arithmetic overflow, storage collisions, and unsafe patterns in Rust source before compilation

Runtime Guards

guard_invariant! macro emits an on-chain audit event before trapping — survives transaction rollback

Formal Verification

SMT-based proofs via Z3 and Kani harnesses verify token invariants mathematically

CVE Database

Searchable Soroban/Stellar vulnerability database with export and local HTTP API

ZK Attestation

Generate a zero-knowledge proof that a scan passed a given score threshold

CI/CD Integration

GitHub Actions workflows for automated scanning, diff tracking, and deployment validation

Get started in three steps

1

Install the CLI

cargo install --path tooling/sanctifier-cli
2

Initialize your project

Run sanctifier init in your contract workspace to generate a .sanctify.toml configuration file.
cd my-soroban-project
sanctifier init
3

Run your first scan

sanctifier analyze .
Sanctifier walks your Rust source, runs all built-in detectors, and prints findings with severity, location, and remediation tips.
Pipe the output to JSON and integrate with your existing tooling: sanctifier analyze . --format json > report.json

Build docs developers (and LLMs) love