insomnia-plugin-kucoin-signing

Heavily based on and inspired by [→ `insomnia_plugin_binance_signing`](https://github.com/matthijssn/insomnia-plugin-bitvavo-signing) by @matthijssn.

Usage no npm install needed!

<script type="module">
  import insomniaPluginKucoinSigning from 'https://cdn.skypack.dev/insomnia-plugin-kucoin-signing';
</script>

README

KuCoin Request Signing for Insomnia

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 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 :).

Usage

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,
  • 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 or create a pull request. 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 for Bitvavo, created by M. Sint Nicolaas.

This, in turn, is based on 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 for CoinBase, created by Andrew Valleteau, and insomnia-plugin-ftx-signing for FTX, created by Diego Muracciole. There might be others!

The icon was created by "KCRSVP" under the Creative Commons Attribution-Share Alike 4.0 International license 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.