Documentation Index
Fetch the complete documentation index at: https://pacta.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
What Are Release Conditions?
Release conditions are the rules that must all be satisfied before an agreement can be settled. You set them when you create the agreement and they cannot be changed afterward. They work like a checklist. Every item on the checklist must be ticked before funds move. One un-ticked item blocks settlement entirely.The Conditions
| Condition | Value | What it requires |
|---|---|---|
ADeposited | 0x01 | Party A has deposited their funds |
BDeposited | 0x02 | Party B has deposited their funds |
AApproved | 0x04 | Party A has called approve() |
BApproved | 0x08 | Party B has called approve() |
Timelock | 0x10 | The unlockTimeMs timestamp has passed |
Combining Conditions
You combine conditions using bitwise OR. The SDK provides presets for the most common combinations:Choosing the Right Preset
FullConsent — Standard Escrow
Both parties deposit. Both parties must actively approve before funds release. Best for:- Freelance agreements (client approves after work is delivered)
- Service agreements where both sides need to confirm
DepositOnly — Automatic Release
Both parties deposit. Settlement triggers automatically with no approval step. Best for:- Simple token swaps (both parties commit funds, swap happens automatically)
- Situations where deposit itself signals agreement
TimelockEscrow — Time-Gated Release
Both parties deposit. Funds cannot move until a specified timestamp passes. Best for:- Vesting schedules
- Delayed payment agreements
- Any deal where time is the condition
Important Rule
You must include at least one condition. An agreement withreleaseConditions = 0 cannot be settled — the contract will reject the settlement call.