Как обезопасить bitcoin кошелек на сервере?
С одним из наших партнеров у нас была такая задача: необходимо было сделать хранение как фиата, так и крипты. Когда ставится задача что-то обезопасить, важно правильно сформулировать threat model: от каких именно действий и проникновений должна быть защита и уже на основе этого проектировать архитектуру.

Например, в случае ответа Dark_Scorpion, threat model можно коротко сформулировать следующим образом:
1. Злоумышленник получил доступ к виртуалке с API.
2. Злоумышленник получил доступ к виртуалке с bitcoind и ключами и ко всем ключам.

Дальше думаем как уменьшить негативный эффект в каждом из случаев.

1 случай. Злоумышленник теперь может подписывать запросы самостоятельно. Решением может быть, например, multisig, где часть ключа хранится у пользователя, а часть у сервера. Таким образом, злоумышленник уже не сможет эти запросы подписывать. Но тут важно еще понимать в какой юрисдикции будет находится продукт, т.к. есть юридические нюансы. Мы с ними сталкивались. Другим решением может быть возможность принудительного отключения виртуалки с bitcoind каким-то простым способом: даунтайм лучше потерянных денег.

2 случай. Тут уже ничего не поделаешь. Однако, есть продукты вроде https://www.thalesgroup.com/en, которые предоставляют железку, которая безопасно хранит ключи и которая считается невзламываемой. При этом, ключи доступны до тех пор, пока физическая (или виртуальная) карта вставлена в кардридер. Таким образом, если система была скомпрометирована, то достаточно будет вытащить карту. Есть и другие продукты, более бюджетные.

Помимо защиты ключей, можно дополнить защиту еще двухфакторной аутентификацией и третьей стороной, которая также может подписывать транзкцию.

С точки зрения архитектуры как-то так, удачи в реализации )

С уважением, 
Иван Томилов
CEO of Athanor
По идеи максимальные ограничения по безопасности с хранением ключа только в защищенной памяти.
Если заморачиватся, то вообще сделать отдельный сервер для подписи запросов/транзакций. Получается даже если основной сервер ломанут, то получать одно только API  с одним запросом на подпись. Часть денег получится вывести у них, но ключи останутся нетронутыми