A Gateway loads exactly the plugins your stack declares in spec.gateway.plugins[], and nothing else. Nothing here
auto-registers: a plugin contributes its routes only when a stack names it. MDK ships the following plugins:
Bundled site plugins, ready to use once a stack declares them as @tetherto/mdk-plugins/<name> subpaths
Inert plugins, shipped for reference but not wired (declaration does not provide working endpoints)
Optional standalone plugins offered through mdk onboard
Fans out telemetry.pull to every registered worker and returns site-level hashrate history aggregated by timestamp. Defaults to last 7 days when start/end are omitted
Fans out metrics telemetry to every registered demo-worker device (fingerprint: hashrate_rt + history) and returns fleet totals plus a per-device breakdown. Aggregation lives here — workers only ever answer for one device
GET
/api/demo/history
Pulls the demo-worker history telemetry channel (SQLite recent samples: ts, hashrate_ths, power_w, board_temp_c) for every matched device, or a single device when deviceId is set