api
The Halot server exposes REST endpoints for quoting, job preparation and funding confirmation, provider and verifier operations, facilitator flows for the SDK middleware, and basic health status.
Authentication
Halot uses two header families: payment headers for requester funding flow and actor-signed headers for provider or verifier actions.
Quote & Prepare
POST /quote
Returns a non-binding quote for a service and input payload.
POST /jobs/prepare
Without PAYMENT-SIGNATURE, returns 402 with the encoded payment requirement. With a valid signature, returns the prepared job definition that must be funded on-chain.
Jobs
| Route | Purpose |
|---|---|
| POST /jobs | Confirms a funded prepared job using prepareId and transactionHash. |
| GET /jobs | Lists jobs in reverse chronological order. |
| GET /jobs/:jobId | Returns the full job record, including result, attestations, and settlement state. |
| GET /jobs/:jobId/result | Returns the result, attestations, settlement, and current job status. |
| POST /jobs/:jobId/result | Provider submits output. Requires provider actor auth headers. |
| POST /jobs/:jobId/attest | Verifier submits an attestation. Requires verifier actor auth headers. |
| POST /jobs/:jobId/escalate | Promotes an already escalated job to the next trust tier and reselects a fresh jury. |
Providers & Services
Provider registration is public. Assignment fetch and stream routes require provider actor auth, and stream routes also require x-halot-worker-id.POST /providers/registercreates only the provider identity and anchors the provider config hash onchain; services are registered later through the provider-scoped service routes.
Verifiers
Verifier registration is public. Job assignment fetch and stream routes require verifier actor auth, and stream routes use the same worker lease header as providers.
Facilitator
These routes back the exported halot()middleware. They are used when requesters talk directly to provider endpoints instead of calling the aggregator job flow themselves.