About MDK
Open, Modular Infrastructure for Bitcoin Mining at Any Scale
About MDK
The Bitcoin mining industry has long been constrained by closed systems, proprietary tooling, and vendor lock-in. MDK changes that.
MDK introduces openness, transparency, and modularity into mining infrastructure. Built on open protocols and a composable architecture, it empowers operators and developers to build, operate, and scale mining operations with full control.
MDK delivers a modern, professional mining software stack with:
- Intuitive operational workflows
- Real-time monitoring and control
- Production-grade scalability
- Full transparency into system behavior
From a single device to gigawatt-scale facilities, MDK adapts without architectural rewrites.
What is MDK?
MDK is a full-stack development platform for Bitcoin mining infrastructure, composed of two primary layers:
1) MDK Core (Backend SDK)
A JavaScript-based backend SDK that provides a modular, extensible foundation for:
- Monitoring mining infrastructure
- Controlling devices and containers
- Collecting telemetry and operational data
- Persistent storage and state management
- Building custom mining applications and integrations
MDK Core acts as the operating layer of mining infrastructure.
2) MDK UI Development Kit (React Components)
A React-based UI development kit that provides:
- Pre-built operational dashboards
- Reusable monitoring components
- Device status widgets
- Telemetry visualizations
- Control panels and workflow components
The UI kit enables teams to rapidly build production-grade mining interfaces without reinventing monitoring or control layers.
Together, MDK Core + MDK UI form a cohesive, modular full-stack platform.
Architecture Overview
┌─────────────────────────────┐
│ MDK UI (React) │
│ Dashboards • Widgets • UX │
└──────────────┬──────────────┘
│ Unified API
┌──────────────▼──────────────┐
│ MDK Core SDK │
│ Devices • Telemetry • Logic │
└─────────────────────────────┘- The UI kit consumes MDK Core APIs
- The backend remains independently deployable
- UI and Core can evolve independently
- Developers can use Core without UI, or UI with custom backends
Core Characteristics
| Capability | Description |
|---|---|
| Full-Stack Architecture | Backend SDK + React UI components |
| Portability | Runs on Windows, macOS, and Linux |
| Device Agnostic | Supports miners, containers, sensors, power meters, and more |
| Real-Time Monitoring | Sub-minute data collection and alerting |
| Persistent Storage | Time-series storage using Hyperbee |
| Scalable by Design | From a single miner to thousands of devices |
| Open Source | Apache 2.0 licensed — no vendor lock-in |
What MDK Enables
Who MDK is for
MDK is built for everyone who mines Bitcoin.
| User Type | Primary Use Case |
|---|---|
| Home Miners | Simple monitoring dashboards and device control |
| Small Operations | Manage multiple miners across locations |
| Industrial Sites | Orchestrate thousands of ASICs with fault tolerance |
| Developers | Build backend integrations + custom UI tools |
| Service Providers | Deliver hosted mining management platforms |
What you can build
With MDK Core + MDK UI, you can build:
- Operational dashboards (hashrate, power, temperature)
- Pool management tools
- Infrastructure control systems (containers, cooling, power)
- Analytics and reporting pipelines
- Automation and optimization workflows
- White-labeled hosted mining platforms
Design Principles
MDK is designed around a lean, stable backend core and a composable frontend layer, connected by well-defined APIs.
This approach delivers:
- Transparency: fully open-source (Apache 2.0), with clear, inspectable behavior and no hidden control paths
- Modularity: device- and vendor-agnostic components that can be extended without rewriting the system
- Operational readiness: real-time monitoring/control, durable state, and production-grade scalability
- Independence: use Core without UI, UI with a custom backend, or both together—without lock-in
Deployment Modes
MDK introduces a flexible deployment model:
Backend (MDK Core) can run as
- A single embedded process (small sites & development)
- A set of independent microservices (production scale)
UI (MDK UI Kit) can be
- Embedded inside an existing React application
- Deployed as a standalone web dashboard
- Integrated into enterprise control systems
| Deployment Mode | Target Users | Benefits |
|---|---|---|
| Single Process | Small sites | Minimal setup, low resource overhead |
| PM2 Microservices | Medium sites | Process isolation, controlled scaling |
| Docker / Kubernetes | Large sites | Enterprise orchestration, fault tolerance |
Key Capabilities
- Single Install, Unified API
- Reusable React UI Components
- Microservice Compatibility
- Deployment Flexibility via PM2, Docker, or Kubernetes
- Independent Backend & UI Scaling
Example Usage (MDK Core)
Install MDK Core
npm install @tetherto/mdkStart Reading Miner Data
const MDK = require("@tetherto/mdk")
// Initialize a library for any miner model (example: Whatsminer M56S)
const wm56 = new MDK.WM_M56S()
// Register a new miner
const miner = wm56.registerMiner({
ip: "127.0.0.1",
port: 8080,
serialNumber: "WM001"
})
// Connect to actual device
await miner.connectToDevice()
// Read miner stats
const stats = await miner.getStats()Example Usage (MDK UI Kit)
Install MDK UI
npm install @tetherto/mdk-uiUse UI Components
import { MinerDashboard, HashrateChart } from "@tetherto/mdk-ui"
<MinerDashboard minerId="WM001" />
<HashrateChart minerId="WM001" range="24h" />The UI kit communicates directly with MDK Core APIs and can be:
- Embedded into existing React applications
- Used to build complete mining management portals
- Customized and themed per deployment
Deployment Modes
MDK introduces a flexible deployment model:
Backend (MDK Core) can run as
- A single embedded process (small sites & development)
- A set of independent microservices (production scale)
UI (MDK UI Kit) can be
- Embedded inside an existing React application
- Deployed as a standalone web dashboard
- Integrated into enterprise control systems
| Deployment Mode | Target Users | Benefits |
|---|---|---|
| Single Process | Small sites | Minimal setup, low resource overhead |
| PM2 Microservices | Medium sites | Process isolation, controlled scaling |
| Docker / Kubernetes | Large sites | Enterprise orchestration, fault tolerance |
Key Capabilities
- Single Install, Unified API
- Reusable React UI Components
- Microservice Compatibility
- Deployment Flexibility via PM2, Docker, or Kubernetes
- Independent Backend & UI Scaling
Business Impact
- Faster onboarding and reduced time-to-deploy
- No need to build backend + UI from scratch
- Lower operational and support costs
- Seamless growth from small to large deployments
- Reduced architectural risk over time
Strategic Value
- One architecture for all customer sizes
- Lower total cost of ownership (TCO)
- Strong developer adoption and ecosystem growth
- Future-proof foundation for new device types and services
- Unified backend and frontend standard for mining
Summary
MDK is a full-stack mining infrastructure platform composed of:
- MDK Core — Backend SDK
- MDK UI Development Kit — React component library
It combines:
- Open-source transparency
- Modular backend architecture
- Reusable frontend components
- Flexible deployment models
- Production-grade scalability
MDK enables Bitcoin mining operations to start small, scale smoothly, and remain in full control — without lock-in, rewrites, or hidden complexity.

