January 4, 2024
Does Kraken have an API?
Yes, Kraken does have an API that offers access to public market data and private account information, including trading and funding options. However, an alternative to using Kraken's public API is to use Mesh, which has built integration with Kraken along with 300+ other digital assets. This allows developers to build products that provide access to various cryptocurrencies, all from within the Mesh platform.
About Kraken
Founded in 2011 by Jesse Powell, Kraken is a cryptocurrency exchange based in San Francisco, California. The platform allows users to buy, sell, and trade over 200 cryptocurrencies, with a mission to accelerate the adoption of cryptocurrency for financial freedom and inclusion. Kraken has grown to serve over 7 million clients and employs between 1,001 and 5,000 people. In addition to spot and futures trading, Kraken offers staking, advanced trading through Kraken Pro, and a mobile app for convenient access to the platform.
General usage
The Kraken offers several functionalities with their REST API:
- REST API: Kraken's REST API offers comprehensive functionalities including market data retrieval, account and trade management, funding operations, subaccount features, and staking capabilities, catering to a wide range of trading and investment needs.
Rate Limits
Kraken REST API’s rate limits are:
- REST API Rate Limits:
- Starter Tier: Max API Counter 15, Decay -0.33/sec
- Intermediate Tier: Max API Counter 20, Decay -0.5/sec
- Pro Tier: Max API Counter 20, Decay -1/sec
- Ledger/trade history calls increase counter by 2, other calls by 1
- Matching Engine Rate Limits:
- Starter Tier: Max Num Orders 60, Max Ratecount 60, Decay -1/sec
- Intermediate Tier: Max Num Orders 80, Max Ratecount 125, Decay -2.34/sec
- Pro Tier: Max Num Orders 225, Max Ratecount 180, Decay -3.75/sec
- Penalties for order placements/cancellations vary based on order lifetime
Authentication
This is how you authenticate your Kraken API:
- Generate an API key via the Kraken website, and note down the key and secret.
- Choose the appropriate permissions for your API key based on your needs.
- Include the API-Key and API-Sign headers in your REST requests.
- Create a nonce as an always increasing, unsigned 64-bit integer for each request made with a particular API key. A common method for generating a valid nonce is to use a UNIX timestamp in milliseconds.
- Create the API-Sign header by generating an HMAC-SHA512 of the URI path and SHA256(nonce + POST data), using the base64-decoded secret API key. Base64-encode the resulting signature and include it in the API-Sign header.
Errors
Here are the common errors for Kraken API:
- EGeneral: Invalid arguments - Check if the request payload is malformed, incorrect, or ambiguous.
- EService: Unavailable - Ensure that the matching engine or API is online and not in cancel_only or post_only mode.
- EAPI: Invalid key - Verify that the API key is valid and correctly supplied in the request headers. Make sure the API key has the necessary permissions for the requested action.
Recent changes
Here are four of the most recent changes to Kraken API:
- Dec 2023: Added support for trailing-stop and trailing-stop-limit order types. If you encounter issues with these new order types, ensure that your application is using the correct syntax and parameters.
- Nov 2023: Added WithdrawMethods and WithdrawAddresses endpoints, and start, end, cursor, and limit parameters to WithdrawStatus. To troubleshoot issues with these new endpoints and parameters, double-check your request formatting and ensure you're using the correct endpoint URLs and parameter names.
- Oct 2023: Added max_fee parameter to Withdraw and minimum field in response for DepositMethods. If you experience issues with these new parameters and fields, verify that your application is using the correct parameter names and handling the new response fields correctly.
- Sep 2023: Added start, end, cursor, and limit parameters to DepositStatus. To resolve issues with these new parameters, ensure your application is using the correct parameter names and values, and that your requests are formatted correctly.
- Aug 2023: Added Earn service documentation. If you encounter issues with the new Earn service, consult Kraken API.
An alternative to the Kraken API
Mesh is a great pick over KuCoin's API, especially for developers and companies who want an easy and all-in-one experience with cryptocurrency dealings. Below are the main features of Mesh's API:
- Ease of use: Mesh simplifies the process of funding wallets with external assets, providing an embedded, guided asset deposit experience that keeps customers within your app.
- Extensive connectivity: With a single integration, Mesh connects to over 300 brokerages, centralized exchanges, and self-custody wallets, offering a broad range of options for your customers.
Start with Mesh today and experience the ease and efficiency of their cutting-edge platform in your digital asset endeavors.