> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3iq.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup Wizard

The setup tour served by the host agent at /setup: link the machine to your account, bring it online, and the on-box dashboard that follows.

The setup wizard is the UI the host agent serves at `/setup`. B3IQ runs it during
provisioning to turn a fresh machine into a working local node in a strict
sequential tour, and it stays available afterward as the reference for how your
machine was set up, keeping every important readiness signal visible at each
stage.

The wizard never hides advanced state behind marketing copy. It shows identity,
readiness, runtime, model profile, and enrollment exactly as the host agent
reports them for the real hardware it runs on.

## Setup flow

A machine boots with only the software that keeps it healthy and reports its
status. Engines and models are not part of setup: they come with the inference
plugin, which you install later (see [Inference comes later](#inference-comes-later)).
The local-only path is two steps. Linking the machine to your account adds a third.

**Link to your account**

Choose how the machine serves inference. Serve inference locally
    is the silent default: the machine serves only your own local clients and the
    wizard takes no further network action. Link to your account &amp;
    earn is the recommended, explicit choice. It links the machine to your
    B3 account so it serves requests made with your own API keys (local serving
    stays on) and opens the "Bring it online" step.
  **Bring it online (only if you chose to link)**

Name the machine, bring it online with a public route, and claim it with a
    device-flow 8-character code (or scan the QR) so it serves your account's API
    keys. The code expires 15 minutes after it is minted; mint a fresh one if it
    lapses. Each stage reports its own progress so a stall is easy to locate.
  **Finish**

The wizard hands you off to the node dashboard with the node working and, if
    you opted in, enrolled. Local-only operators finish here without ever
    touching a payout account, enrollment, or registration.

**Local is the default; linking is a choice**

Serving inference locally requires no decision and no network enrollment. It is
  what you get if you do nothing at the Link step. Linking is never automatic. It
  only begins after you explicitly choose Link to your account &amp;
  earn and complete the managed setup. Routability still depends on the
  gates described in [Route readiness](/operators/route-readiness).

**New machines are onboarded by B3IQ**

Linking a brand-new machine requires a B3IQ onboarding code. B3IQ admits new
  hardware to the fleet rather than opening it to self-service, and applies the
  code while provisioning the machine. A purchased machine arrives pre-onboarded
  and only needs the claim step. A machine that has already enrolled before is
  unaffected, and re-enrolling it never requires a fresh code.

## Inference comes later

Until inference is installed, the dashboard's Overview says so and the Models,
Playground, API and Benchmark tabs stay hidden. Install it from the machine's page
in your B3IQ dashboard, or as root on the machine:

```bash
sudo b3iq-host plugin install inference
```

Once it is installed, the Models tab adds an engine and models. Its links reopen the
wizard's engine, model and test steps, which are no longer part of the first-run
tour. Model and engine installs run one at a time: queue several models and they
download in order rather than saturating the link.

## Wizard principles

**Expose real machine state**

The wizard should show identity, readiness, runtime, endpoint, model profile,
    enrollment, support grants, and audit state.
  **Hide advanced state behind marketing copy**

Operators are configuring real hardware. Trust comes from visible state,
    explicit actions, and clear recovery paths.

## Setup surfaces

The wizard is one of several surfaces the host agent serves. Each surface has a
distinct purpose and its own credential.

| Surface | Purpose | Credential |
| --- | --- | --- |
| Bootstrap setup URL | Initial claim or recovery entry into the wizard | Setup token |
| Command panel URL | Post-install playground, settings, keys, support, and audit | Owner session or local bootstrap token |
| Owner login | Normal local operator access | HttpOnly session cookie |
| Local API keys | Local inference clients | `b3iq_local_` scoped secret |
| Support grants | Temporary diagnostics access | `b3iq_support_` scoped secret |
| Managed enrollment | Signed node sync with the control plane (linked machines only) | Node Ed25519 identity |

## Host menu and advanced panel

Beyond the linear tour, a host menu and advanced panel keep recovery and
diagnostics one click away after setup:

- **Readiness**: the live route-readiness view for the node.
- **Claim override**: re-run or correct the device-flow claim if the original
  code expired or the node was claimed in the wrong place.
- **Network status**: current operating mode and managed sync state.
- **Tunnel rotate / revoke**: rotate or revoke the node's tunnel without
  re-running the whole wizard.

**Tunnel revoke pauses routed inference**

Revoking the tunnel takes the node off its public route. Your account's API
  keys can no longer reach it until you rotate a fresh credential and the node
  re-publishes a healthy heartbeat. Use revoke when you suspect the route is
  compromised; use rotate for a clean cycle.

## Local playground

Once inference is installed, signed-in operators can use persisted local
playground sessions to test runtime and model behavior. API-key request logs stay
separate and redacted by default.

Use the playground for operator smoke testing. Use `b3iq_local_` API keys for
  application clients.

## Related

**[Host agent](/operators/host-agent)**

Understand the service that powers the wizard.
  **[Node dashboard](/operators/node-dashboard)**

Manage the node, keys, and readiness after setup finishes.
  **[Earnings](/operators/earnings)**

Claim a machine, and read what it earns from and how payouts settle.
  **[Route readiness](/operators/route-readiness)**

The public-safe diagnosis for why nothing is routing to a machine.