Route readiness is the public-safe diagnosis for whether a node can serve routed work. It combines node liveness, route health, protocol state, model profile policy, benchmark evidence, queue health, and customer gateway policy.

Public Diagnosis

Route readiness is surfaced on your node's page in the explorer and in the node dashboard. It is backed by a public-safe readiness endpoint:

text
GET /v1/public/nodes/:node_id/route-readiness?model=<model>

The response can include route blockers, model blockers, next actions, and operator prompts. For explicit consumer_edge profiles, model_profiles[].consumer_edge reports model class, conservative concurrency cap, benchmark age/freshness, uptime gates, recent error rate, blockers, next actions, and earning status. It must not include tunnel IDs, local URLs, runtime IDs, prompts, outputs, request IDs, API keys, customer IDs, raw tokens, route secrets, or private tunnel details.

Gate Order

Route Readiness Gates
livenesspublic routeclaimedeligible supply Node enrolled + heartbeat Route tunnel + public inference Claim linked to an owner Model installed + benchmarked + paid policy Customer key + account policy

Blockers And Actions

BlockerMeaningOperator action
EnrollmentNode is not fully enrolledComplete managed enrollment
HeartbeatHeartbeat is stale, missing, or offlineBring host agent online and sync a fresh heartbeat
RuntimeRuntime is not ready or reachableStart or configure runtime and rerun probe
ClaimNode is not linked to an owner accountRedeem the claim code from the node's setup screen in your dashboard
Route tierProfile tier is blocked or paused for paid dispatchUse or configure an approved route tier or resume the route-class incident control
Benchmark proofObserved benchmark evidence is missing or staleKeep the node online with a healthy runtime — B3IQ schedules a fresh benchmark automatically
Queue healthQueue is blocked or unhealthyClear runtime queue issue and publish heartbeat
Customer policyCaller policy rejects model, price, route tier, or spendUpdate policy or send an allowed request
Earn mode withdraws a node from routing

A machine switched to earn mode is excluded from every b3iq routing query — it never appears as a candidate, so route readiness reports it as route_missing until you switch it back to its dedicated mode from the machine's dashboard page.

Earning Explanation

The operator-facing answer to "why am I not earning yet?" should be direct:

Info

Paid routing requires more than an installed model. The node must be enrolled, online, route-ready, claimed, runtime-ready, model-installed, network-eligible, benchmark-observed, paid-route eligible, queue-healthy, and accepted by customer policy.

Stale Benchmark Prompts

benchmark.smoke is not an operator-runnable command. If an otherwise eligible profile depends on stale observed benchmark evidence, keep the node online with a healthy runtime after any runtime, driver, model artifact, quantization, context, or queue-policy change — B3IQ re-benchmarks eligible profiles that lack fresh observed evidence on its own schedule.

Model readiness

Understand model profile fields and route tiers.

Learn More
Hosted gateway

See how hosted requests select eligible supply.

Learn More
Protocol overview

Understand onboarding, receipts, settlement, and reputation surfaces.

Learn More
Ask a question... ⌘I