If I want to create a client only, C# desktop application, what are my options for working with Bitcoin?

  • I could try to port BitcoinJ, which seems like a lot of overhead in terms of initial effort and keeping the project up to date.
  • I could try to create a local Bitcoin process which runs a tiny BitcoinJ-based server, and talk to it from C#.

Neither of these seem appealing.

  • I could use the Blockchain API.
  • I could set up my own server and run the wallets on the server.

Neither of these seem appealing either.

Anyone know of an easier way to run a Bitcoin client without a full blockchain using C#? I would ideally like users to retain control over their wallets, with the client code finding incoming payments and facilitating the sending of coins.

  • 1
    Why is it important that it be written in C#? – Nate Eldredge Apr 2 '14 at 12:56
  • 2
    For LoB desktop apps, C#/WPF is the weapon of choice. You would need a reason to deviate from that. Java sucks for desktop apps, C++ is hopelessly unproductive for desktop apps. HTML5+JS might be an option, but that would be a bit limiting. – Avram Apr 3 '14 at 0:41
  • Well, having a bunch of existing code in another language would seem like a pretty good reason to me. But what do I know? – Nate Eldredge Apr 3 '14 at 0:43
  • 1
    Possibly, but it would be a little bit like the tail wagging the dog. – Avram Apr 3 '14 at 0:44
  • @Avram as the author of BitcoinLib (github.com/GeorgeKimionis/BitcoinLib) I was contacted by another C# developer who wants to do exactly the same thing as you, you will find my e-mail in my GitHub profile page so please drop me a line there, I can bring you guys in touch and maybe you could team up and build this thing together. – George Kimionis Apr 8 '14 at 22:25

Have you guys see this recent GitHub? I too have been poking around looking for a standalone library.


I have it downloaded, just trying to fix dependencies so I can compile. Looks promising.

| improve this answer | |

NBitcoin supports connection to the bitcoin network.

NBitcoin Github : https://github.com/NicolasDorier/NBitcoin

NBitcoin Nuget : https://www.nuget.org/packages/NBitcoin/

Intro : http://www.codeproject.com/Articles/768412/NBitcoin-The-most-complete-Bitcoin-port-Part-Crypt

Stealth Payment, and BIP38 : http://www.codeproject.com/Articles/775226/NBitcoin-Cryptography-Part

How to build transaction : http://www.codeproject.com/Articles/835098/NBitcoin-Build-Them-All

Using the NBitcoin Indexer : http://www.codeproject.com/Articles/819567/NBitcoin-Indexer-A-scalable-and-fault-tolerant-blo

How to Scan the blockchain : http://www.codeproject.com/Articles/784519/NBitcoin-How-to-scan-the-Blockchain (You can ignore the ScanState part)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.