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 so the session can collect the required signatures first.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 quorum beforevoting_end_timestamp, anyone can call expire() and move it to EXPIRED on-chain.
