Build with Darkbloom

Use the consumer API to request inference, or run the provider app and CLI to contribute compute. These are separate roles with different credentials and prerequisites.

Consumer API

Sign in to the Console and create an API key in API Console. Keep the key secret and use a funded account for paid fleet inference.

Send Authorization: Bearer <DARKBLOOM_API_KEY> with consumer requests. For the OpenAI SDK, use https://api.darkbloom.dev/v1 as the base URL. A provider device token is not a consumer API key.

List models with GET /v1/models before choosing a model ID. Availability and supported features depend on the model and network capacity. Responses, Messages and legacy Completions are described in the full API reference; the downloadable OpenAPI document covers a reviewed consumer subset.

Create an API key · Consumer quickstart · Authentication guide

curl https://api.darkbloom.dev/v1/models \
  -H "Authorization: Bearer $DARKBLOOM_API_KEY"

The example reads available models. Set DARKBLOOM_API_KEY in your environment; never commit it or expose it in browser code. Inference requests consume account funds and remain subject to authentication, billing and rate limits.

Download the OpenAPI contract · Chat API documentation · Public pricing

Provider app and CLI

The official darkbloom CLI operates provider software on an eligible Apple Silicon Mac. It is not an npm package or a consumer API client. Check the current hardware, macOS and security requirements before installing.

Use the official installer and provider documentation. Run darkbloom doctor to check the Mac, darkbloom login to link it to your account, and darkbloom start to begin serving. darkbloom status reports the local provider state.

Official installation guide · Current provider requirements · CLI reference and source

# On an eligible Mac, after following the official installation guide
darkbloom doctor
darkbloom login
darkbloom start
darkbloom status

Privacy and trust

Requests are encrypted hop by hop. The coordinator decrypts requests in confidential-VM memory for routing and billing, does not log or retain prompt content, and re-encrypts each request to the provider’s attested key. The provider is the plaintext endpoint; this is not end-to-end encryption between consumer and provider.

Privacy policy · Encryption model · Contact and official channels