Kein KYC — kein Ausweis, kein Selfie, keine Dokumente
Sprache: Deutsch
1 GB wählen

API-Referenz

Krypto-Aufladungen

Lade Guthaben mit Krypto auf: Rufe Einzahlungsadresse und exakten Betrag ab, sende genau diesen Betrag, melde die Zahlung als gesendet (Transaktions-ID optional) und verfolge die Aufladung bis zur Gutschrift. Das Guthaben bezahlt jeden unserer Tarife.

Zuletzt aktualisiert: · 7 Min. Lesezeit

Endpunkte auf dieser Seite

  • GET /v1/catalog/coins: Akzeptierte Kryptowährungen und Netzwerke (mit ihrer festen Einzahlungsadresse)
  • POST /v1/topups: Krypto-Aufladung des Guthabens starten (feste Adresse, exakter Betrag)
  • POST /v1/topups/{topUpId}/txid: Zahlung als gesendet melden (TXID optional)
  • GET /v1/topups/{topUpId}: Aufladung abrufen (aktuellen Status abfragen)
  • GET /v1/topups: Krypto-Aufladungen auflisten

Basis-URL https://africaproxies.com/api/v1. Authentifizierung, Fehler und Limits: siehe API-Übersicht.

Akzeptierte Kryptowährungen und Netzwerke (mit ihrer festen Einzahlungsadresse)

GET/v1/catalog/coins

Öffentlich: kein API-Schlüssel erforderlich.

Antwort 200 OK

{
  "data": [
    {
      "code": "BTC",
      "name": "Bitcoin",
      "networks": [
        {
          "id": "bitcoin",
          "name": "Bitcoin",
          "confirmationsRequired": 2,
          "estimatedMinutes": null,
          "memoRequired": false,
          "address": "DEPOSIT_ADDRESS"
        }
      ]
    }
  ]
}

Code-Beispiele

curl
curl -s "https://africaproxies.com/api/v1/catalog/coins"
Python
import os
import requests

API = "https://africaproxies.com/api/v1"

