Ohne KYC — keine Ausweisdokumente, kein Selfie und keine Unterlagen. Mit Krypto bezahlen.
Sprache: Deutsch
1 GB auswählen

API-Referenz

Krypto-Aufladungen

Lade dein Guthaben mit Krypto auf: Rufe die Einzahlungsadresse und den genauen Betrag ab, sende genau diesen Betrag, melde die Zahlung als gesendet (die Transaktions-ID ist optional) und verfolge anschließend die Aufladung, bis das Guthaben gutgeschrieben ist. Mit dem Guthaben kannst du jeden unserer Tarife bezahlen.

7 Min. Lesezeit

Endpunkte auf dieser Seite

  • GET /v1/catalog/coins: Akzeptierte Kryptowährungen und Netzwerke (mit fester 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 (Live-Status abfragen)
  • GET /v1/topups: Krypto-Aufladungen auflisten

Basis-URL https://localserpproxy.com/api/v1. Informationen zu Authentifizierung, Fehlern und Limits finden Sie in der API-Übersicht.

Akzeptierte Kryptowährungen und Netzwerke (mit fester 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"
        }
      ]
    }
  ]
}

Codebeispiele

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

API = "https://localserpproxy.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://localserpproxy.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-Guthabenaufladung starten (feste Adresse, exakter Betrag)

POST/v1/topups

  • amountUsd ≥ 25.00 USD und ≤ dem Höchstbetrag (standardmäßig 10,000.00): 422 auf amountUsd, andernfalls.
  • coin + network muss einem der folgenden Werte entsprechen: GET /v1/catalog/coins (andernfalls 409 coin_unavailable).
  • Gibt die feste address des Netzwerks und den exakten amountCrypto = amountUsd / rate zurück, aufgerundet auf die Genauigkeit der jeweiligen Kryptowährung (BTC/LTC/ETH/SOL 8 Dezimalstellen, USDT/USDC 6), zuzüglich eines kleinen eindeutigen Aufschlags auf die letzten Stellen, damit bei offenen Aufladungen im selben Netzwerk nie derselbe Betrag angefordert wird. rate ist bis expiresAt (30 Minuten) gesperrt; txidDeadline = expiresAt + 72 h.
  • Optional purchase (derselbe Body wie POST /v1/orders): wird jetzt validiert und berechnet (422 mit Feldnamen, denen purchase., 409 plan_unavailable … vorangestellt ist). amountUsd muss den Gesamtbetrag von purchase abzüglich des aktuellen Guthabens abdecken (422 too_small auf amountUsd). Sobald die Aufladung gutgeschrieben ist, wird die Bestellung in derselben Transaktion mit dem Guthaben aufgegeben; purchase.status wird zu completed (mit orderId) oder failed (failureReason; das Guthaben bleibt auf dem Konto).

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

Parameter

NameInTypErforderlichBeschreibung
Idempotency-KeyheaderstringNeinEindeutiger Schlüssel (z. B. eine UUID) für sichere POST-Wiederholungen. 24 h gültig. — max. 128 Zeichen

Anfragetext

FeldTypErforderlichBeschreibung
amountUsdstring (USD, 2 decimals)JaAufzuladender Betrag in USD: ≥ 25.00, standardmäßig ≤ 10,000.00.
coinstringJa—
networkstringJa—
purchaseobjectNeinBestellung, die nach Gutschrift der Aufladung mit dem Guthaben aufgegeben werden soll (derselbe Body wie POST /v1/orders).
Beispiel: Guthaben
{
  "amountUsd": "50.00",
  "coin": "USDT",
  "network": "tron"
}
Beispiel: Checkout
{
  "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": "Local team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "7.50",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Codebeispiele

curl
curl -s -X POST "https://localserpproxy.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://localserpproxy.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://localserpproxy.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 dein Wallet oder deine Börse verlassen hat: Dies ist die API-Version der Schaltfläche „Ich habe die Zahlung gesendet“. Die Transaktions-ID (TXID) ist optional: Sende einen leeren Body ({}) oder füge txid hinzu, falls vorhanden. Deine Zahlung wird anhand des exakten Betrags (amountCrypto) dem Netzwerk und der Adresse dieser Aufladung zugeordnet. Sende daher genau diesen Betrag.

Akzeptiert, solange die Aufladung den Status awaiting_payment, expired oder rejected hat und vor txidDeadline (expiresAt + 72 h): Eine verspätete Meldung führt niemals zum Verlust einer Zahlung. Eine angegebene txid wird anhand des Formats des Netzwerks geprüft (422 auf txid) und darf nicht bereits einer anderen Aufladung zugeordnet sein (409 txid_already_used). Bei einer geschlossenen Aufladung wird 409 topup_closed zurückgegeben. Anschließend erhält die Aufladung den Status verifying, während die Zahlung auf der Blockchain geprüft wird. Sie endet mit credited, sobald das Netzwerk die Transaktion bestätigt hat, oder mit rejected (mit rejection).

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

Parameter

NameInTypErforderlichBeschreibung
topUpIdpathstringJa—

Anfragetext

FeldTypErforderlichBeschreibung
txidstringNeinOptional. Transaktions-Hash: 64 Hex-Zeichen (Bitcoin, Litecoin, Tron), 0x + 64 Hex-Zeichen (Ethereum), Base58-Signatur (Solana). Leer oder nicht angegeben: Die Zahlung wird anhand des 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": "Local team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "7.50",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Codebeispiele

curl
curl -s -X POST "https://localserpproxy.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://localserpproxy.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://localserpproxy.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());

Guthaben aufladen (Live-Status abfragen)

GET/v1/topups/{topUpId}

Rufe diese Route regelmäßig auf, um eine Aufladung zu verfolgen: alle 10 s, solange status = verifying, alle 30 s, solange auf die Zahlung gewartet wird, und beende die Abfrage, sobald final = true. Eine Aufladung erhält den Status expired, wenn vor expiresAt nicht gemeldet wurde, dass die Zahlung gesendet wurde; die Meldung ist bis txidDeadline weiterhin möglich.

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

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": "Local team",
    "quantity": 1,
    "options": {},
    "promoCode": null,
    "total": "7.50",
    "status": "pending",
    "orderId": null,
    "failureReason": null
  },
  "createdAt": "2026-10-05T14:03:11Z"
}

Codebeispiele

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

API = "https://localserpproxy.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://localserpproxy.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 Header Authorization: Bearer API_KEY.

Parameter

NameInTypErforderlichBeschreibung
pagequeryintegerNein≥ 1, Standardwert 1
perPagequeryintegerNein1–100, Standardwert 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": "Local team",
        "quantity": 1,
        "options": {},
        "promoCode": null,
        "total": "7.50",
        "status": "pending",
        "orderId": null,
        "failureReason": null
      },
      "createdAt": "2026-10-05T14:03:11Z"
    }
  ],
  "pagination": {
    "page": 1,
    "perPage": 20,
    "total": 1,
    "totalPages": 1
  }
}

Codebeispiele

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

API = "https://localserpproxy.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://localserpproxy.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,50 $ · ohne KYC

Preise ansehen