insomnia-plugin-kucoin-signing
Version:
Heavily based on and inspired by [→ `insomnia_plugin_binance_signing`](https://github.com/matthijssn/insomnia-plugin-bitvavo-signing) by @matthijssn.
64 lines (39 loc) • 3.51 kB
Markdown
**This plugin allows for easy communication with the KuCoin cryptocurrency exchange API.**
All private KuCoin API calls require requests to be signed in a specific way. See [KuCoin's API documentation](https://docs.kucoin.com/?lang=en_US#authentication) for detailed information, if you're curious. Currently, Insomnia doesn't support this out of the box (to my knowledge). That's where this plugin comes in :).
First, set up API access by going to https://www.kucoin.com/account/api (also see the aforementioned documentation).
Afterwards, simply add the following variables to your environment:
* `kucoin_api_key` – Your API key
* `kucoin_api_secret` – Your API secret
* `kucoin_api_passphrase` – Your API passphrase
As an example (substitute your own values, of course):
```
{
"kucoin_api_key": "260b52d1a4c8713db6025160",
"kucoin_api_secret": "2142051e-5bda-4d4e-a3c6-a82395c66f80",
"kucoin_api_passphrase": "CorrectHorseBatteryStaple"
}
```
All requests will then include the following headers (as required by the API), containing appropriate values determined by the plugin:
* `KC-API-KEY`
* `KC-API-SIGN`
* `KC-API-TIMESTAMP`
* `KC-API-PASSPHRASE`
* `KC-API-KEY-VERSION`
This plugin checks all outgoing requests to see if
* the request has valid a context and URL,
* the request is going to [https://api.kucoin.com](https://api.kucoin.com),
* the required environment variables (see above) are set.
## Disclaimer
This plugin comes with **absolutely no warranty**! It might set your PC on fire and/or gobble up your pets! It does what it should _for me_ (no burning PCs, no gobbled up pets), but no promises :).
💎🙌🚀🌕. Not financial advice, mind you.
## Development
If something goes wrong, you should hopefully be provided with a (moderately) helpful message. Be sure to check the Developer Tools console, too!
I've not yet messed with any `POST` or `DELETE` requests, so there might be dragons.
Beyond that, feel free to open up an [issue on GitHub](https://github.com/a4ff7810/insomnia-plugin-kucoin-signing/issues) or create a [pull request](https://github.com/a4ff7810/insomnia-plugin-kucoin-signing/pulls). I'll try and keep an eye on those.
## Attribution & Other Exchanges
This plugin is heavily based on and inspired by [`insomnia-plugin-bitvavo-signing`](https://github.com/matthijssn/insomnia-plugin-bitvavo-signing) for Bitvavo, created by M. Sint Nicolaas.
This, in turn, is based on [`insomnia-plugin-binance-signing`](https://github.com/anson-vandoren/insomnia-plugin-binance-signing) for Binance, created by Anson VanDoren. Also check out the accompanying blog post: https://ansonvandoren.com/posts/hmac-signing-insomnia/.
Additionally, there's [`insomnia-plugin-coinbase-apikey-auth`](https://github.com/avallete/insomnia-plugin-coinbase-apikey-auth) for CoinBase, created by Andrew Valleteau, and [`insomnia-plugin-ftx-signing`](https://insomnia.rest/plugins/insomnia-plugin-ftx-signing) for FTX, created by Diego Muracciole. There might be others!
The icon was created by "KCRSVP" under the [Creative Commons](https://en.wikipedia.org/wiki/en:Creative_Commons) [Attribution-Share Alike 4.0 International license](https://creativecommons.org/licenses/by-sa/4.0/deed.en) and uploaded to Wikimedia Commons: https://commons.wikimedia.org/wiki/File:KuCoin-logo.png. I merely cropped it. It thus falls under the same license.