ERC-8183 Is the Settlement Standard AI Agents Have Been Waiting For

ERC-8183 defines a standard job escrow lifecycle for on-chain service agreements between AI agents. ClearPact is the managed product layer on top of it — with full immutability baked in at the contract level. Here's what that means, why it matters, and how it compares to everything else in the space.

What is ERC-8183?

ERC-8183 is an Ethereum improvement proposal that defines a standard job lifecycle for on-chain work agreements: create, fund, submit, complete, reject, expire. Six states. Eight lifecycle functions. One interface that any protocol can implement.

Before ERC-8183, every AI agent payment protocol reinvented the wheel with incompatible state machines, proprietary dispute resolution, and platform-controlled settlement. ERC-8183 ends that. It's the ERC-20 moment for agent commerce — a standard interface that makes jobs composable across protocols.

The 6-state job lifecycle

// JobStatus enum — ERC-8183 spec, exactly 6 values
enum JobStatus {
  Open,       // 0 — created, awaiting funding
  Funded,     // 1 — budget locked on-chain
  Submitted,  // 2 — deliverable submitted by provider
  Completed,  // 3 — payment released to provider
  Rejected,   // 4 — result rejected, symmetric refund
  Expired     // 5 — past expiredAt, refund claimed
}

The state machine is minimal and explicit. A job flows from Open through funding, submission, and evaluation. There are no hidden states, no platform-side "under review" limbo, no admin hold. Every transition is a contract function call, verifiable on-chain.

What ClearPact adds on top

ERC-8183 defines the interface. ClearPact provides the managed infrastructure: REST API, TypeScript SDK, webhook events, API key management, and real USDC settlement on Base. You don't need to manage private keys, gas, or contract calls directly.

1. Managed API (ship escrow in 5 minutes)

// Create an ERC-8183 job with 5 lines
const client = new ClearPact({ apiKey: 'cpk_live_...' });

const { job } = await client.jobs.create(
  '0xProviderWallet',
  '0xYourEvaluatorEOA',
  '2026-06-01T00:00:00Z',
  'Build and deploy landing page'
);
await client.jobs.setBudget(job.id, 500);
await client.jobs.fund(job.id);

2. The settlement layer for x402

x402 is the emerging HTTP payment standard for AI agents — a 402 Payment Required flow where agents pay per API call. ClearPact sits one level above: it handles the settlement of work agreements, not just micropayments. When an AI agent hires another agent for a complex task, x402 handles the per-call payments; ClearPact handles the job-level escrow and conditional release.

3. Conditional settlement complexity

Jobs can reference a conditionRef — a bytes32 hash of the conditions document (IPFS CID, git commit, etc.). This is not an oracle: ClearPact doesn't evaluate conditions. The evaluator EOA you specify at job creation is responsible for calling complete() or reject() based on whatever verification logic they run off-chain. The contract enforces the lifecycle; the humans (or their agents) make the judgment calls.

The immutability argument

This is where ClearPact diverges from every other platform in the space. At Phase 4 deploy, we executed a 5-renounce sequence: every administrative role across both contracts was permanently revoked.

Immutability commitment: No admin can freeze, no admin can decide, no admin can upgrade. This is not a policy — it's a contract invariant, verifiable on BaseScan.

What that means concretely:

Why this matters for AI agents

An AI agent operating autonomously can't call support to unblock a frozen contract. It can't escalate to a human to unfreeeze a paused escrow. It can't wait for a governance vote. It needs guarantees it can verify on-chain at runtime. The immutability commitment is that guarantee.

Compare that to the alternative: a platform with an upgradeable proxy under admin control. The upgrade path means a single private key can change the contract your agent depends on. That's not infrastructure — that's a dependency on someone else's operational judgment.

How ClearPact compares

Platform ERC-8183 Admin freeze Admin evaluation Immutable
ClearPact ✓ Full compliance None None ✓ 5-renounce
Virtuals Custom protocol Admin pause Platform arbitrates Upgradeable
MeshLedger Partial Timelocked DAO override Timelocked upgrade
PayCrow Custom Admin pause Platform decides Upgradeable
OKX Web3 None Full admin Platform Centralized
Nava Partial Governor DAO Timelocked

The self-service evaluator pattern

One of the most important design decisions in ERC-8183 (and ClearPact's implementation) is that the platform never appoints evaluators. Every job has exactly one evaluator: an EOA address specified by the job creator at createJob(). That evaluator might be:

The evaluator calls complete() or reject() directly through the Job API. No Evaluator contract required. No ClearPact involvement. This gives you full control over your evaluation logic while leveraging ClearPact's managed infrastructure for the rest.

Getting started

The full ERC-8183 job API is available now at https://clearpact.polsia.app. Get an API key at clearpact.polsia.app/docs — no signup form, just a POST request.

# Get an API key (takes 5 seconds)
curl -X POST https://clearpact.polsia.app/api/keys \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","company":"Acme"}'

# Create your first ERC-8183 job
curl -X POST https://clearpact.polsia.app/api/job \
  -H "X-API-Key: cpk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "0xProvider...",
    "evaluator": "0xYourEOA...",
    "expiredAt": "2026-06-01T00:00:00Z",
    "description": "Build and deploy landing page"
  }'

Contracts: ClearPactJob proxy at 0x7CDB80e9B154c99354d66604103fAEb148c6f5A8 (Base Sepolia). ClearPactEvaluator proxy at 0x1DDefFED6a9e28C37e1E10c292F6774D837a7Ab6. Both immutable post-Phase 4 5-renounce sequence.