Skip to main content
1

Navigate to Vaults

Connect your wallet and go to Vaults → Create Vault in the dashboard.
2

Configure signers

Enter exactly 3 signer addresses and exactly 3 signer compressed public keys. Set Approval Threshold to 1 or 2.
SetupRequired ApprovalsSigners
Solo-managed treasury13 addresses (one signer can execute)
2-of-3 DAO23 addresses
3

Set spending controls (optional)

  • Period Duration: seconds per rolling spending window (e.g. 2592000 = 30 days). Set 0 to disable.
  • Period Cap: max satoshis spendable per period. Set 0 for unlimited.
  • Recipient Cap: max satoshis per individual spend. Set 0 for unlimited.
4

Configure allowlist (optional)

Enable Allowlist and enter up to 3 recipient P2PKH addresses. When enabled, spend() will reject any recipient not in the list.
5

Deploy

Click Create Vault. Sign the deployment transaction. The vault UTXO appears in your Vaults list once the transaction confirms.
The vault vaultId is generated from the deployment transaction hash. Keep a record of it — you will reference it when creating covenants from this vault.

API

POST /api/vaults
Content-Type: application/json

{
  "name": "Ops Treasury",
  "description": "Main vault",
  "totalDeposit": 10,
  "spendingCap": 5,
  "approvalThreshold": 2,
  "signers": ["bchtest:q...", "bchtest:q...", "bchtest:q..."],
  "signerPubkeys": ["03...", "02...", "03..."],
  "cycleDuration": 2592000,
  "unlockAmount": 5,
  "isPublic": false
}