Швидкий старт
API V1
Авторизація
Для доступу до API V1 використовується JWT токен, який можна отримати двома способами:
Отримання JWT-токена через метод /api/v1/users/local/authenticate.
Приклад запиту:
curl -i -X POST "https://quickex.io/api/v1/users/local/authenticate" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "yourPassword",
"browserFingerprint": "UniqueNumbers"
}'
Флаг -i показує заголовки відповіді, де будуть Set-Cookie: access_token та Set-Cookie: refresh_token. Очікувана відповідь сервера:
HTTP/2 201
date: Tue, 19 Aug 2025 12:33:17 GMT
content-type: text/plain; charset=utf-8
content-length: 2
cache-control: no-store, no-cache, must-revalidate, private
pragma: no-cache
session-id: aca467ef-8644-42a5-a166-8dd0e52b8b93
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-cache-status: DYNAMIC
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=iZsdq9Yv4PdbIDn6DzLcuM21w%2FK3GFkDvRb%2Fws9W4WnAi4HEAsKJPuF%2FH1KZN7sE%2FnPJDhEmcT%2FxN8k3uAzd57BiR29gBZ9U8NQ%3D"}]}
server: cloudflare
set-cookie: session_id=aca467ef-8644-42a5-a166-8dd0e52b8b93; Path=/; Max-Age=7200
set-cookie: access_token=...; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=21600
set-cookie: refresh_token=...; HttpOnly; SameSite=Lax; Secure; Path=/; Max-Age=1209600
cf-ray: 9719adb17a671382-ARN
alt-svc: h3=":443"; ma=86400
OK
Очікувана відповідь без флага -i:
Ok
browserFingerprint можна задати будь-яким унікальним значенням довжиною не менше 12 символів.
Через сайт Quickex
- Увійдіть на quickex.io звичайним способом (email + пароль).
- У DevTools (Application → Cookies) знайдіть куки
access_tokenтаrefresh_token.
Перший запит
Приклад запиту з використанням access token:
curl -X POST \
"https://quickex.io/api/v1/users/generate-api-key" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--cookie "access_token={your_access_token}" \
-d '{
"name": "MyApiKey",
"whiteListIp": ["127.0.0.1", "127.0.0.2"],
"isActive": true
}'
Приклад відповіді:
{"apiId":186,"name":"MyApiKey","isActive":true,...}
API V2
Отримання ключів
Для роботи з Quickex API v2 потрібна пара ключів: publicKey та secretKey. Їх можна отримати двома способами:
- Через особистий кабінет на сайті в розділі «API-ключі».
- Через API v1, викликавши метод
/api/v1/users/generate-api-keyпісля авторизації.
Варіант 1. Через особистий кабінет
- Увійдіть в особистий кабінет на сайті quickex.io.
- Перейдіть на сторінку профілю → розділ «API-ключі».
- Створіть новий ключ, вказавши назву та (опціонально) список IP у
whitelistIp.
Варіант 2. Через API V1
curl -X POST \
"https://quickex.io/api/v1/users/generate-api-key" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--cookie "access_token={your_access_token}" \
-d '{
"name": "MyApiKey",
"whiteListIp": ["127.0.0.1", "127.0.0.2"],
"isActive": true
}'
Приклад відповіді:
{"apiId":165,"name":"MyApiKey","isActive":false,...}
Важливо: secretKey відображається лише один раз. Збережіть його у надійному місці.
Налаштування WhiteListIP (опціонально)
Вкажіть список довірених IP у whiteListIp під час створення ключа.
Підписування запитів
Кожен запит повинен містити заголовки:
X-Api-Public-KeyX-Api-TimestampX-Api-Signature
Signature = Base64(HMAC_SHA256(timestamp + body + publicKey, secretKey))
Приклад генерації підпису на Python:
import hmac, hashlib, base64, json, time
public_key = "ВАШ_PUBLIC_KEY"
secret_key = "ВАШ_SECRET_KEY"
timestamp = str(int(time.time() * 1000))
body_dict = {"currencyTitle": "USDT","networkTitle": "TRC20","address": "THU...V"}
body = json.dumps(body_dict, separators=(',', ':'))
message = timestamp + body + public_key
signature = base64.b64encode(
hmac.new(secret_key.encode(), message.encode(), hashlib.sha256).digest()
).decode()
print("X-Api-Timestamp:", timestamp)
print("X-Api-Signature:", signature)
Перший запит
Приклад перевірки адреси:
curl -X POST "https://quickex.io/api/v2/instruments/public/validate-address" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Api-Public-Key: {your_api_key}" \
-H "X-Api-Timestamp: {timestamp}" \
-H "X-Api-Signature: {signature}" \
-d '{
"currencyTitle": "USDT",
"networkTitle": "TRC20",
"address": "THUmkPhry61edcTf79yTioV6292ccsuCjV"
}'
Відповідь:
true
Чекліст інтеграції
- Для v2: створи ключі, збережи
secretKey, налаштуйwhiteListIp, підписуй запити. - Для v1: авторизуйся та використовуй cookies. Для публічного потоку достатньо методів
/orders/public/createта/orders/public-info.