Daemon
Choose how mlabd runs and supervise Market Lab jobs.
mlabd keeps bots, strategies, scripts, managed orders, and job state running after the deploying terminal closes.
The daemon has two backends: Native and Docker. Transport is separate: it decides which Market Lab installation receives a command, not where that installation runs its daemon.
Status and Control
mlab daemon backend
mlab daemon status
mlab daemon start
mlab daemon stop
mlab daemon events --limit 20Live commands start the selected daemon automatically when needed.
mlab pool run runs the dynamic-fee controller inside mlabd. Read fee jobs with mlab pool jobs and mlab pool logs; they have a separate journal from order events. Stopping the job leaves swaps and withdrawals available; swaps use the last applied fee. See dynamic fees.
Choose a Backend
Each Market Lab runtime home chooses one daemon backend:
| Backend | Location |
|---|---|
| Native | Directly under the current operating-system user |
| Docker | Inside the Market Lab daemon container |
mlab daemon backend native
mlab daemon backend dockerThe selected backend is stored in <MLAB_HOME>/daemon.json, using ~/.market-lab/daemon.json when MLAB_HOME is unset. Market Lab will not switch it while jobs or managed orders are active.
Both backends keep state in the selected home, including credentials, market snapshots, artifacts, logs, and jobs. Separate homes, container names, and loopback ports let one installation operate independent Docker runtimes, each with multiple jobs and its own resource budget.
Continue
- Native backend: run
mlabddirectly on the host - Docker backend: run
mlabdin the official container - Independent runtimes: separate users or environments on one host
- Troubleshooting: logs, events, upgrades, and common failures
- Transport: choose the local installation or another installation over SSH
Execution credentials belong to the machine running the daemon. See Authentication.