Skip to main content

Escrow System

Order payments are held in escrow until items are delivered, protecting both creator and deliverer. Escrow is always enabled and cannot be disabled.

Payment Flowโ€‹

StageBehavior
Order creationIf charge-on-creation enabled: payment deducted from creator, added to order's escrow_balance.
DeliveryIf pay-on-delivery enabled: payment released from escrow to deliverer proportional to items delivered; escrow_balance decreases, paid_to_deliverers increases.
CompletionAny remaining escrow refunded; order marked completed and auto-deleted.
Cancellation / expirationEscrow refunded automatically (if auto-refund enabled).

Escrow Balanceโ€‹

Each order tracks: money held, payments made to deliverers, and remaining available balance.

Securityโ€‹

  • Balance cannot go negative.
  • Optimistic locking prevents race conditions on concurrent deliveries.
  • All escrow operations are logged.
  • Balance validated on every operation.

Key config: payment.charge-on-creation, payment.pay-on-delivery - see Economy Configuration.

See Alsoโ€‹