- Off-chain metadata + signer tracking in SQLite
- On-chain proposal covenant deployment and execution
Full Lifecycle
Create a Proposal
Navigate to Proposals
Go to Vault → Proposals → Create Proposal, or navigate to your vault and click New
Proposal.
Define payout details
- Recipient: BCH P2PKH address that will receive funds - Payout Amount: BCH amount to transfer - Reason: short payout rationale stored with the proposal record
Approve a Proposal
Each signer clicks Approve in the proposal UI.- Build approval tx:
POST /api/proposals/:id/approve-onchain - Confirm approval:
POST /api/proposals/:id/confirm-approval
approved.
Execute a Proposal
Execution uses a 2-signer session:- Start session:
POST /api/proposals/:id/execute - Submit first/second signed tx:
POST /api/proposals/:id/execute-signature
Current API Scope
Proposal covenant functions such ascancel() and expire() exist at contract level, but the public HTTP workflow currently focuses on create, approve, and execute.

