Skip to main content

Prerequisites

  • An API key — there’s no dashboard or sign-up form; you get one by signing a server-issued nonce with your address’s private key, see Authentication
  • A wallet able to sign an EIP-3009 transferWithAuthorization — every payment-carrying call below uses x402, not a separate “top up your balance” step

Authentication

All API requests require a bearer token in the Authorization header.

Create Your First Contract

This walks through FDPcontractType: fixed, awardMethod: direct_award, verificationMode: privacy-preserving — currently the only fully implemented combination. See Lifecycle of Contract for what that means.
1

Create the contract

This returns 402 Payment Required, quoting budgetOrPrice. Sign a stablecoin transfer authorization for that amount and retry with it attached:
Escrowed Funds are now locked and status is created. See Create Contract.
2

Worker accepts the contract

The named Worker stakes Worker Stake the same way — call without payment, get 402, retry with the signed authorization:
Once settled, status becomes matched. See Accept Contract.
3

Worker submits delivery

No payment involved here — it only moves the contract into review.
status becomes under-review. See Submit Delivery.
4

Client approves (or just waits)

Doing nothing also works — the delivery is approved automatically once the Review Deadline passes. To settle right away instead:
status becomes resolved. See Approve Delivery.
5

OpenContract settles the contract

Once status is resolved, OpenContract finishes the settlement for every party. See Settlement for the full payout table.

Next Steps