This guide takes a provisioned machine to a working local node. Your machine arrives with the host agent already installed and set up by B3IQ. You open the local command panel, confirm the runtime and a model the hardware can actually serve, run one prompt to prove it works, and then, optionally, claim the machine to your B3 account so the dashboard, your gateway keys, and the CLI can reach it.

Local inference works on its own. Nothing here requires an account. Claiming connects the machine to your B3 account; earning on top of that is a further, optional step with its own gates.

B3IQ explorer
Your machine arrives provisioned

B3IQ installs and supervises the host agent on the machines it hosts and ships, so there is nothing to download or install yourself. The host agent binds setup and local inference to http://127.0.0.1:8831. Treat setup tokens, owner sessions, and local API keys as powerful local credentials.

Steps

1

Open the local command panel and claim the node

Your provisioned machine already serves the local command panel. If you need a fresh tokenized URL from the machine itself, ask the host agent:

bash
b3iq-host wizard url --with-token

In the wizard, create the first local owner account. From then on, setup access uses owner auth instead of relying on the bootstrap token. Then review the inventory the host agent reports: CPU, RAM, GPU, disk, OS, runtime, and network posture. Browser GPU checks are advisory; the host agent is the source of truth.

Leave the machine in Local Mode for now. Managed Mode is a deliberate opt-in covered in the last step.

2

Pick a runtime and a model the machine can serve

Choose a runtime the host agent detected, then pick a model profile sized to your hardware. The wizard recommends profiles your machine can realistically serve first; larger models demand more RAM, VRAM, and a stronger runtime and benchmark posture.

Don't hardcode an artifact name. List what your node can actually run and pick a returned id:

bash
curl --fail --silent --show-error http://127.0.0.1:8831/v1/models

Use a representative id like qwen3-8b only as a placeholder. The live set changes with your runtime and installed models, so always pick from the list above.

Tip

Start small. A model that loads and answers quickly is worth more than a large model that swaps to disk and times out. You can install a bigger profile once the small one is proven.

3

Create a local API key

Create a scoped b3iq_local_ key in the wizard for local inference clients. Keep it out of shell history and process argv by writing it to a file with tight permissions:

bash
umask 077mkdir -p .secrets# Paste the local key, then press Ctrl-D.cat > .secrets/b3iq-local-key
4

Run the one-prompt smoke test

Confirm the runtime answers end to end. This reads the key from a file and a temporary curl config so the secret never lands in argv. Replace the model value with an id from GET /v1/models.

bash
: "${B3IQ_LOCAL_KEY_FILE:=.secrets/b3iq-local-key}"B3IQ_LOCAL_BASE_URL="${B3IQ_LOCAL_BASE_URL:-http://127.0.0.1:8831}"cfg="$(mktemp)"chmod 600 "$cfg"trap 'rm -f "$cfg"' EXIT{ printf 'url = "%s/v1/chat/completions"\n' "${B3IQ_LOCAL_BASE_URL%/}" printf 'request = "POST"\n' printf 'header = "Authorization: Bearer %s"\n' "$(sed -n '1p' "$B3IQ_LOCAL_KEY_FILE")" printf 'header = "Content-Type: application/json"\n'} > "$cfg"curl --fail --silent --show-error --config "$cfg" --data-binary @- <<'JSON'{ "model": "qwen3-8b", "messages": [{ "role": "user", "content": "Run a local B3IQ smoke reply." }], "stream": false}JSON
Check

A JSON completion with a non-empty choices[0].message.content means your node serves local inference. That is a complete, working local node.

5

(Optional) Claim the machine to your account

Switch the wizard to Managed Mode to generate an 8-character claim code (and QR). Redeem it from the B3IQ dashboard, signed in as the account you want to own the machine. Claiming is what makes the machine reachable. The dashboard, your gateway keys, and the CLI can only see a claimed machine.

A brand-new machine also needs an onboarding code from the B3IQ team to join the fleet; a purchased machine arrives pre-onboarded and only needs the claim step. Claiming also turns on health alerts, so B3IQ emails you if the machine goes offline or its GPU or disk needs attention.

Verify with the CLI

Once claimed, confirm the account can see the machine from a terminal instead of the dashboard: install the b3iq CLI, sign in, then run b3iq status or b3iq doctor. See CLI for install options and the full command set.

Earning is a further, optional step on top of claiming, and it is never automatic. Serving inference — yours or anything B3IQ routes here — is free and pays nobody. A machine earns by having its capacity rented, which is what Earn mode offers it for. See Start Earning when you are ready.

Common blockers

Check the service is up and the local listener is healthy:

bash
curl --fail http://127.0.0.1:8831/healthb3iq-host status

The default bind is loopback. If your machine is a LAN/appliance deployment, that requires an explicit non-loopback listener and network controls. See Host agent.

The profile is likely too large for the machine and is swapping. Pick a smaller model id from GET /v1/models, prove it with the smoke test, then size up. Larger models need more RAM, VRAM, and a stronger runtime posture.

The local key is missing, malformed, or revoked. Create a fresh b3iq_local_ key in the wizard and rewrite the key file. Local keys are not hosted gateway keys.

That's expected until you claim the machine and it clears route and model readiness. Local Mode alone is never reachable from your account. See Route readiness for the exact gate that is blocking you.

Next

Runtimes

Compare detected runtimes and which models each can serve.

Learn More
Setup wizard

Understand the full claim, inventory, mode, model, and playground flow.

Learn More
Start earning

Claim the machine, then offer its capacity in Earn mode.

Learn More
Ask a question... ⌘I