The Cryptowatch trading interface throws a variety of errors when things go wrong. Usually it's our fault, but sometimes it's the exchange's fault, or even your fault!

This document breaks down each error and what it means.

Internal Errors

Internal errors usually mean it's our fault, or perhaps it's the exchange's fault. It's definitely not your fault.

800: No response from API

What it means: We're failing to get a response from the exchange's API. This usually gets resolved with time.

What you can do: Wait and try again.

801: Network problem

What it means: Similar to 800, our network request to the exchange's API failed.

What you can do: Wait and try again.

802: Unauthenticated request

What it means: The exchange's API returned an authentication error, perhaps because your API keys are invalid.

What you can do: Import a fresh API.

803: Request was rate limited

What it means: The exchange's API has rate limited our request. This should rarely happen and we closely monitor its occurrence.

What you can do: Wait and try again.

804: API key lacking necessary privileges

What it means: Your API key does not have the privileges needed to trade with it.

What you can do: Generate a fresh API key with permissions to view & place orders (withdrawal permissions not needed). Every exchange has a different interface for choosing privileges when generating an API key.

805: API key invalid

What it means: Your API key is being rejected by the exchange's API.

What you can do: Generate a fresh API key with permissions to view & place orders (withdrawal permissions not needed).

806: Invalid nonce

What it means: The exchange's API rejected our request because the nonce was too small.

What you can do: Try again. If it happens repeatedly, make sure you're not using the same API key somewhere else. If you are, please generate a fresh API key for use only by Cryptowatch (this is good practice in general).

807: Invalid passphrase

What it means: The exchange's API rejected our request because the passphrase associated with your API key is wrong. This error is specific to GDAX.

What you can do: Generate a fresh API key with permissions to view & place orders (withdrawal permissions not needed) and make sure to input the key passphrase correctly.

808: Timeout

What it means: The interface timed out resolving the request (no response for 60 seconds).

What you can do: Timeouts are usually caused by high load on the exchange so it's likely your request did eventually succeed. Please verify if it did. If it did not, wait and try again. If it happens repeatedly, please contact support.

809: Exchange API is unavailable

What it means: The exchange's API is down. This rarely happens.

What you can do: Wait and try again.

810: Invalid anonymous session

What it means: The anonymous session has expired. This error is specific to trade.kraken.com.

What you can do: Re-authenticate via kraken.com.

820: Internal error

What it means: Our service failed for an unpredictable reason, for example the response from the exchange's API was garbled.

What you can do: Wait and try again. If it happens repeatedly, please contact support.

821: Unknown error

What it means: This is a catch-all error for when the exchange's API returns an error but our system doesn't understand what it means.

What you can do: Wait and try again. If it happens repeatedly, please contact support.

User Errors

In this case, it might be your fault.

900: Not enough balance

What it means: The exchange's API rejected your order because you don't have enough balance to cover it.

What you can do: Reduce the order amount.

901: Order id is invalid

What it means: The exchange's API rejected your request because it was dealing with an order that, according to them, doesn't exist.

What you can do: If you were trying to cancel an order, it's possible it has already been filled or canceled. If you can't figure out why you got this error, please contact support.

902: Order amount is too small

What it means: The exchange's API rejected your order because its amount is too small.

What you can do: Increase the order amount.

903: Cannot open position

What it means: The exchange's API rejected your margin order.

What you can do: Reduce the order amount. If you can't figure out why you got this error, please contact support.

904: Margin allowance exceeded

What it means: The exchange's API rejected your margin order.

What you can do: Reduce the order amount. If you can't figure out why you got this error, please contact support.

905: Insufficient margin

What it means: The exchange does not have sufficient funds to allow margin trading.

What you can do: Reduce the order amount, or wait and try again later.

906: Too many open orders

What it means: The exchange's API rejected your order because you have too many open orders.

What you can do: Cancel some orders, or wait for them to fill.

907: Too many open positions

What it means: The exchange's API rejected your margin order because you have too many open positions.

What you can do: Close some positions.

908: Invalid position

What it means: The exchange's API rejected your request because it was dealing with a position that, according to them, doesn't exist.

What you can do: Re-sync the interface to see if the position has already been closed. If you can't figure out why you got this error, please contact support.

909: Invalid arguments

What it means: The exchange's API rejected your request because the request parameters were invalid.

What you can do: It's possible this was caused by a bug in our trading backend. If you can't figure out why you got this error, please contact support.

910: Invalid price parameter

What it means: The exchange's API rejected your request because the price parameter was invalid.

What you can do: It's possible this was caused by a bug in our trading backend. If you can't figure out why you got this error, please contact support.

911: Invalid amount parameter

What it means: The exchange's API rejected your request because the amount parameter was invalid.

What you can do: It's possible this was caused by a bug in our trading backend. If you can't figure out why you got this error, please contact support.

912: Price parameter is too precise

What it means: The exchange's API rejected your request because the price parameter was too precise.

What you can do: Try using fewer decimal places.

913: Order price is too low/high

What it means: The exchange's API rejected your request because the price parameter was too low or too high.

What you can do: Try adjusting your price amount.

914: Order size is too low/high

What it means: The exchange's API rejected your request because the amount parameter was too low or too high.

What you can do: Try adjusting your order amount.