RaidzATTENTION, WITH PROOF.

Campaign lifecycle

Version: 2026-09-02.1

This local domain contract defines campaign actors, transitions and invariants for MARKET-001. It does not fund, settle or deploy a campaign; later persistence and escrow work must consume the same transition contract.

States and transitions

FromEventActorToGuard
DRAFTSUBMIT_FOR_REVIEWprojectUNDER_REVIEW
UNDER_REVIEWAPPROVEpolicy engineAPPROVED
UNDER_REVIEWREQUEST_CHANGESpolicy engineDRAFT
APPROVEDCONFIRM_FUNDINGescrowFUNDED
FUNDEDDEPLOYprojectLIVE
LIVEPAUSEproject or operatorPAUSED
PAUSEDRESUMEproject or operatorLIVE
LIVE or PAUSEDCLOSE_FOR_SETTLEMENTsystemSETTLEMENT_PENDINGno open creator obligations
SETTLEMENT_PENDINGCONFIRM_SETTLEMENTescrowSETTLED
LIVE or PAUSEDEXPIREsystemEXPIRED
FUNDED or EXPIREDREQUEST_REFUNDproject or systemREFUND_PENDINGno open creator obligations
REFUND_PENDINGCONFIRM_REFUNDescrowREFUNDEDrefundable balance exists
DRAFT, UNDER_REVIEW or APPROVEDCANCELprojectCANCELLED

Invariants

  • A campaign cannot become LIVE before policy approval and confirmed funding.
  • Funding confirmation and final settlement/refund confirmation are escrow-owned facts.
  • A campaign cannot enter settlement or refund while creator obligations remain open.
  • A refund cannot complete without a positive refundable balance.
  • SETTLED, REFUNDED and CANCELLED are terminal and have no outgoing transitions.
  • Pausing preserves the campaign lifecycle and can only resume to LIVE.
  • The state machine records workflow authority only. The 8% marketplace fee, 70/30 creator retention and 2-of-3 proof requirements remain separate mandatory economic and verification invariants.