Settlement API v2: programmable release conditions
5 min readTeo Vasquez, CTO

Until today, a Collet transfer had one release condition: both parties confirmed. That covered most payments, but not the ones our customers care about most, where money should move only when something else has happened first.
With v2, every settlement can carry a list of conditions. Funds are gripped the moment they are sent and released the moment every condition passes, in a single atomic step.
What you can gate on
delivery.confirmedA shipping or service event from your system
fx.lockedThe quoted rate is still inside your tolerance
kyc.passedBoth counterparties are verified
webhookAny endpoint you host returns true
await collet.settle({
amount: '250000.00', currency: 'USDC',
release: { when: ['delivery.confirmed', 'fx.locked'] },
})v2 is live for every account today. Existing transfers keep working unchanged, and you can add conditions one settlement at a time.
If a condition never passes, funds return to the sender at the expiry you set. Nothing is ever stuck, and every check is written to the audit trail.


