C# .NET Core 2.0.0 Exchange Library

I’m sure you know the saying well — “Necessity is the mother of invention.”

2+ years ago my first foray into the world of crypto was via mining Ethereum. Back then I didn’t need exchange APIs or the libraries used to interface with them because well, I wasn’t mining to sell.

However, after taking a break from mining I have recently started again and this time I am exchanging what I’m mining. The problem, though, is that it’s a major pain to log into the exchange of your choice and manually click through all of the steps required to trade your mined currency for something else. It’s even worse if there are no direct trading pairs for the 2 currencies you’re interested in. In which case, you have to trade the mined currency for either ETH or BTC and then trade the ETH or BTC for your desired currency — ugh.

That being said, Bittrex is the only exchange (that I know of) that supports any notion of “auto sell”. Even then, it’s pretty gimped (or is it?) since they will only let you “auto sell” for BTC and nothing else (how convenient).

Bittrex also has a disabled “Labs” feature called “Any 2 Any” which has been tagged as being “retooled” since forever. I’m beginning to doubt they will ever implement it because, why would they? What’s their motivation? All exchanges are currently raking in fees hand over fist while providing minimal support at best, and just plain horrible (i.e. non-existent) support at worst. Granted, Bittrex is one of my favorite exchanges.

Given the desire to reduce and/or fully eliminate the burden of this pesky task of having to log in daily, weekly, or whenever in order to deal with the mining proceeds, I have completed a first pass on a C# .NET Core 2.0.0 library that facilitates the automation of executing trades on Bittrex.

Fair warning — I am not a .NET/C# guru. I’m a low-level C++ programmer of 20+ years. If my C# code looks a lot like C++, now you know why. Regardless, I try to keep things as simple and readable as possible.

Bittrex functionality was added first because they support the 2 currencies that I’m currently dealing with (ZEC and ETH). Over time I plan to add functionality for Poloniex and a handful of other exchanges as the need arises.

In the meantime, feel free to check it out and hopefully some of you other developers/miners will find it useful in terms of automating the exchange of your mining proceeds from one currency to another.