Recent changes
This page tracks user-visible contract changes. Internal infrastructure work is omitted unless it changes how clients call the service.
2026-07-15
Artifact deletion and quota
- Artifact owners can delete when every referencing job is terminal. Only non-terminal job references return
409 artifact_in_use. - An accepted deletion hides metadata and releases account quota immediately. Namespaced backing data keeps its default 24-hour physical-GC grace period. Legacy backing data stays guarded operational inventory and does not consume user quota.
GET /api/v1/artifactsand507 artifact_quota_exceededresponses expose the authoritative quota limit, used, and remaining bytes. Artifact metadata separates active and terminal reference counts.
2026-07-13
Open access
- Wallet access is open: any wallet can authenticate (
POST /api/v1/auth/wallet/challenge→ sign →POST /api/v1/auth/wallet/verify) and fund the account. No allowlist entry or approval step is necessary. The first verify for a new wallet creates the account. Computalot continues to issue API keys (flk_…) on request through the waitlist.
MPP payment protocol
- MPP (Machine Payments Protocol) is accepted with x402 on the funding rail. Every quote
402now carries aWWW-Authenticate: Paymentchallenge (methodevm, intentcharge, with a decoded copy in themppblock of the body) in addition to the x402PAYMENT-REQUIREDheader. - Quotes settle over either carrier at the same endpoints: x402 through the
PAYMENT-SIGNATUREheader (bearer auth), or MPP throughAuthorization: Payment <base64url credential>with an EIP-3009authorizationpayload and no bearer token. Successful MPP settlements return a base64url JSONPayment-Receiptresponse header. Repeats stay replay-safe (replay: true). GET /api/v1/account/quotes/:idincludes the decoded MPP challenge (mppblock) for open quotes.
2026-07-11
Artifacts
- Public uploads now use the authenticated controller relay, with a 2 GiB request limit, or register an existing external URL. Direct and multipart object-store upload endpoints return
410 Gone. - The default retained-byte quota is 100 GiB per account. Computalot deduplicates local and R2 content hashes within the account. When the quota is full, the API returns
507 artifact_quota_exceeded. - Artifacts stay retained until you delete them. References from producing jobs and job inputs block deletion with
409 artifact_in_useduring the 30-day terminal-job retention window. Unreferenced namespaced backing data is collected after the default 24-hour grace period. - Job submission validates concrete
_artifacts.downloadIDs, account ownership, and retained references atomically before work or billing admission.
Jobs and results
- Worker process exit status is the authoritative terminal truth.
result_qualityandresult_warningsare reserved asnulland[]. The API accepts and ignores legacy object-shapedresult_schemametadata. Non-object values return422. - Admission rejects unsupported task-shaped payloads, excessive retries or dependencies, invalid fan-out or resource shapes, and inaccessible artifacts before it creates work or reserves funds.
max_retriesaccepts0through10. Holds cover the requested attempt budget. Infrastructure requeues do not consume that retry budget.- Dependencies wait for real terminal task outcomes.
completedandpartialdependencies unblock work.failedandcancelleddependencies cancel blocked jobs. - Non-empty
callback_urlvalues return422. Use job SSE, multi-job watch, or polling for completion updates.
User projects
- User uploads require OCI execution with
runtime.sandbox: "gvisor". - User-upload manifests cannot declare
runtime.init.commands,runtime.services, orvalidation.commands. Put installs and build steps in the Dockerfile, and use declarative executable and file validation.
Operations
- Public health and readiness endpoints stay available. Prometheus metrics are for operators only. They require a local request, admin authorization, or the dedicated metrics token.
Last updated on