Appearance
Performance
Use webhooks instead of polling
Webhooks notify your server when something happens on your accounts, such as a deposit being credited or a withdrawal changing status. Polling for the same information uses up your rate limits and finds changes later. Deliveries can arrive more than once and out of order, so treat a webhook as a signal and read the current state from the API before acting on anything important.
Caching
Some GET responses are cached, and say for how long in a Cache-Control header, for example Cache-Control: max-age=30,public. Requesting them more often returns the same data.
| Responses | Cached for up to |
|---|---|
| Public market summaries and price buckets | 5 seconds |
| Public currencies and currency pairs | 60 seconds |
| Banks you can link for a currency | 10 minutes |
Keep your clock and connections in good shape
- Signed requests are rejected if their timestamp is too old. Keep your server's clock synchronised, and compare it with
GET /v1/public/timeif requests fail with a timestamp error. - Reuse HTTPS connections rather than opening a new one for each request.