Skip to main content
1

Navigate to Payments

Go to Payments → Create Payment in the dashboard.
2

Set recipient and amount

Enter the recipient BCH address and the amount per interval in BCH or a token.
The recipientHash is compiled into the contract bytecode at deployment. It cannot be changed later. There is no transfer() function on recurring payments.
3

Configure the schedule

SettingExamples
Interval604800 = weekly, 2592000 = monthly
Start TimestampWhen the first payment can be collected
End TimestampHard stop date. 0 = no expiry.
Total PoolMax total payout. 0 = unlimited until cancelled.
4

Set flags

  • Cancelable: allows sender to cancel and recover remaining pool
  • Asset: BCH or CashToken
5

Fund and deploy

The vault funds the initial pool. Sign the deployment transaction. The payment appears in the dashboard and is immediately eligible for the executor to call pay() after startTimestamp.

Execution Model

Once deployed, the pay() function is permissionless. The FlowGuard executor service calls it automatically each interval. You can also call it manually from the payment detail page.

API

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

{
  "vaultId": "hex_32_bytes",
  "senderAddress": "bchtest:q...",
  "recipientAddress": "bchtest:q...",
  "amountPerInterval": 500000,
  "intervalSeconds": 604800,
  "totalAmount": 26000000,
  "startTimestamp": 1700000000,
  "endTimestamp": 0,
  "cancelable": true,
  "usesTokens": false
}