Schnellstart
API V1
Authentifizierung
Für den Zugriff auf die API V1 wird ein JWT-Token verwendet, das auf zwei Arten erhalten werden kann:
Ein JWT-Token über die Methode /api/v1/users/local/authenticate erhalten.
Beispielanfrage:
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"
}'
Das Flag -i zeigt die Antwort-Header, in denen Set-Cookie: access_token und Set-Cookie: refresh_token erscheinen. Erwartete Serverantwort:
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
Erwartete Antwort ohne das Flag -i:
Ok
Sie können browserFingerprint auf einen beliebigen eindeutigen Wert mit mindestens 12 Zeichen setzen.
Über die Quickex-Website
- Melden Sie sich wie gewohnt bei quickex.io an (E-Mail + Passwort).
- In den DevTools (Application → Cookies) finden Sie die Cookies
access_tokenundrefresh_token.
Erste Anfrage
Beispielanfrage mit 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
}'
Beispielantwort:
{"apiId":186,"name":"MyApiKey","isActive":true,...}
API V2
Schlüssel erhalten
Um mit der Quickex API v2 zu arbeiten, benötigen Sie ein Schlüsselpaar: publicKey und secretKey. Diese können auf zwei Arten erhalten werden:
- Über Ihr Konto auf der Website im Bereich „API-Schlüssel“.
- Über die API v1, indem Sie nach der Authentifizierung die Methode
/api/v1/users/generate-api-keyaufrufen.
Option 1. Über Ihr Konto
- Melden Sie sich bei Ihrem Konto auf quickex.io an.
- Gehen Sie zur Profilseite → Bereich „API-Schlüssel“.
- Erstellen Sie einen neuen Schlüssel, indem Sie einen Namen und (optional) eine Liste von IPs in
whitelistIpangeben.
Option 2. Über die 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
}'
Beispielantwort:
{"apiId":165,"name":"MyApiKey","isActive":false,...}
Wichtig: secretKey wird nur einmal angezeigt. Speichern Sie ihn an einem sicheren Ort.
WhiteListIP einrichten (optional)
Geben Sie beim Erstellen des Schlüssels die Liste der vertrauenswürdigen IPs in whiteListIp an.
Anfragen signieren
Jede Anfrage muss die folgenden Header enthalten:
X-Api-Public-KeyX-Api-TimestampX-Api-Signature
Signature = Base64(HMAC_SHA256(timestamp + body + publicKey, secretKey))
Beispiel zur Signaturerstellung in Python:
import hmac, hashlib, base64, json, time
public_key = "YOUR_PUBLIC_KEY"
secret_key = "YOUR_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)
Erste Anfrage
Beispiel für Adressvalidierung:
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"
}'
Antwort:
true
Integrations-Checkliste
- Für v2: Schlüssel erstellen,
secretKeyspeichern,whiteListIpkonfigurieren, Anfragen signieren. - Für v1: authentifizieren und Cookies verwenden. Für den öffentlichen Ablauf genügen die Methoden
/orders/public/createund/orders/public-info.