Zonder KYC — geen ID, selfie of documenten. Betaal met crypto.
Taal: Nederlands
Kies 1 GB

API-referentie

Opwaarderen met crypto

Waardeer je saldo op met crypto: ontvang het stortingsadres en het exacte bedrag, verstuur precies dat bedrag, meld dat de betaling is verzonden (het transactie-ID is optioneel) en volg de opwaardering totdat het saldo is bijgeschreven. Je saldo betaalt voor al onze abonnementen.

7 min leestijd

Eindpunten op deze pagina

  • GET /v1/catalog/coins: Geaccepteerde cryptovaluta en netwerken (met het bijbehorende vaste stortingsadres)
  • POST /v1/topups: Start een crypto-opwaardering van het saldo (vast adres, exact bedrag)
  • POST /v1/topups/{topUpId}/txid: Meld de betaling als verzonden (TXID optioneel)
  • GET /v1/topups/{topUpId}: Een opwaardering ophalen (poll voor de actuele status)
  • GET /v1/topups: Crypto-opwaarderingen weergeven

Basis-URL https://localserpproxy.com/api/v1. Authenticatie, fouten en limieten: zie het API-overzicht.

Geaccepteerde cryptovaluta en netwerken (met het vaste stortingsadres)

GET/v1/catalog/coins

Openbaar: geen API-sleutel nodig.

Response 200 OK

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

Codevoorbeelden

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());

Een crypto-opwaardering van het saldo starten (vast adres, exact bedrag)

POST/v1/topups

  • amountUsd ≥ 25.00 USD en ≤ het maximum (standaard 10,000.00): 422 op amountUsd, anders.
  • coin + network moet een van GET /v1/catalog/coins zijn (anders 409 coin_unavailable).
  • Geeft het vaste address van het netwerk en het exacte amountCrypto = amountUsd / rate, naar boven afgerond op de precisie van de munt (BTC/LTC/ETH/SOL 8 decimalen, USDT/USDC 6), plus een kleine unieke toeslag op de laatste cijfers, zodat geen twee openstaande opwaarderingen op hetzelfde netwerk om hetzelfde bedrag vragen. rate wordt vergrendeld tot expiresAt (30 minuten); txidDeadline = expiresAt + 72 h.
  • Optioneel purchase (dezelfde body als POST /v1/orders): wordt nu gevalideerd en geprijsd (422 met veldnamen voorafgegaan door purchase., 409 plan_unavailable…). amountUsd moet het totaal van purchase − het huidige saldo dekken (422 too_small op amountUsd). Zodra de opwaardering is bijgeschreven, wordt de bestelling in dezelfde transactie vanaf het saldo geplaatst; purchase.status wordt completed (met orderId) of failed (failureReason; het geld blijft op het saldo).

Authenticatie: API-sleutel in de Authorization: Bearer API_KEY-header.

Parameters

NaamInTypeVerplichtBeschrijving
Idempotency-KeyheaderstringNeeUnieke sleutel (bijv. een UUID) om een POST veilig opnieuw te proberen. 24 h bewaard. — max. 128 tekens

Requestbody

VeldTypeVerplichtBeschrijving
amountUsdstring (USD, 2 decimals)JaToe te voegen bedrag in USD: ≥ 25.00, standaard ≤ 10,000.00.
coinstringJa—
networkstringJa—
purchaseobjectNeePlan om iets met het saldo te kopen zodra de opwaardering is bijgeschreven (dezelfde body als POST /v1/orders).
Voorbeeld: Saldo
{
  "amountUsd": "50.00",
  "coin": "USDT",
  "network": "tron"
}
Voorbeeld: Afrekenen
{
  "amountUsd": "25.00",
  "coin": "BTC",
  "network": "bitcoin",
  "purchase": {
    "planId": "res-10",
    "quantity": 1
  }
}

Response 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"
}

Codevoorbeelden

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());

Meld dat de betaling is verzonden (TXID optioneel)

POST/v1/topups/{topUpId}/txid

Meld dat de betaling is verzonden zodra deze je wallet of exchange heeft verlaten: dit is de API-versie van de knop ‘Ik heb de betaling verzonden’. De transactie-ID (TXID) is optioneel: stuur een lege body ({}) of voeg txid toe als je die hebt. Je betaling wordt aan deze opwaardering gekoppeld op basis van het exacte bedrag (amountCrypto) op het netwerk en adres van de opwaardering. Stuur dus precies dat bedrag.

Wordt geaccepteerd zolang de opwaardering de status awaiting_payment, expired of rejected heeft en vóór txidDeadline (expiresAt + 72 h): een late melding leidt nooit tot verlies van een betaling. Een txid wordt, indien opgegeven, gecontroleerd op het formaat van het netwerk (422 op txid) en mag niet aan een andere opwaardering zijn gekoppeld (409 txid_already_used). Bij een gesloten opwaardering wordt 409 topup_closed teruggegeven. De opwaardering krijgt vervolgens de status verifying terwijl de betaling op de blockchain wordt gecontroleerd, en eindigt met credited zodra het netwerk de transactie heeft bevestigd, of met rejected (met rejection).

Authenticatie: API-sleutel in de Authorization: Bearer API_KEY-header.

Parameters

NaamInTypeVerplichtBeschrijving
topUpIdpathstringJa—

Requestbody

VeldTypeVerplichtBeschrijving
txidstringNeeOptioneel. Transactiehash: 64 hex (bitcoin, litecoin, tron), 0x + 64 hex (ethereum), base58-handtekening (solana). Leeg of niet opgegeven: de betaling wordt gekoppeld op basis van het exacte bedrag. — max. 128 tekens
Voorbeeld: Betaling verzonden
{}
Voorbeeld: Met de TXID (optioneel)
{
  "txid": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
}

Response 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"
}

Codevoorbeelden

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());

Saldo opwaarderen (live status opvragen)

GET/v1/topups/{topUpId}

Vraag deze route op om een opwaardering te volgen: elke 10 s zolang status = verifying, elke 30 s zolang de betaling wordt afgewacht, en stop zodra final = true. Een opwaardering krijgt de status expired als niet vóór expiresAt is gemeld dat de betaling is verzonden; je kunt dit nog melden tot txidDeadline.

Authenticatie: API-sleutel in de Authorization: Bearer API_KEY-header.

Parameters

NaamInTypeVerplichtBeschrijving
topUpIdpathstringJa—

Response 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"
}

Codevoorbeelden

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());

Crypto-opwaarderingen weergeven

GET/v1/topups

Authenticatie: API-sleutel in de Authorization: Bearer API_KEY-header.

Parameters

NaamInTypeVerplichtBeschrijving
pagequeryintegerNee≥ 1, standaard 1
perPagequeryintegerNee1–100, standaard 20
statusqueryawaiting_payment · verifying · credited · rejected · expiredNeefinal = bijgeschreven, of verlopen / afgewezen na txidDeadline.

Response 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
  }
}

Codevoorbeelden

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 US$ 1,50 · zonder KYC

Bekijk de prijzen