Creates a new escrow in draft status and sends a WhatsApp invite to the counterparty.
The escrow remains in draft until payment is confirmed via POST /escrow-fund.
KYC gate: If the initiator’s KYC tier limit is exceeded, the endpoint returns HTTP 403
with code: KYC_LIMIT_EXCEEDED and the current_tier and limit fields so the client
can redirect the user to KYC upgrade.
Fee preview: The response includes a fee_breakdown so the UI can show costs before
the user proceeds to payment.
Category → inspection period:
| Category | Inspection | Label (Initiator / Counterparty) |
|---|---|---|
goods_products | 24 hours | Buyer / Seller |
hiring | Manual release | Client / Freelancer |
auto_dealership | Immediate on delivery | Buyer / Dealer |
p2p_crypto | Immediate on approval | Sender / Receiver |
JWT access token obtained from /auth-verify (login context) or /auth-signup. Set the bearer_token environment variable in your API client to apply it globally.
The type of escrow. Determines inspection period and display labels: goods_products → Buyer/Seller (1-day inspection), hiring → Client/Freelancer (manual release), auto_dealership → Buyer/Dealer (immediate on delivery), p2p_crypto → Sender/Receiver (immediate on approval).
goods_products, hiring, auto_dealership, p2p_crypto Who pays into the escrow. 'initiator' means the creator pays; 'counterparty' means the other party pays.
initiator, counterparty 1 - 200"iPhone 15 Pro Max 256GB"
^(\+234[0-9]{10}|0[0-9]{10})$"+2348012345679"
x >= 0.01500000
2000"Brand new, sealed in box. Delivery via courier."