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 |
Core Philosophy
MDK establishes a lean, stable backend core with a composable frontend layer.
Instead of shipping a monolithic system, MDK provides:
- A minimal, reliable backend foundation
- A reusable UI component library
- Well-defined APIs between layers
- Modular components that evolve independently
This separation ensures:
- Backend stability
- UI flexibility
- Clean extensibility
- Long-term maintainability
Vision
MDK is designed to be the backbone of an open mining ecosystem.
By standardizing both the backend logic and the operational interface layer, MDK enables:
- Long-term sustainability of mining infrastructure
- Community-driven innovation
- Decentralized ownership of operational tooling
- Faster ecosystem-level UI and tooling development
MDK aligns mining infrastructure with Bitcoin's core values: openness, resilience, and decentralization.
Why MDK?
The Problem
Today's mining software ecosystem is:
- Fragmented — isolated, non-interoperable systems
- Opaque — closed-source tooling with limited visibility
- Rigid — difficult to customize or extend
- Locked-in — high switching costs and vendor dependence
Most operators must build both backend logic and UI layers from scratch — repeatedly.
The MDK Solution
Transparency
- Fully open-source (Apache 2.0)
- Complete visibility into backend and UI behavior
- No hidden logic or proprietary control paths
Comprehensiveness
- One platform for all mining infrastructure
- Backend SDK + ready-to-use UI components
- Multi-vendor, multi-device support
- Unified monitoring and control model
Robustness
- Proven in production mining environments
- Distributed architecture with no single point of failure
- Durable, persistent storage for operational data
Extensibility
- Modular backend device architecture
- Plugin-friendly integrations
- Composable React components
- UI theming and extension support
- Community-first development model
Industry Standard
MDK aims to become the industry standard for Bitcoin mining operations — similar to how Linux standardized operating systems and React standardized frontend UI patterns.
Who is MDK 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
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.

