Home

Awesome

KeepKey.Net

Cross Platform C# Library for the KeepKey Cryptocurrency Hardwarewallet

Would you like to contribute?

Quick Start

All KeepKey messages are in the KeepKey.Net.Contracts namespace. To implement them, you need to call SendMessageAsync

NuGet: Install-Package KeepKey.Net

Example:

private static async Task<string> GetAddressAsync(uint coinNumber, bool isChange, uint index, bool display, bool isPublicKey = false, bool isLegacy = true)
{
    WindowsUsbDeviceFactory.Register();
    WindowsHidDeviceFactory.Register();
    var keepKeyManagerBroker = new KeepKeyManagerBroker(GetPin, GetPassphrase, 2000);
    var keepKeyManager = await keepKeyManagerBroker.WaitForFirstTrezorAsync();
    await keepKeyManager.InitializeAsync();
    var coinTable = await keepKeyManager.GetCoinTable();
    keepKeyManager.CoinUtility = new KeepKeyCoinUtility(coinTable);
    var coinInfo = KeepKeyManager.CoinUtility.GetCoinInfo(coinNumber);
    var addressPath = new BIP44AddressPath(!isLegacy && coinInfo.IsSegwit, coinNumber, 0, isChange, index);
    var address = await KeepKeyManager.GetAddressAsync(addressPath, isPublicKey, display);
    return address;
}

Contact

Contribution

The community needs your help! Unit tests, integration tests, more app integrations and bug fixes please! Check out the Issues section.

Donate

All my libraries are open source and free. Your donations will contribute to making sure that these libraries keep up with the latest firmware, functions are implemented, and the quality is maintained.

CoinAddress
Bitcoin33LrG1p81kdzNUHoCnsYGj6EHRprTKWu3U
Ethereum0x7ba0ea9975ac0efb5319886a287dcf5eecd3038e

Based On

LibraryDescription
Trezor.NetTrezor Hardwarewallet Library. KeepKey's and Trezor's protocol are very similar
Hardwarewallets.NetThis library is part of the Hardwarewallets.Net suite. It is aimed toward putting a set of common C# interfaces, and utilities that will work with all hardwarewallets.
Hid.Net, Usb.NetTrezor.Net communicates with the devices via the Hid.Net and Usb.Net libraries. You can see the repo for this library here.

See Also

LibraryDescription
Trezor.NetTrezor Hardwarewallet Library
Ledger.NetLedger Hardwarewallet Library
Ledger .NET APIA similar Ledger library
Ledger Bitcoin AppBitcoin wallet application for Ledger Blue and Nano S
Ledger Ethereum AppEthereum wallet application for Ledger Blue and Nano S

Hardfolio - Store App Production Usage

https://play.google.com/store/apps/details?id=com.Hardfolio (Android)

https://www.microsoft.com/en-au/p/hardfolio/9p8xx70n5d2j (UWP)