Current status: NOT YET DEPLOYED
No contracts from this repository have been deployed to Stellar Mainnet.
deployments/mainnet.jsonis a placeholder stub. Until the pre-flight checklist below is satisfied and a real deployment run is executed, TTL extension and any other mainnet-specific automation is inactive and not urgent.
Complete every item before running the first mainnet deployment.
-
cargo test --workspacepasses with zero failures -
cargo clippy --workspace -- -D warningsproduces no warnings -
cargo fmt --all --checkpasses -
All contracts audited or peer-reviewed for logic errors
-
Security audit (
cargo audit) shows no unaddressed vulnerabilities -
HIPAA Security Rule gap analysis completed
-
Data Processing Agreement with Stellar Foundation reviewed and signed
-
GDPR data residency requirements assessed (acknowledge on-chain data is public and permanent)
-
Legal review of storing PHI references on a public blockchain completed (ADR-007: Public ledger for healthcare data)
-
Documentation on data minimization and encryption strategies in place
-
Deployer identity is a hardware wallet or multi-sig Stellar account — never a plain CI secret key for mainnet
-
Governance signers (multisig-governance) have been confirmed and keys are secured
-
Admin keys are stored in offline / HSM storage
-
multisig-governancecontract deployed first (dependency for upgrades) -
upgrade-governancecontract deployed second -
Governance thresholds and signer set verified on-chain
-
All 80 open issues resolved or explicitly deferred (with rationale documented)
-
cargo test --workspacepasses with zero compilation errors -
cargo clippy --workspaceruns with no warnings -
WASM sizes verified within Stellar's contract size limit (current limit: 128 KB) and no contract is within the defined safety margin (10% / ≥ 115.2 KB)
-
upgrade-governancecontract controls all production admin keys -
All contract interfaces reviewed and stabilized (API changes should be minimal post-launch)
-
Deployment manifest published and verified (see SECURITY.md)
-
Dry-run deployment executed against a Mainnet preview/staging environment
-
Dry-run completed:
./scripts/deploy_all.sh --network mainnet --dry-run -
All contract WASMs build cleanly for
wasm32v1-none -
WASM hashes recorded before deployment submission
-
Deployment run:
./scripts/deploy_all.sh --network mainnet -
deployments/mainnet.jsonpopulated with all deployed contract IDs (status field set to"complete")
- Every contract ID in
deployments/mainnet.jsonverified against Horizon / Stellar Expert WASM hash - Smoke test: read-only invocation on each deployed contract succeeds
- Governance contracts accept a test proposal and reject unauthorised callers
Once contracts are live, set up the extend-ttls.yml cron workflow (see
.github/workflows/extend-ttls.yml) to extend contract storage TTLs on a
weekly schedule. The workflow will fail loudly (exit 1) if
deployments/mainnet.json is missing or has _status != "complete", so
it is safe to enable it as soon as the manifest is populated.
- Configure
STELLAR_IDENTITYto point to the production admin multi-sig account or HSM - Execute deployment with monitoring enabled:
./scripts/deploy_all.sh --network mainnet
- Verify contract IDs in
deployments/mainnet.jsonmatch the on-chain state - Record all deployed contract IDs in a secure, versioned log
- All contracts successfully initialized on Mainnet
- Governance contracts (
multisig-governance,upgrade-governance) operational - Each deployed contract responds to a no-op or read-only query
- Deployment manifest hashes verified against on-chain bytecode using Stellar Expert or Horizon API
- No unexpected errors or warnings in logs
Production readiness requires explicit sign-off from:
-
Lead Developer — confirms code quality, testing, and deployment plan
- Name: ________________
- Date: ________________
- Signature: ________________
-
Security Lead — confirms audit findings resolved and security architecture sound
- Name: ________________
- Date: ________________
- Signature: ________________
-
Legal Counsel — confirms compliance and data privacy requirements met
- Name: ________________
- Date: ________________
- Signature: ________________
After Mainnet launch:
- Monitor alerting dashboards for 72 hours continuously
- Weekly review of anomaly detection alerts for first month
- Monthly operational review with on-call team
- Quarterly security audit of governance decisions and contract state
- Incident postmortems completed within 24 hours of any production issue
In case of critical issues post-launch:
- Minor issues: Use
upgrade-governanceto deploy a patched version - Critical issues: Execute emergency governance proposal to pause high-risk functions
- Severe compromise: Invoke emergency pause via multi-sig (if implemented)
Document any rollback decisions in the incident log and notify stakeholders.
- DEPLOYMENT.md — Deployment guide and procedures
- SECURITY.md — Security architecture and policies
- TTL_POLICY.md — TTL management strategy
- Stellar Documentation: https://developers.stellar.org/ (current limit: 128 KB on Mainnet)
- WASM_SIZE_BASELINE.md — Measured contract sizes and optimization targets