krijnsent / crypto_vba

An Excel/VBA project to communicate with various cryptocurrency exchanges APIs
MIT License
155 stars 54 forks source link
binance bitcoin bitfinex bittrex bitvavo btc coinbase coinbasepro coinone crypto-vba cryptocurrencies cryptocurrency-exchanges-apis ethereum exchange hitbtc kraken kucoin poloniex vba

crypto_vba

An Excel/VBA project to communicate with various cryptocurrency exchanges APIs. Tested on Windows 10 & Excel 365, but should work for Excel 2007+. Note: project is on hold - I'm working on other things and don't have the time & energy to jump through all the KYC hoops of exchanges to keep my accounts and test my code.

Exchanges:

Get information from/send information to:

Most API messages/responses are pure JSON, for which I included https://github.com/VBA-tools/VBA-JSON to process and a function to build on that. As excel/VBA development is not very compatible with GIT, my pushes/forks/updates might be clunky. Please consider the code I provide as simple building blocks: if you want to build a project based on this code, you will have to know (some) VBA. There are plenty of courses available online, two simple ones I send starters to are: https://www.excel-pratique.com/en/ and https://homeandlearn.org/.

How to use?

Import the .bas files you need or simply take the sample Excel file. In the modules you'll find some examples how to use the code. Feel free to create an issue if things don't work for you. The project uses quite some Dictionaries in VBA, check out e.g. https://excelmacromastery.com/vba-dictionary/ if you want to know a bit more about them. You do need some references in your VBA editor (already set up in the example file):

And you do need .NET 3.5 or greater on your system, as it's used by the hashing algorithms (System.Security.Cryptography)

Virus warnings

From 2021 several issues have been filed that my example file (the xlsm file) triggers a virus warning, e.g. issue #67 & #73. I have no idea what triggers this (I didn't put any virus in) and have no idea how to solve it, suggestions are very welcome. A solution if you want to use the code is to import the .bas modules & setting up the right references yourself. An alternative:

ToDo

Done

Donate

If this project/the Excel saves you a lot of programming time, consider sending me a coffee or a beer:
BTC: 1DNFF9y3dDMLNURpgdT3wXmFpmGBsQRyPa
ETH (or ERC-20 tokens): 0x9070C5D93ADb58B8cc0b281051710CB67a40C72B
Stellar: GCRCMHEXS4BHZQSCH4O4LHT24ZK2GTKOHML5KZ6HS5E3GV5RPVBDGDGB Cheers!