r = requests.get(f"{API}/catalog/coins", timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';

const res = await fetch(`${API}/catalog/coins`);
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

Krypto-Aufladung des Guthabens starten (feste Adresse, exakter Betrag)

POST/v1/topups

  • amountUsd ≥ 25.00 USD und ≤ Höchstbetrag (standardmäßig 10,000.00), andernfalls 422 bei amountUsd.
  • coin + network müssen aus GET /v1/catalog/coins stammen (andernfalls 409 coin_unavailable).
  • Gibt die feste address des Netzwerks und den exakten Betrag amountCrypto = amountUsd / rate zurück, auf die Genauigkeit der Kryptowährung aufgerundet (BTC/LTC/ETH/SOL: 8 Nachkommastellen, USDT/USDC: 6), zuzüglich eines kleinen eindeutigen Versatzes in den letzten Stellen, damit keine zwei offenen Aufladungen desselben Netzwerks denselben Betrag verlangen. rate bleibt bis expiresAt festgeschrieben (30 Minuten); txidDeadline = expiresAt + 72 h.
  • Optionales purchase (gleicher Body wie POST /v1/orders): wird jetzt validiert und bepreist (422 mit Feldnamen mit Präfix purchase., 409 plan_unavailable…). amountUsd muss den Gesamtbetrag von purchase minus aktuellem Guthaben abdecken (422 too_small bei amountUsd). Sobald die Aufladung gutgeschrieben wird, erfolgt die Bestellung mit dem Guthaben in derselben Transaktion; purchase.status wird completed (mit orderId) oder failed (failureReason; das Geld bleibt als Guthaben).

Authentifizierung: API Schlüssel im Authorization: Bearer API_KEY Header.

Parameter

NameInTypErforderlichBeschreibung
Idempotency-KeyheaderstringNeinEindeutiger Schlüssel (z. B. eine UUID) zum sicheren Wiederholen eines POST. 24 h gespeichert. — max. 128 Zeichen

Anfragekörper

FeldTypErforderlichBeschreibung
amountUsdstring (USD, 2 decimals)JaAufzuladende USD: standardmäßig ≥ 25.00, ≤ 10,000.00.
coinstringJa—
networkstringJa—
purchaseobjectNeinMit Guthaben zu kaufender Tarif, sobald die Aufladung gutgeschrieben wird (gleicher Body wie POST /v1/orders).
Beispiel: Guthaben
{
  "amountUsd": "50.00",
  "coin": "USDT",
  "network": "tron"
}
Beispiel: Kasse
{
  "amountUsd": "25.00",
  "coin": "BTC",
  "network": "bitcoin",
  "purchase": {
    "planId": "res-10",
    "quantity": 1
  }
}

Antwort 201 Created

{
  "id": "top_7d2kq9x1",
  "status": "verifying",
  "final": false,
  "amountUsd": "25.00",
  "coin": "USDT",
  "network": "tron",
  "address": "DEPOSIT_ADDRESS",
  "amountCrypto": "25.000137",
  "rate": "1.00",
  "paymentUri": "PAYMENT_URI",
  "expiresAt": "2026-10-05T14:33:11Z",
  "txidDeadline": "2026-10-08T14:33:11Z",
  "confirmationsRequired": 20,
  "confirmations": 7,
  "txid": "9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "txidSubmittedAt": "2026-10-05T14:09:42Z",
  "amountReceivedCrypto": "25.000137",
  "explorerUrl": "https://tronscan.org/#/transaction/9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "creditedUsd": null,
  "creditedAt": null,
  "rejection": null,
  "purchase": {
    "planId": "res-10",
    "planName": "Team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "5.94",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Code-Beispiele

curl
curl -s -X POST "https://africaproxies.com/api/v1/topups" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"amountUsd":"50.00","coin":"USDT","network":"tron"}'
Python
import os, uuid
import requests

API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}", "Idempotency-Key": str(uuid.uuid4())}

r = requests.post(f"{API}/topups", headers=HEADERS, json={"amountUsd": "50.00", "coin": "USDT", "network": "tron"}, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
import { randomUUID } from 'node:crypto';

const API = 'https://africaproxies.com/api/v1';

const res = await fetch(`${API}/topups`, {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Idempotency-Key': randomUUID(), 'Content-Type': 'application/json' },
  body: JSON.stringify({ amountUsd: '50.00', coin: 'USDT', network: 'tron' }),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

Zahlung als gesendet melden (TXID optional)

POST/v1/topups/{topUpId}/txid

Melde die Zahlung als gesendet, sobald sie deine Wallet oder Börse verlassen hat: Das ist die API-Version der Schaltfläche „Ich habe die Zahlung gesendet“. Die Transaktions-ID (TXID) ist optional: Sende einen leeren Body ({}), oder ergänze txid, wenn du sie hast. Die Zahlung wird dieser Aufladung anhand des exakten Betrags (amountCrypto) im Netzwerk und an der Adresse der Aufladung zugeordnet. Sende deshalb genau diesen Betrag.

Akzeptiert, solange die Aufladung awaiting_payment, expired oder rejected ist und bevor txidDeadline erreicht ist (expiresAt + 72 h): Eine verspätete Meldung führt nie zum Verlust einer Zahlung. Ein angegebenes txid wird auf das Netzwerkformat geprüft (422 bei txid) und darf keiner anderen Aufladung zugeordnet sein (409 txid_already_used). Eine geschlossene Aufladung gibt 409 topup_closed zurück. Danach ist die Aufladung verifying, während die Zahlung auf der Blockchain geprüft wird. Nach Bestätigung der Transaktion durch das Netzwerk endet sie als credited oder als rejected (mit rejection).

Authentifizierung: API Schlüssel im Authorization: Bearer API_KEY Header.

Parameter

NameInTypErforderlichBeschreibung
topUpIdpathstringJa—

Anfragekörper

FeldTypErforderlichBeschreibung
txidstringNeinOptional. Transaktionshash: 64 Hex-Zeichen (bitcoin, litecoin, tron), 0x + 64 Hex-Zeichen (ethereum), base58-Signatur (solana). Leer oder nicht angegeben: Die Zahlung wird anhand ihres exakten Betrags zugeordnet. — max. 128 Zeichen
Beispiel: Zahlung gesendet
{}
Beispiel: Mit TXID (optional)
{
  "txid": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
}

Antwort 200 OK

{
  "id": "top_7d2kq9x1",
  "status": "verifying",
  "final": false,
  "amountUsd": "25.00",
  "coin": "USDT",
  "network": "tron",
  "address": "DEPOSIT_ADDRESS",
  "amountCrypto": "25.000137",
  "rate": "1.00",
  "paymentUri": "PAYMENT_URI",
  "expiresAt": "2026-10-05T14:33:11Z",
  "txidDeadline": "2026-10-08T14:33:11Z",
  "confirmationsRequired": 20,
  "confirmations": 7,
  "txid": "9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "txidSubmittedAt": "2026-10-05T14:09:42Z",
  "amountReceivedCrypto": "25.000137",
  "explorerUrl": "https://tronscan.org/#/transaction/9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "creditedUsd": null,
  "creditedAt": null,
  "rejection": null,
  "purchase": {
    "planId": "res-10",
    "planName": "Team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "5.94",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Code-Beispiele

curl
curl -s -X POST "https://africaproxies.com/api/v1/topups/top_7d2kq9x1/txid" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
Python
import os
import requests

API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.post(f"{API}/topups/top_7d2kq9x1/txid", headers=HEADERS, json={}, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';

const res = await fetch(`${API}/topups/top_7d2kq9x1/txid`, {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({}),
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

Aufladung abrufen (aktuellen Status abfragen)

GET/v1/topups/{topUpId}

Frage diese Route ab, um eine Aufladung zu verfolgen: alle 10 s bei status = verifying, alle 30 s während des Wartens auf die Zahlung; stoppe bei final = true. Eine Aufladung wird expired, wenn die Zahlung nicht vor expiresAt als gesendet gemeldet wurde; sie kann noch bis txidDeadline gemeldet werden.

Authentifizierung: API Schlüssel im Authorization: Bearer API_KEY Header.

Parameter

NameInTypErforderlichBeschreibung
topUpIdpathstringJa—

Antwort 200 OK

{
  "id": "top_7d2kq9x1",
  "status": "verifying",
  "final": false,
  "amountUsd": "25.00",
  "coin": "USDT",
  "network": "tron",
  "address": "DEPOSIT_ADDRESS",
  "amountCrypto": "25.000137",
  "rate": "1.00",
  "paymentUri": "PAYMENT_URI",
  "expiresAt": "2026-10-05T14:33:11Z",
  "txidDeadline": "2026-10-08T14:33:11Z",
  "confirmationsRequired": 20,
  "confirmations": 7,
  "txid": "9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "txidSubmittedAt": "2026-10-05T14:09:42Z",
  "amountReceivedCrypto": "25.000137",
  "explorerUrl": "https://tronscan.org/#/transaction/9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
  "creditedUsd": null,
  "creditedAt": null,
  "rejection": null,
  "purchase": {
    "planId": "res-10",
    "planName": "Team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "5.94",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Code-Beispiele

curl
curl -s "https://africaproxies.com/api/v1/topups/top_7d2kq9x1" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/topups/top_7d2kq9x1", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';

const res = await fetch(`${API}/topups/top_7d2kq9x1`, {
  headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

Krypto-Aufladungen auflisten

GET/v1/topups

Authentifizierung: API Schlüssel im Authorization: Bearer API_KEY Header.

Parameter

NameInTypErforderlichBeschreibung
pagequeryintegerNein≥ 1, Standard 1
perPagequeryintegerNein1–100, Standard 20
statusqueryawaiting_payment · verifying · credited · rejected · expiredNeinfinal = gutgeschrieben oder nach txidDeadline abgelaufen/abgelehnt.

Antwort 200 OK

{
  "data": [
    {
      "id": "top_7d2kq9x1",
      "status": "verifying",
      "final": false,
      "amountUsd": "25.00",
      "coin": "USDT",
      "network": "tron",
      "address": "DEPOSIT_ADDRESS",
      "amountCrypto": "25.000137",
      "rate": "1.00",
      "paymentUri": "PAYMENT_URI",
      "expiresAt": "2026-10-05T14:33:11Z",
      "txidDeadline": "2026-10-08T14:33:11Z",
      "confirmationsRequired": 20,
      "confirmations": 7,
      "txid": "9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
      "txidSubmittedAt": "2026-10-05T14:09:42Z",
      "amountReceivedCrypto": "25.000137",
      "explorerUrl": "https://tronscan.org/#/transaction/9d2e5c0b1f7a4e3d8c6b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f41c7",
      "creditedUsd": null,
      "creditedAt": null,
      "rejection": null,
      "purchase": {
        "planId": "res-10",
        "planName": "Team",
        "quantity": 1,
        "options": {},
        "promoCode": null,
        "total": "5.94",
        "status": "pending",
        "orderId": null,
        "failureReason": null
      },
      "createdAt": "2026-10-05T14:03:11Z"
    }
  ],
  "pagination": {
    "page": 1,
    "perPage": 20,
    "total": 1,
    "totalPages": 1
  }
}

Code-Beispiele

curl
curl -s "https://africaproxies.com/api/v1/topups" \
  -H "Authorization: Bearer $API_KEY"
Python
import os
import requests

API = "https://africaproxies.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

r = requests.get(f"{API}/topups", headers=HEADERS, timeout=30)
r.raise_for_status()
print(r.json())
Node.js
// Node.js 18+ (built-in fetch), ES module
const API = 'https://africaproxies.com/api/v1';

const res = await fetch(`${API}/topups`, {
  headers: { Authorization: `Bearer ${process.env.API_KEY}` },
});
if (!res.ok) throw new Error((await res.json()).error?.message ?? `HTTP ${res.status}`);
console.log(await res.json());

1 GB 1,23 $ · Kontoguthabenaufladung ab 25 $

1 GB wählen