Run a provider

Contribute an Apple Silicon Mac and earn credits for the tokens it serves.

Apple Silicon (M1 or later) and macOS 14+. The agent holds one outbound connection, so there are no inbound ports and no router configuration.

Worth knowing first

Install

1Issue a provider token

On the console, under New provider token. It is shown once.

A developer key is not a provider token. Provider tokens start ocm_host_; developer keys start ocm_live_ and are refused here. This is the most common reason a new provider never appears.

2Download the installer

Optional, skips a root shell

brew install uv

The installer needs uv. Installing it yourself avoids the one step where the installer pipes a third party's script into a root shell.

curl -fsSL https://api.ocm.getdasha.com/install.sh -o install.sh

3Check what you downloaded

shasum -a 256 install.sh

Should print f9292df797adabbe8839217f87dd8109a11bca82b7e9eecc46b5a05987fb315d
Also at /install.sh.sha256.

less install.sh

About 190 lines. It writes only to /opt/ocm, /etc/ocm and /Library/LaunchDaemons.

4Run it

sudo OCM_HOST_TOKEN="ocm_host_…" OCM_AGENT_ID="my-mac" sh install.sh

Your token is checked before anything is written, so a bad one fails here with the reason. Keep OCM_AGENT_ID the same on every reinstall, or the machine registers as a second provider instead of recovering the first.

5Confirm it connected

sudo /opt/ocm/bin/ocm-agent-run --doctor

Expect token ok. Your Mac then appears on the console under Your providers.

The first request your machine serves takes up to about 90 seconds while the model loads. Everything after that takes about a second.

Changing the token later

printf '%s' 'ocm_host_…' | sudo /opt/ocm/bin/ocm-agent-token

Verifies first and changes nothing if the gateway refuses it. Never pass a token as a command-line argument: it would be visible to any local user through ps and kept in your shell history. Do not edit /opt/ocm/bin/ocm-agent-run, which is generated on every reinstall and holds no token.

Setting this up with an AI agent

Paste this to it.

You are installing the OCM provider agent on this Mac. It contributes idle GPU to a
compute marketplace and earns credits, which are a token count and not money.

Verify before installing:
1. `uname -m` must be arm64. MLX cannot run on Intel and the installer refuses.
2. Download, do not pipe:
   curl -fsSL https://api.ocm.getdasha.com/install.sh -o install.sh
3. Compare `shasum -a 256 install.sh` with https://api.ocm.getdasha.com/install.sh.sha256
   Stop if they differ.
4. Read it. About 190 lines. It writes only to /opt/ocm, /etc/ocm and
   /Library/LaunchDaemons, and sends the token only to /v1/provider/verify.
5. `brew install uv` first if Homebrew is present, to skip the root-shell step.

Ask the user for a PROVIDER TOKEN starting ocm_host_, issued in the console under
New provider token. A developer key (ocm_live_) is refused.

  sudo OCM_HOST_TOKEN="ocm_host_…" OCM_AGENT_ID="a-stable-name" sh install.sh

Keep OCM_AGENT_ID identical on every reinstall or the machine registers twice.
Confirm with: sudo /opt/ocm/bin/ocm-agent-run --doctor   (expect: token ok)
The first request takes up to ~90s while the model loads. That is not a fault.
Rotate later with: printf '%s' 'ocm_host_…' | sudo /opt/ocm/bin/ocm-agent-token
Never edit /opt/ocm/bin/ocm-agent-run; it is generated and holds no token.

Tell the user plainly: as a provider they can read every prompt routed to this
machine in plaintext, and so can every other provider.
If it will not connect
First request takes ~90sThe model is loading. Nothing to do.
REFUSED BY GATEWAYToken wrong, revoked, or never issued here. Issue a new one.
a developer key…An ocm_live_ key is in OCM_HOST_TOKEN.
disconnected… retryingOrdinary churn. It reconnects itself.
Connected, not listedNo models reported. --doctor names the problem.

What it will run

ocm-coder Expect the fans under sustained load. The agent does not yield the GPU back automatically, so treat it as a background tenant on a machine you are still using.

Create an account to issue a provider token. No invite code is needed to run a provider.