Schnellstart

Author profile photo
Team Quickex
29. August 2025
~2 Mindestlesezeit

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_token und refresh_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-key aufrufen.

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 whitelistIp angeben.

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-Key
  • X-Api-Timestamp
  • X-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, secretKey speichern, whiteListIp konfigurieren, Anfragen signieren.
  • Für v1: authentifizieren und Cookies verwenden. Für den öffentlichen Ablauf genügen die Methoden /orders/public/create und /orders/public-info.


Diesen Artikel teilen: