Skip to main content

Standalone Operator Guide (No AI)

This guide is for operators who want the b1e55ed data + signal engine only.
  • Pure CLI (plus optional dashboard)
  • No AI dependency
  • Works on a single VPS

What you get

  • Signal engine: producers → events → brain synthesis
  • REST API (/api/v1) for health, producers, oracle, etc.
  • Dashboard (optional, but useful): local web UI
  • CLI control plane: setup, brain cycles, health checks, positions, contributors
  • Systemd-ready: run API + brain loop as services
No AI required. If you later want an agent layer (Telegram alerts, natural-language ops), see: Agent Operator Guide (OpenClaw).

Prerequisites

Minimum server

  • VPS: 2 vCPU / 2 GB RAM minimum (4 GB recommended)
  • OS: Ubuntu 22.04+ (any Linux is fine; commands below assume Ubuntu)
  • Disk: 20 GB

Accounts / access

  • A GitHub account (needed because the installer pulls from GitHub)

Software

  • Python 3.11+ (the installer will verify; uv manages the venv/tool)
  • curl
Install basics (Ubuntu):
sudo apt update
sudo apt install -y curl git

Install

Run the installer as the user that will operate the engine (recommended: a dedicated b1e55ed user):
# Create a non-root operator user (recommended)
sudo useradd -m -s /bin/bash b1e55ed
sudo su - b1e55ed

# Install b1e55ed (installs uv if needed; installs b1e55ed as a uv tool)
curl -sSf https://raw.githubusercontent.com/P-U-C/b1e55ed/main/install.sh | bash

# Ensure your PATH includes ~/.local/bin for this session
export PATH="$HOME/.local/bin:$PATH"

b1e55ed --version
⚠️ Common failure point #1: b1e55ed: command not found Fix:
export PATH="$HOME/.local/bin:$PATH"
command -v b1e55ed
If that works, make it permanent:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
. ~/.bashrc

First run (wizard)

Run:
b1e55ed wizard
The wizard is the recommended first command after install. It walks you through five operator-critical steps:
  1. Identity forge (creates your contributor identity)
  2. Universe + config (writes config/user.yaml)
  3. Producer registration (enables/disables producers and schedules)
  4. First brain run (verifies end-to-end ingestion → synthesis → storage)
  5. API setup (so you can query health/oracle and use the dashboard)

What the 0xb1e55ed prefix means

You will see 0xb1e55ed in banners and identity output.
  • It’s the system’s blessed hex prefix and a human-visible marker that you’re interacting with the correct toolchain.
  • It also shows up in identity / provenance contexts so operators can spot “wrong box / wrong env” mistakes.

How long does identity forge take?

The forge step is CPU-bound. Rough ballpark:
HardwareTypical forge time
2 vCPU shared VPS30–120 seconds
4 vCPU VPS15–60 seconds
Modern laptop CPU5–30 seconds
If it’s taking longer, let it run. (You can also re-run identity operations later via b1e55ed identity --help.) ⚠️ Common failure point #2: forge feels “stuck” What to do:
# Verify the process is alive
ps aux | grep -i b1e55ed | head

# If you must retry, re-run the wizard (it is designed to be re-runnable)
b1e55ed wizard

Start the engine

b1e55ed start
Defaults:
  • API: http://127.0.0.1:5050 (health: /api/v1/health)
  • Dashboard: http://127.0.0.1:5051
To bind to a different host/ports:
b1e55ed start --host 127.0.0.1 --api-port 5050 --dashboard-port 5051 --no-browser

Run the brain (signal loop only)

For a single cycle:
b1e55ed brain
For a fuller cycle (includes slower producers):
b1e55ed brain --full

Core CLI commands

These are the commands you’ll use daily.
CommandWhat it does
b1e55ed wizardFirst-run interactive setup (identity, config, producers, first run, API)
b1e55ed startStarts API + dashboard together (ports 5050/5051 by default)
b1e55ed brainRuns one brain cycle (add --full for slower producers)
b1e55ed scanNot a top-level command in current releases. Use b1e55ed alerts (recent alerts) + dashboard views to “scan” system state.
b1e55ed healthCron-safe health check (useful for monitoring)
b1e55ed statusHuman-readable system status summary
b1e55ed signalInject operator intel (curator signal)
b1e55ed positionsLists open positions with best-effort PnL
b1e55ed contributorsView/manage contributor reputation + provenance
Tip: everything supports --help. For the full list, see CLI reference.

Config tuning

Your operator config is at:
  • config/user.yaml
b1e55ed loads this on startup and uses it to define:
  • the universe (symbols)
  • execution mode (paper vs live)
  • producer enablement + weights (how much each producer influences synthesis)

Key fields to know

(Exact keys are fully documented in Configuration; below is the operator-focused subset.)
AreaWhat to look forWhy it matters
Universeuniverse.symbolsWhat assets get collected/scored
Executionexecution.mode (paper/live)Controls whether execution is real
Producersproducers.enabled / producers.weightsDecide what data sources contribute to conviction

Sample config: BTC-focused

universe:
  symbols: ["BTC"]

execution:
  mode: paper

producers:
  enabled:
    - technical-analysis
    - price-alerts
    - orderbook-depth
    - market-sentiment
    - onchain-flows
  weights:
    technical-analysis: 1.0
    price-alerts: 0.8
    orderbook-depth: 0.7
    market-sentiment: 0.5
    onchain-flows: 0.6

