Если биткоины можно только передавать, то откуда они взялись изначально? Короткий ответ: их «добыли» (''намайнили'' от ''mine'' — добывать).
Чтобы понять суть добычи биткоинов, нужно обратиться к способу организации сети. Все когда-либо совершенные передачи биткоинов хранятся в виде «блоков» на жестком диске каждого участника сети. Блок включает в себя транзакции, совершенные в течение примерно 10 минут. Транзакции, совершаемые пользователями, отправляются остальным участникам сети. Серверы собирают транзакции в растущий блок. Сервер, сумевший добавить блок в историю, получает вознаграждение в виде определенного количества монеток. Это вознаграждение оформляется как особая транзакция в этом же самом блоке.
Как определяется, какой сервер станет «родителем» нового блока? Можно было бы предположить, что тот, который раньше других поймал момент, когда пройдет 10 минут с предыдущего добавления. Но надежного способа организовать такое не найдено, поэтому пошли другим путем: каждый сервер, желающий создать блок, трудится над очень сложной вычислительной задачей, сложность которой подбирается самой сетью так, чтобы в среднем решение находилось 1 раз в 10 минут. Если число добывающих увеличивается, задача усложняется. Следовательно, у каждого участника понижается шанс её решить за 10 минут (среднее время решения).
Задача заключается в подборе открытого текста, включающего блок, такого, чтобы применение к нему [[хеш-функция|хеш-функции]] давало число, меньшее заданного порога. Чем ниже этот порог, тем больше времени займет такой перебор. Решение такой задачи на {{Acronym|GPU|Графический процессор}} оказывается более эффективным, чем решение на CPU. Этот факт подтолкнул разработчиков программ для GPU, а возможно и самих GPU. В результате оказалось, что видеокарты ATI гораздо лучше оптимизированы для выполнения данной операции. Редкий случай, когда [[холивар]] ATI против NVIDIA выявил явного победителя.
[[Файл:Total bitcoins over time.png|thumb|Количество биткоинов с течением времени]]
Количество монет, которое получает сервер, добавивший блок в общую историю, уменьшается с течением времени. Так, с 2009 года до декабря 2012 года сумма вознаграждения составляла 50 BTC (по курсу на февраль 2013 года 1 BTC ≈ 1000 рублей). Затем это число снизилось до 25 BTC. Задумано, чтобы общее количество биткоинов стремилось к 21 миллиону. Когда количество добытых биткоинов переваливает через половину, награда уменьшается в 2 раза. Когда их количество дойдет до 75%, награда ещё в 2 раза упадет и так далее. Получаем функцию, асимптотически стремящуюся к 21 миллиону.
В кошельке монетки могут появиться только в результате транзакции (добыча — особый вид транзакции, в которой монетки переводятся из ниоткуда). Поэтому можно сказать, что монетки в моем бумажнике — это транзакции, переводящие деньги на мои кошельки, которые я сам ещё не использовал на другие транзакции<ref>Если мне пришло 10 BTC, а я хочу кому-то передать 5 BTC, то совершается транзакция, поглощающая все 10 BTC и переводящая 5 BTC кому-то, а оставшиеся 5 BTC обратно мне.</ref>. В этом месте встает вопрос: как не дать использовать одну и ту же монетку дважды. Как раз для этого и придумана система группировки транзакций в блоки. Как только блок утверждается и принимается большинством серверов сети, все его транзакции становятся подтвержденными, любой пользователь может с ними ознакомиться, поэтому использовать второй раз монетки, если информация о первом использовании уже есть в блоке, принятом сетью, не выйдет — такую транзакцию не примет ни один сервер.
Жульничество с многократным использованием монеток остается зажатым в рамках 10 минут. В таком случае сеть примет только одну из конфликтующих транзакций. Это означает, что остальные, кому жулик успел за 10 минут втереть ту же монетку, останутся с носом. Поэтому при серьезных сделках всегда ждут, пока транзакция будет подтверждена многими серверами сети. Через 6 блоков (1 час) транзакция считается подтвержденной без разумных оснований для сомнения.
Единственным способом возникновения новых монеток является их добыча. Но есть ещё один способ заработка сервера: в каждой транзакции можно указать комиссию, которая отходит серверу, проводящему эту транзакцию. Комиссия не является обязательной, но она стимулирует сервер ускорить обработку транзакции и способствовать подтверждению её сетью.