Authenticates against the control plane · POST /v1/auth/login (JWT)
H
HookOS Stack
Not connected
Not connected
Your self-hosted control plane
One node fleet, fully self-hosted across Base, ETH, BSC, HyperEVM and more — clients under
your control, no third-party RPC, no data leaving your infrastructure.
Fleet overview · live
Nodes deployed
—
managed by control plane
Running
—
reporting healthy
Bootstrapping
—
syncing / pending
Failed
—
need attention
Deployments
—
total tracked
API health
—
cp-api /healthz
Quick actions
+ Deploy a node
Base, ETH, BSC, HyperEVM and more — mainnet only.
Manage fleet
Sync status, peers, RPC endpoints, logs.
Open Grafana ↗
Metrics & alerting dashboard.
loading fleet…
Node fleet
Deploy wizard
Deploy a node
VALIDATE→PULL→BOOTSTRAP→SYNCING→LIVE
Preset instances come from the control-plane registry (/v1/presets/instances). Chain, clients & node name are defined by the preset.
Deep-merged over the preset defaults (leaf values only). Leave blank to deploy stock. Schema is preset-specific.
⚠ mainnet only · snapshot bootstrap needs ~2× node disk transiently. Nodes run on
cloud/dedicated NVMe hosts — not this dev machine. POSTs a CreateNodeRequest to
/v1/ui/nodes.
Live event stream
Cluster activity
Pod events, sync progress, and control-plane actions — streamed from the deployments API.
The embed loads . Grafana isn't reachable from this
dashboard — open it directly on the control-plane host, and ensure it allows embedding
(allow_embedding=true) to surface it here.
Configuration
Settings
Point the shell at your real control plane. Saved to this browser.
Live deployments API only — this shell never shows demo or mock data.
Not connected
Brand
APIcpctl CP Deployments v1.0.0 · JWT
Endpointsauth · nodes · deployments · presets
Routes verified against /v1/openapi.json. Change the base in config.js or above.