Operated deployment
The API process alone is insufficient for a self-hosted ProofRails service.
Required components
- FastAPI service behind TLS;
- PostgreSQL with migrations and backups;
- Redis and RQ workers;
- durable artifact storage with a correct public base URL;
- Ed25519 bundle-signing key;
- Flare RPC and configured EvidenceAnchor contract;
- anchor signer and gas policy when platform anchoring is enabled;
- secret storage for API, signer and infrastructure credentials;
- health checks, structured logs, metrics and alerting.
Configuration boundaries
Keep chain ID, token address, contract address, recipient and minimum amount in environment-specific configuration. Validate the complete tuple at startup and expose a safe read-only configuration summary without secrets.
Do not copy the hosted ProofRails signer or contract ownership model into another deployment. A self-hosted operator is responsible for its own keys, contracts, funds and recovery procedures.
Acceptance checks
Before traffic:
- Apply database migrations and verify rollback instructions.
- Start API and worker processes and confirm Redis connectivity.
- Create a non-value receipt and observe worker completion.
- Download the current bundle and verify every manifest entry and signature.
- Confirm the configured EvidenceAnchor event on the intended chain.
- Require exact equality between current ZIP hash, receipt hash and event hash.
- Confirm public URLs do not resolve to localhost or a private hostname.
- Test backup restoration and artifact retention.
- Verify rate limits, authorization boundaries and log redaction.
- Exercise a rollback without deleting receipt or anchor evidence.
A health endpoint alone does not demonstrate the complete evidence path.