Job Rejection and Refund Handling

The distinction between using job.reject() and job.reject_payable() lies in whether funds have already been transferred or escrowed at the time the rejection occurs. Both methods are designed to serve different phases and responsibilities in the job lifecycle.

Comparison

Aspect

job.reject()

job.reject_payable()

Funds involved?

No funds escrowed yet

Funds already escrowed or transferred

Phase

Request

Transaction

Purpose

Deny invalid or non-executable jobs pre-payment

Abort and refund post-payment failures

Impact

Phase-only update

Phase + fund refund transaction

Used in

Validation & pre-execution stage

Execution & post-payment stage

Example Use Case

Close Position rejected due to invalid symbol

Open Position or Swap Token failure after receiving funds

Last updated