Skip to main content

System Overview

FlowGuard has three main layers:
  • on-chain covenant state on Bitcoin Cash
  • backend services that build, confirm, index, and monitor transactions
  • frontend product surfaces for treasury, streams, distributions, and governance

Contract Families

FamilyContracts
TreasuryVaultCovenant, ProposalCovenant
GovernanceVoteLockCovenant
StreamingVestingCovenant, RecurringPaymentCovenant, hybrid/tranche schedule variants built on the stream stack
DistributionAirdropCovenant, GrantCovenant, BountyCovenant, RewardCovenant

Commitment Sizes

Contract familyCommitment size
Vault state32 bytes
Proposal state64 bytes
Schedule state48 bytes
Distribution state40 bytes
Vote lock state32 bytes
These sizes map to the shared encoding helpers and shared TypeScript state definitions.

Data Flow

Executor Role

The executor is optional infrastructure. It exists to improve liveness for permissionless transitions such as timed recurring payouts and similar eligible actions.

Core Backend Services

ServiceResponsibility
StreamDeploymentServicedeploy stream covenant families
StreamFundingServicefund stream contracts
StreamClaimServicebuild stream claim transactions
StreamCancelServicebuild stream cancel flows
StreamControlServicepause, resume, refill, and transfer supported streams
PaymentDeploymentServicedeploy recurring payment contracts
PaymentClaimServicebuild recurring payout transactions
PaymentControlServicepause, resume, cancel, and refill recurring payments
AirdropDeploymentServicedeploy airdrop contracts
AirdropClaimServicebuild claim transactions
AirdropControlServicehandle campaign control flows
BudgetDeploymentServicedeploy budget-plan style distribution contracts
BudgetFundingServicefund budget-plan contracts
BudgetReleaseServicebuild release transactions for milestone-style payouts
BudgetControlServicepause, resume, and cancel budget-plan state
VaultFundingServicebuild and confirm vault funding
ProposalServiceproposal records, approvals, execution sessions
VoteDeploymentServicedeploy vote lock contracts
VoteLockServicebuild vote lock flows
VoteUnlockServicebuild reclaim flows
DeploymentRegistryServiceverify and report deployment records
TransactionMonitorverify and track submitted transactions
MerkleTreeServicegenerate Merkle trees for restricted airdrops

Source of Truth

The blockchain is the source of truth for contract validity. The backend database is the source of truth for product indexing, history, and UI-friendly aggregation. The frontend is the operator and user surface that presents those indexed states and routes signing through the connected wallet.