Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.darkbloom.dev/llms.txt

Use this file to discover all available pages before exploring further.

Darkbloom turns your Mac’s idle GPU cycles into income. When you run the provider agent, your machine connects to the Darkbloom network and serves inference requests from consumers using the API. You earn for every token your Mac generates, and the payout is direct: Darkbloom takes a 0% platform fee, so 100% of the revenue your hardware earns goes to you.

System requirements

You need an Apple Silicon Mac to run the provider agent. The inference engine is built on Metal and vllm-mlx, which require Apple’s unified memory architecture.

Chip

Apple Silicon M1 or later (M1, M2, M3, M4 and their Pro / Max / Ultra variants)

macOS

macOS 14 Sonoma or later

Memory

16 GB unified memory minimum; 36 GB or more recommended to serve the smallest catalog model

Network

Outbound internet access only — no port forwarding or firewall changes needed
The minimum 16 GB figure covers installation and the agent itself. To actually serve a model, your Mac needs at least 36 GB of unified memory. The full model catalog and their RAM requirements are listed in the install guide.

How earning works

Consumers pay per token when they call the API. Pricing varies by model — smaller models cost less, larger reasoning models cost more. Every dollar billed to a consumer for requests your machine handles flows directly to your account. There is no platform cut. Earnings are paid out via Stripe Connect. You can withdraw to a bank account or debit card once your balance meets the payout threshold. The network runs a public earnings leaderboard at GET /v1/leaderboard so you can see how your machine ranks against other providers.

Privacy: what you can and cannot see

Darkbloom is designed so that neither you nor any other party outside the requesting consumer can read the content of inference requests. The coordinator (Darkbloom’s routing server) encrypts each request with your provider’s X25519 public key before forwarding it over WebSocket. Only your provider process can decrypt and process the request. Several layers enforce this at the OS level:
  • Debugger attachment is blocked at the kernel level (PT_DENY_ATTACH)
  • Memory-reading APIs are disabled by Hardened Runtime
  • Core dumps are disabled before any inference data enters the process
  • System Integrity Protection (SIP) must be enabled — the provider refuses to serve if SIP is off
The same guarantee applies in reverse: consumers cannot read data from your machine outside the inference response they receive.

Attestation

When your provider connects to the network, it generates a cryptographic attestation using your Mac’s Secure Enclave. This attestation proves to the coordinator — and to any consumer who wants to verify — that your machine is running an unmodified, blessed version of the provider agent with all security controls intact. The coordinator re-checks this every five minutes via a challenge-response mechanism. If your machine’s security posture changes (for example, if SIP is disabled), the coordinator stops routing requests to it. Attestation data for all active providers is publicly verifiable at GET /v1/providers/attestation.
Run darkbloom doctor at any time to check whether your machine passes all security and connectivity checks before you start serving.