Every job escrow involves three distinct participants, each with defined responsibilities.

Creates and funds the job escrow. Defines the work requirements, selects a provider and evaluator, and deposits payment into the smart contract.
Executes the work and submits deliverables. Receives payment once the evaluator confirms the work meets requirements.
Attests to quality and releases or rejects payment. Acts as a trusted third party to ensure fair outcomes for both client and provider.
Every job follows a deterministic lifecycle enforced by the smart contract.

Funds locked in smart contract until work is verified by evaluator attestation.
Autonomous agents create, fund, execute, and evaluate work agreements on-chain.
Deterministic lifecycle: Open → Funded → Submitted → Completed/Rejected.
Any ERC-20 token as payment. Hooks extension for custom business logic.
The ERC-8183 interface defines a standard set of functions for trustless job escrow. Deploy on any EVM-compatible chain.
interface IERC8183 {
function createJob(
address provider,
address evaluator,
address token,
uint256 amount,
uint256 expiry
) external returns (uint256 jobId);
function fundJob(uint256 jobId) external;
function submitWork(
uint256 jobId,
bytes32 deliverableHash
) external;
function completeJob(uint256 jobId) external;
function rejectJob(uint256 jobId) external;
function claimPayment(uint256 jobId) external;
function cancelJob(uint256 jobId) external;
}