How Addresses Are Derived
FlowGuard contracts compile to P2SH32 addresses. Each unique combination of constructor parameters produces a unique address. Two vesting covenants with differenttotalAmount values will have different addresses.
The DeploymentRegistryService in the backend tracks all addresses deployed through FlowGuard along with the parameters used.
Mainnet
| Contract | Version | Address |
|---|---|---|
| VaultCovenant | v1.0 | See deployment registry |
| VestingCovenant | v1.0 | Per-deployment (parameterized) |
| RecurringPaymentCovenant | v1.0 | Per-deployment (parameterized) |
| AirdropCovenant | v1.0 | Per-deployment (parameterized) |
| GrantCovenant | v1.0 | Per-deployment (parameterized) |
| BountyCovenant | v1.0 | Per-deployment (parameterized) |
| RewardCovenant | v1.0 | Per-deployment (parameterized) |
| ProposalCovenant | v1.0 | Per-deployment (parameterized) |
| VoteLockCovenant | v1.0 | Per-deployment (parameterized) |
Because each covenant is parameterized at deploy time, there is no single canonical address for most contracts. The deployment registry API at
GET /api/deployment returns all active deployments with their parameters and addresses.Chipnet (Testing)
Chipnet deployments are tracked separately inflowguard-chipnet.db. Use the API with BCH_NETWORK=chipnet to query chipnet deployments.

