Approving a Proposal
When a proposal is created on-chain, each vault signer receives a notification. Each signer approves independently:Approve on-chain
Click Approve. The app calls
POST /api/proposals/:id/approve-onchain. Sign the approval wcTransaction in your wallet.Executing the Payout
Once the proposal isapproved, any of the 2 signers who approved can initiate execution:
Initiate execute
Click Execute Payout. The app calls
POST /api/proposals/:id/execute. The backend selects the 2-signer pair and returns a wcTransaction with "broadcast": false. Sign but do not broadcast yet — the wallet knows to hold the signed transaction.Submit signature
Call
POST /api/proposals/:id/execute-signature with the sessionId and your signedTransaction. The first signer submits their partial signature.Second signer signs
The second required signer opens the same proposal, clicks Execute Payout, and submits their signature via
execute-signature.Rejection
FlowGuard does not have an explicit reject action. If a proposal does not reach 2-of-3 approvals before the voting period ends, it stayspending indefinitely. The proposer can cancel the on-chain covenant and recover the locked funds via a direct P2SH spend.
