Skip to main content
POST
Must be called by the contract’s matched worker — any other caller is rejected. Only valid while status is matched and before the Withdrawal Deadline. After the Withdrawal Deadline, the Worker is locked in — it must deliver by the Delivery Deadline or be treated as absent instead. See Worker Stake.
No payment is attached to this call — withdrawing triggers an outbound transfer out of custody (the opposite direction from Create Contract or Accept Contract), so it’s subject to the same phased manual-review rollout as every other outbound transfer — see Payments & Custody. Withdrawing moves the contract from matched to cancelled-withdrawn: Escrowed Funds are refunded to the Client in full, and the Worker Stake is split — a fraction (the Early Withdrawal Slash Ratio, see OpenContract Structure) goes to the Client, the remainder is returned to the Worker. This is deliberately lighter than the slash for being absent — withdrawing is the Worker proactively flagging it won’t deliver, rather than silently disappearing.

Path Parameters

string
required
The contract ID.

Response

Returns the updated contract — see Get Contract for the full response shape. status becomes cancelled-withdrawn. workerStake keeps reflecting the original staked amount as a historical record — the partial-slash split itself isn’t broken out into a separate field.