MDK Logo

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

CapabilityDescription
Full-Stack ArchitectureBackend SDK + React UI components
PortabilityRuns on Windows, macOS, and Linux
Device AgnosticSupports miners, containers, sensors, power meters, and more
Real-Time MonitoringSub-minute data collection and alerting
Persistent StorageTime-series storage using Hyperbee
Scalable by DesignFrom a single miner to thousands of devices
Open SourceApache 2.0 licensed — no vendor lock-in

What MDK Enables

Who MDK is for

MDK is built for everyone who mines Bitcoin.

User TypePrimary Use Case
Home MinersSimple monitoring dashboards and device control
Small OperationsManage multiple miners across locations
Industrial SitesOrchestrate thousands of ASICs with fault tolerance
DevelopersBuild backend integrations + custom UI tools
Service ProvidersDeliver 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 ModeTarget UsersBenefits
Single ProcessSmall sitesMinimal setup, low resource overhead
PM2 MicroservicesMedium sitesProcess isolation, controlled scaling
Docker / KubernetesLarge sitesEnterprise 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/mdk

Start 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-ui

Use 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 ModeTarget UsersBenefits
Single ProcessSmall sitesMinimal setup, low resource overhead
PM2 MicroservicesMedium sitesProcess isolation, controlled scaling
Docker / KubernetesLarge sitesEnterprise 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.

On this page