Sample config: multi-asset (top 10)

universe:
  symbols: ["BTC","ETH","SOL","BNB","XRP","ADA","AVAX","DOT","LINK","UNI"]

execution:
  mode: paper

producers:
  enabled:
    - technical-analysis
    - price-alerts
    - market-events
    - market-sentiment
    - social-intel
  weights:
    technical-analysis: 1.0
    price-alerts: 0.7
    market-events: 0.7
    market-sentiment: 0.6
    social-intel: 0.4
After editing config, restart services (or restart b1e55ed start). ⚠️ Common failure point #3: YAML indentation / syntax errors Fix:
python -c 'import yaml,sys; yaml.safe_load(open("config/user.yaml")); print("ok")'
If that errors, fix the line it reports and re-run.

Producer reference (13 core producers)

b1e55ed uses “producers” to collect different kinds of signals. This table is designed for operators deciding what to enable first.
ProducerDomainWhat it doesWhen to enableCost / complexity
technical-analysistechnicalGenerates TA features/signals (trend, momentum, etc.)Baseline; usually onLow
price-alertstechnicalWatches price moves and emits alert-like signalsIf you want fast reaction / alertsLow
orderbook-depthtechnicalPulls liquidity/imbalance metrics from an external orderbook endpointWhen you have reliable orderbook data sourceMedium (needs endpoint)
market-eventseventsEmits structured market events used by the systemDefault-on for contextLow
onchain-flowsonchainOn-chain flow/transfer featuresWhen operating liquid large caps / majorsMedium (API/data deps)
whale-trackingonchainTracks large entity movementsWhen you care about large flow narrativesMedium
stablecoin-supplyonchainMonitors stablecoin supply / issuance patternsMacro/liquidity regime sensitivityMedium
tradfi-basistradfiTradFi basis / funding proxiesIf you trade BTC/ETH and care about leverage crowdingMedium
etf-flowstradfiETF flow signals (where applicable)If you care about US market structure flowsMedium
market-sentimentsocialSentiment signal from supported sourcesIf you want risk-on/off overlayMedium
social-intelsocialSocial narrative / intel ingestionWhen you want discretionary “what’s being talked about”Medium
curator-intelcuratorOperator-injected signals (manual intel)Always if humans provide inputsLow
ai-consensuscuratorAI consensus synthesis (requires AI access)Standalone operators usually leave this offHigh (external AI)
Notes:
  • This guide excludes the internal template producer (used as a scaffold).
  • Producers have schedules; the wizard helps register/enable them.

Running as a service (systemd)

Below are copy/paste unit files that run:
  • b1e55ed-api.service: API server (port 5050)
  • b1e55ed-brain.service: a simple loop that runs b1e55ed brain every 5 minutes
Assumptions:
  • You installed as the b1e55ed user (recommended)
  • b1e55ed is available at /home/b1e55ed/.local/bin/b1e55ed

1) API service

sudo tee /etc/systemd/system/b1e55ed-api.service >/dev/null <<'EOF'
[Unit]
Description=b1e55ed API
After=network.target

[Service]
Type=simple
User=b1e55ed
WorkingDirectory=/home/b1e55ed
Environment=PATH=/home/b1e55ed/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/home/b1e55ed/.local/bin/b1e55ed api --host 127.0.0.1 --port 5050
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

2) Brain loop service

sudo tee /etc/systemd/system/b1e55ed-brain.service >/dev/null <<'EOF'
[Unit]
Description=b1e55ed brain loop (runs every 5 minutes)
After=network.target b1e55ed-api.service

[Service]
Type=simple
User=b1e55ed
WorkingDirectory=/home/b1e55ed
Environment=PATH=/home/b1e55ed/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Run one cycle every 300s. Keep it boring and observable.
ExecStart=/bin/bash -lc 'while true; do /home/b1e55ed/.local/bin/b1e55ed brain --full; sleep 300; done'
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

3) Enable + start

sudo systemctl daemon-reload
sudo systemctl enable --now b1e55ed-api.service b1e55ed-brain.service

systemctl status b1e55ed-api.service --no-pager
systemctl status b1e55ed-brain.service --no-pager

Oracle setup (optional)

The oracle is a read-only endpoint that exposes producer provenance for agents and other consumers. If you are running standalone, you typically only need this if:
  • you want external systems to query provenance, or
  • you plan to add an agent layer later.
What to do:
  1. Ensure your API is reachable (either via Tailscale or a reverse proxy)
  2. Use the oracle endpoint:
curl -s http://127.0.0.1:5050/api/v1/oracle/producers/example/provenance | head
Full oracle docs: docs/oracle.md.

Troubleshooting

API won’t start / port in use

# See what is using 5050/5051
sudo ss -ltnp | grep -E ':(5050|5051)\b' || true

# If you changed ports, update your systemd unit and restart
sudo systemctl restart b1e55ed-api.service

Brain runs but no events / everything looks empty

# Run a single cycle with stdout
b1e55ed brain --full

# Check overall status
b1e55ed status

# Check health (cron-safe)
b1e55ed health

Service logs

journalctl -u b1e55ed-api.service -n 200 --no-pager
journalctl -u b1e55ed-brain.service -n 200 --no-pager

Factory reset (last resort)

If you intentionally want to remove the tool:
b1e55ed uninstall
For advanced deployment patterns (reverse proxy, TLS, hardening), see: docs/deployment.md.