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

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

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