Conditional Payouts
Pay when conditions are met. Not before.
Hold funds until delivery is confirmed. Release on milestone. Auto-pay after 24-hour review window. Programmable payout rules for marketplaces, freelance platforms, and regulated industries.
Conditions
Payout conditions you can set.
Time-based
"Hold for 24 hours, then auto-release if no dispute is raised."
Approval-based
"Release the moment the buyer marks delivery as confirmed."
Webhook-triggered
"Pay out when the courier API confirms package delivery."
Multi-signature
"Require finance lead + project owner approval before release."
Milestone
"Release 30% on signature, 40% on hand-off, 30% on sign-off."
Not escrow
Not escrow. No license needed.
FinVeil Conditional Payouts is a programmable timer and trigger layer — not a vault. Funds remain at the licensed payment operator until the condition fires, at which point FinVeil instructs the operator to release. We never custody, hold, or settle funds — we orchestrate when the operator does. That keeps you out of trust-account and escrow-license territory while still giving you the control buyers expect.
For developers
Create a conditional payout. Approve and release.
curl -X POST https://api.finveil.io/api/payouts/conditional \
-H "Authorization: Bearer $FINVEIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 2500.00,
"currency": "ZAR",
"recipient": { "bankAccount": "62812345678", "name": "Acme Studio" },
"condition": {
"type": "TIME_OR_APPROVAL",
"releaseAt": "2026-04-19T18:00:00Z",
"approverEmails": ["buyer@acme.co.za"]
}
}'
# => {
# "payoutId": "po_cond_4f1a...",
# "status": "HELD",
# "releaseAt": "2026-04-19T18:00:00Z"
# }curl -X POST https://api.finveil.io/api/payouts/po_cond_4f1a.../approve \
-H "Authorization: Bearer $FINVEIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "approverEmail": "buyer@acme.co.za" }'
# => {
# "payoutId": "po_cond_4f1a...",
# "status": "RELEASED",
# "releasedAt": "2026-04-18T20:14:02Z",
# "rail": "OZOW",
# "receiptId": "rcpt_dis_9f3a..."
# }Use cases
Where conditional payouts change the game.
Freelance platforms
Hold payment until the buyer confirms delivery — or auto-release after a 24-hour review window.
Gaming anti-fraud
Delay withdrawals until KYC clears and anti-fraud rules pass. Release automatically once they do.
Property deposits
Hold rental deposits until the lease is signed by both parties. Release to the correct account on trigger.
Construction payments
Pay per milestone — 30% on signature, 40% on hand-off, 30% on sign-off. All rules enforced by FinVeil.
How it works
Three steps.
Create the payout
Specify the recipient, amount, and the condition that releases the funds.
FinVeil holds the trigger
Funds stay at the licensed operator until the timer, approval, webhook or milestone fires.
Release on condition
Auto-pay the instant the condition is met — with a receipt anchored to a Merkle root.
Benefits
Why teams choose Conditional Payouts.
Five condition types
Time-based, approval, webhook, multi-signature, milestone — mix and match per payout.
Not escrow. No license needed.
FinVeil is a programmable timer and trigger — not a vault. Funds stay at the licensed operator.
Auto-release
Set a 24-hour review window, or release the moment an approver taps a button. Your choice per payout.
Receipt on trigger
Every release generates a SHA-256 receipt — buyer, seller and regulator can independently verify the trigger fired.
Who it's for
Developer-friendly
Drop it into your stack.
REST API, typed SDKs in 9 languages, and a sandbox environment you can explore in 30 seconds. No calls with sales to get keys.
Read the docscurl -X POST https://api.finveil.money/api/payouts/conditional \
-H "Authorization: Bearer $FINVEIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 2500.00,
"currency": "ZAR",
"recipient": { "bankAccount": "62812345678", "name": "Acme Studio" },
"condition": {
"type": "TIME_OR_APPROVAL",
"releaseAt": "2026-04-19T18:00:00Z",
"approverEmails": ["buyer@acme.co.za"]
}
}'
# => { "payoutId": "po_cond_4f1a...", "status": "HELD" }