Dasha Compute API v0.1.0
OpenAI-compatible inference on community Macs; every completed job gets a signed receipt on a public chain. Observed from live traffic Sep 11-12, 2026; adopted and verified by the impl lane Sep 14, 2026.
Servers
https://lobby.getdasha.com- recommended for interactive (chat, keys); all endpoints answer on both hostshttps://www.getdasha.com- recommended for read-only verification + network state
Endpoints
/compute/api/guest-keysMint a 24h guest key (3/hour/IP)
201Key minted. Response also carries status/reason/hint/next/mint/name/prefix/note fields. Save api_key now; only its hash is stored. Guest keys serve /v1/chat/completions and /v1/models; other inference endpoints 403 guest_key_scope. Drives accept the same dgk_.
/compute/api/v1/modelsList models (community + hosted). No auth required.
200OpenAI-style model list
/compute/api/v1/chat/completionsChat completion; settled jobs return an inline receipt
auth: bearer key required
model* string - e.g.qwen3-4bmessages* array - 1-12 user/assistant messages, max 2000 chars each, 6000 totalmax_tokensinteger - (min 1, max 4096, default 512)temperaturenumber - (min 0, max 2, default 0.6)
200OpenAI chat completion + job_id + inline receipt record (pending operator settlement)401invalid_api_key400invalid_messages | unsupported_model | invalid_drive_id | tools/tool_choice present (tools unsupported - fail-loud)402spend limit409one queued job per key429per-key rate limit499client abort504timeout503no_mac_online (community down) | hosted_offline (hosted model unavailable) - fail-loud
/compute/api/v1/drivesFiles. Get-or-create an R2 drive by name. Works with providers_online=0. Binding DRIVES.
auth: bearer dsk_ or guest dgk_
201created200existing name for this key owner401invalid_api_key503drives_unavailable (R2 binding DRIVES missing)
/compute/api/v1/drives/:id/dreamDream. Hosted Ask reads memory/ (or the whole drive) and writes memory/dreamed.json. format md writes memory/dreamed.md. Works with providers_online=0.
auth: bearer dsk_ or guest dgk_
200drive.dream route hosted401invalid_api_key502hosted_failed503hosted_offline | drives_unavailable
/compute/api/verifyJSON verdict. Optional hash param (receipt hash | job_id | request_id)
param hash (query)
200settled.verify.v0 - ANCHORED | SELF-CONSISTENT | INVALID + chain state + query result
/compute/api/chainFull receipt chain (public)
200receipts[] with job_id, engine, tokens, cents, at, prev_hash, hash, sig, signer, model, latency_ms, kind
/headsSigned heads log (tail). Anchors the chain; see llms.txt for format
200head[] with ts, tip, prev_head_hash, hash, sig, signer
/compute/api/networkLive network state (public)
200providers_online, models_available, capacity[] (measured tok/s), jobs_queued, kit_versions
/compute/api/readyzReadiness probe
200ready
/compute/api/pricingLive pricing
200pricing.compute.v0 - $0.05/successful completion
/heads/checkpointSigned checkpoint of current head (external-anchor friendly)
200checkpoint JSON
/heads/archive/{date}.jsonArchived heads for a UTC date
param date (path) required - e.g. 2026-09-12
200heads[]
/compute/api/receiptsOwner view (401 unauthenticated)
auth: bearer key required
401owner-only
/keys.jsonPublished verification keys (Ed25519 spki_pem)
200dasha.keys.v0
/compute/api/v1/responsesNot implemented (Vercel AI SDK default route) - use /v1/chat/completions
auth: bearer key required
401invalid_api_key403guest_key_scope (guest keys are chat + models only)400responses are not supported; use POST /v1/chat/completions
Sources: /compute/api/network · /compute/api/chain · /keys.json · format: /compute/llms.txt. Errors are fail-loud and machine-readable; nothing degrades silently. Run a Mac: /compute.