08_escrow_payments
Overview
All funds are held and distributed by autonomous smart contracts. The platform does not hold, control, or sign for any funds.
How It Works
Every action in the lifecycle is signed by the relevant participant from their own wallet. The platform verifies the transaction on-chain and records the state change.
Flow:
Employer calls
createEscrow(token, maxCompensation, deadline)→ depositsmaxCompensation + 0.5% fee→ reportstxHashto APIEmployer calls
assignWorker(escrowId, workerAddress)→ reportstxHashto APIWorker calls
markCompleted(escrowId)+ submits EE → reportstxHashto API. Worker is done.Employer calls
rateAndRelease(escrowId, rating)→ rating recorded + funds distributed in the same transaction → reportstxHashto API
Timeout Paths
Employer doesn't rate (72 hours):
Worker calls releaseWithDefault(escrowId) — receives full payout at default rating 5★.*
Worker knows exactly when this is available: completedAt + 72 hours.
Worker doesn't complete (deadline + 24 hours):
Employer calls releaseIfWorkerGhosted(escrowId) — receives full deposit back, no fee collected.**
*Note: releaseWithDefault(escrowId) technically becomes callable by anyone after the timeout. In practice, the Worker (who receives the payout) is incentivized to call it.
**Note: releaseIfWorkerGhosted(escrowId) technically becomes callable by anyone after the timeout. In practice, the Employer (who receives the refund) is incentivized to call it.
Fees
Rated release (1–5★)
0.5% (paid upfront)
0.5% (deducted at release)
1% total
Rating 0★
0.5% (retained)
0%
0.5%
Cancel / ghost
0%
0%
0%
Fees are enforced by the smart contract. TaskMaster has no ability to waive or reverse them.
Finality
All on-chain distributions are final and irreversible
No refunds exist outside the contract's own mechanisms (cancel, ghost, 0★)
The platform cannot intervene in, delay, or override any outcome
Outcome
Trust is replaced by deterministic execution. Funds move exactly as the contract specifies — no more, no less.
Last updated
Was this helpful?

