Jan Čapek is a Czech engineer who co-founded Braiins with Pavel Moravec. Bitcoin mining takes more than buying a powerful machine: software has to supply its work and control how it runs. This is the layer Čapek works on. He contributed to Braiins OS, software inside mining devices, and designed Stratum V2 alongside Moravec and Matt Corallo. That protocol sets out how devices and other mining services communicate. His story shows how software can change what a machine’s owner actually controls.
Čapek and Pavel Moravec founded Braiins to develop embedded software: programs that run inside devices. Alongside it was Bitcoin.cz Mining Pool, founded in 2010 by Marek Palatinus, known as Slush. A pool lets miners combine their work and share proceeds under its rules, rather than each waiting to find a block alone. These histories later came together. Čapek co-founded the company that took over the pool; Palatinus remains the founder of the original pool. [1]
In 2013, Braiins acquired a majority stake and took over all pool operations, giving Palatinus time to focus on Trezor. The company acquired the remaining stake on the first of September 2020. The website announcement carries a publication date of 29 December 2021, but the text identifies the earlier transaction date. When following the history, that distinction matters: a later article does not mean the company only started operating the pool then. Taking over operations and completing the ownership change were separate steps. [1]
Picture an Antminer S9. Its chips repeatedly perform calculations, but a program must prepare their work and control how they run. Software inside a device is called firmware. The company’s history describes how a team led by Čapek verified support for AsicBoost, a way to use mining computations more efficiently, and developed the open-source Braiins OS launched in 2018. Open source lets developers examine what the program does. Čapek’s documented contribution here concerns software, rather than designing the chip itself. [1] [2]
In an interview published in 2020, Čapek explains autotuning: automatically finding suitable frequencies and voltages for individual chips at a chosen power setting. Frequency relates to the pace of their work, voltage to their electrical operation; the aim is to use available energy more effectively. A miner cares about operating costs as well as the headline performance number. Čapek was considering a paid proprietary layer on top of the open Braiins OS foundation. The interview explains that business idea at the time, not the licence or price of every current version. [2]
Beyond the program inside a machine, there has to be a shared language for sending work and results. A mining protocol provides it: agreed message rules that both sides understand. Jan Čapek, Pavel Moravec and Matt Corallo worked together on Stratum V2. Its official website credits an independent open-source community with its maintenance. Čapek’s contribution therefore reaches beyond Braiins products. This is a shared standard through which different developers can build cooperating programs, rather than a protocol owned by one company. [3]
A miner sending results over the internet does not want someone reading or altering them in transit. Stratum V2 therefore uses encryption that also checks message integrity, together with server authentication. Its specification requires a secure handshake for remote connections to upstream services, while permitting an exception to that handshake on a local network, such as between a machine and a local intermediary. This protects the message’s journey. It does not audit the pool’s accounts or guarantee a later reward payment. Secure transport and a trustworthy operator remain separate questions. [4]
Another question is who puts together the proposed next block, including its transactions. That proposal is a block template. Job Declaration lets a client, the miner-side program, coordinate custom work with a participating pool. Template Distribution supplies templates, while Mining Protocol carries mining work and results. These names describe parts of a setup that have to work together. A Stratum V2 label on firmware alone does not tell you whether the miner actually selects transactions in that installation. The enabled and supported components determine that. [5]
The specification also handles rejection: DeclareMiningJob.Error identifies a rejected mining-job declaration. The client is then meant to switch to another pool with a JDS, a Job Declarator Server, or to solo mining as a last resort. Mining alone no longer shares proceeds in the same way as a pool. Switching also requires a working alternative configuration; a protocol’s name cannot ensure continuous operation. The design aims to let miners leave while keeping their chosen template. Whether a particular installation can do that depends on the whole setup. [5]
For the clearest picture, read this entry together with Braiins, Stratum V2, Mining Firmware. The reverse links also lead from Stratum V2.