Deals, orders & fees¶
A deal is a match between a buyer and a listing. It is non-binding until both sides accept terms and any required human approval clears.
| Route | Purpose |
|---|---|
GET/POST /orders, POST /orders/quote, POST /orders/{id}/cancel |
Buyer orders and quotes |
GET /matches, GET /needs, GET /rfqs |
Matching and requests |
GET /deals, GET /deals/{id} |
Deals |
POST /deals/{id}/terms, POST /deals/{id}/accept |
Agree terms |
GET /deals/{id}/delivery, GET /deals/{id}/tranches |
Delivery and hourly tranches |
POST /deals/{id}/jobs, GET /jobs/{id}, /jobs/{id}/logs, /jobs/{id}/artifacts, POST /jobs/{id}/cancel |
Run and manage jobs |
POST /deals/{id}/issues |
Report a delivery issue |
GET /deals/{id}/escrow |
Escrow state ({ "onchain": false } when off) |
GET /approvals, POST /approvals/{id}/decide |
Human approvals |
Fee quote¶
Draft fee schedule 2026-10-24.1 is implemented, not final, and subject to change. Total contract value and term select the rate; it applies to cycle gross. Renewals use 75% of the rate, then the $5 minimum fee applies. The quote function rejects cycles below $25. Final pricing is not yet published. Development quotes are not a published pricing commitment. The fee-quote route is GET /api/v1/fees/quote:
curl "https://api.example/api/v1/fees/quote?contract_value_usd=5000&term_days=60"
Parameters: contract_value_usd (required), term_days or term_months (one required), renewal (true/false), cycle_amount_usd. The response includes fee_usd and seller_net_usd. See Paying.