Escrow auto-release: wanneer de inspectieklok afloopt
Hoe de cron-driven auto-release werkt, wat hem stopt en waarom hij naast four-eyes manual confirmation bestaat, niet in plaats daarvan.
Een escrow die eeuwig held blijft is voor iedereen slecht. De buyer heeft accepted of niet. De seller deed het werk. Als geen van beide parties de loop sluit, doet het platform dat — automatisch, na een configured window. Auto-release is de cron-driven backstop die voorkomt dat escrows vergeten worden.
De clock
Het auto-release window is een tenant policy (zie /escrow/policies, H7), gemeten in days vanaf goods-received. De default is 7 days. Wanneer het window expires zonder explicit acceptance, explicit rejection of active dispute, released de cron de funds naar de seller en schrijft de release event naar de immutable audit trail met reason “auto-release: inspection window elapsed.”
Wat het stopt
Drie dingen stoppen de cron mid-window: explicit acceptance (de buyer klikt Accept, funds release meteen), explicit rejection (de buyer rejects met reason, funds blijven held pending dispute), en active dispute (een dispute pauzeert de clock tot resolution). De cron checkt elke escrow row voordat hij beslist te releasen; niets aan auto-release vuurt blind.
Distinct from manual four-eyes
De four-eyes confirm (zie escrow-four-eyes-deposit-confirmation) is een andere control aan de deposit side: twee operators moeten akkoord zijn dat de wire van de buyer aangekomen is voordat het platform de deposit confirmed markeert. Auto-release zit aan de release side: het platform released zelf wanneer de buyer niet handelt. Beide controls bestaan naast elkaar. De deposit side krijgt het menselijke paar; de release side krijgt de timer.
Cron behaviour
De /api/cron/escrow-auto-release job draait één keer per hour. Hij scant escrows waarvan de goods-received date ouder is dan het auto-release window, waar status nog “held” is en geen dispute open is. Voor elke match voert hij de release transaction atomically uit: settlement row schrijven, escrow status flippen, audit event posten, seller notification queuen. De cron raised als de tenant policy ontbreekt in plaats van stil niets te doen — een release zonder policy is een release zonder agreed window.
Wat de buyer ziet
Vanaf day-of-shipment ziet de buyer een countdown op de deal: “release in 12 days unless you accept or dispute.” Het is een feature, geen dreiging — de timer betekent dat de buyer niet hoeft te onthouden op Accept te klikken voor een deal die goed liep.