Hakuna KYC — hakuna kitambulisho, selfie wala nyaraka
Lugha: Kiswahili
Chagua 1 GB

Rejea ya API

Nyongeza za salio kwa crypto

Ongeza salio kwa crypto: pata anwani ya kupokea na kiasi halisi, tuma kiasi hicho kamili, ripoti malipo kuwa yametumwa (ID ya muamala si lazima), kisha fuatilia nyongeza hadi salio liwekwe. Salio linalipia mpango wetu wowote.

Iliyoruushwa mwisho: · 7 dk za kusoma

Vituo vya maombi kwenye ukurasa huu

  • GET /v1/catalog/coins: Sarafu za crypto na mitandao inayokubaliwa (pamoja na anwani zake za kupokea zisizobadilika)
  • POST /v1/topups: Anzisha nyongeza ya salio kwa crypto (anwani ileile, kiasi halisi)
  • POST /v1/topups/{topUpId}/txid: Ripoti malipo kuwa yametumwa (TXID si lazima)
  • GET /v1/topups/{topUpId}: Pata nyongeza ya salio (uliza hali yake ya sasa)
  • GET /v1/topups: Orodhesha nyongeza za salio kwa crypto

URL ya msingi https://africaproxies.com/api/v1. Uthibitishaji, hitilafu na vikomo: angalia muhtasari wa API.

Sarafu za crypto na mitandao inayokubaliwa (pamoja na anwani zake za kupokea zisizobadilika)

GET/v1/catalog/coins

Umma: hakuna API inahitajika.

Jibu 200 OK

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

Mifano ya kodi

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

Anzisha nyongeza ya salio kwa crypto (anwani ileile, kiasi halisi)

POST/v1/topups

  • amountUsd ≥ 25.00 USD na ≤ kiwango cha juu (10,000.00 kwa chaguo-msingi): vinginevyo 422 kwenye amountUsd.
  • coin + network lazima viwe katika GET /v1/catalog/coins (vinginevyo 409 coin_unavailable).
  • Inarudisha address isiyobadilika ya mtandao na kiasi halisi amountCrypto = amountUsd / rate kilichozungushwa kwenda juu kulingana na usahihi wa sarafu (BTC/LTC/ETH/SOL nafasi 8 za desimali, USDT/USDC nafasi 6), pamoja na tofauti ndogo ya kipekee katika tarakimu za mwisho ili nyongeza mbili zilizo wazi kwenye mtandao uleule zisiombe kiasi sawa. rate inafungwa hadi expiresAt (dakika 30); txidDeadline = expiresAt + saa 72.
  • purchase si lazima (mwili sawa na POST /v1/orders): inathibitishwa na kupewa bei sasa (422 yenye majina ya sehemu yanayoanza kwa purchase., 409 plan_unavailable…). amountUsd lazima itoshe jumla ya purchase ukitoa salio la sasa (422 too_small kwenye amountUsd). Salio likiongezwa, agizo linalipwa kutoka salioni katika muamala uleule; purchase.status inakuwa completed (yenye orderId) au failed (failureReason; fedha zinabaki kwenye salio).

Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.

Parameta

JinaKatikaAinaInahitajikaMaelezo
Idempotency-KeyheaderstringHapanaUfunguo wa kipekee (kwa mfano UUID) wa kurudia POST salama. Huhifadhiwa saa 24. — herufi zisizozidi 128

Mwili wa ombi

UwanjaAinaInahitajikaMaelezo
amountUsdstring (USD, 2 decimals)NdiyoUSD za kuongeza: ≥ 25.00, ≤ 10,000.00 kwa chaguo-msingi.
coinstringNdiyo—
networkstringNdiyo—
purchaseobjectHapanaMpango wa kununua kwa salio nyongeza ikiwekwa (mwili sawa na POST /v1/orders).
Mfano: Salio
{
  "amountUsd": "50.00",
  "coin": "USDT",
  "network": "tron"
}
Mfano: Malipo
{
  "amountUsd": "25.00",
  "coin": "BTC",
  "network": "bitcoin",
  "purchase": {
    "planId": "res-10",
    "quantity": 1
  }
}

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

Mifano ya kodi

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

Ripoti malipo kuwa yametumwa (TXID si lazima)

POST/v1/topups/{topUpId}/txid

Ripoti malipo kuwa yametumwa mara yanapoondoka kwenye pochi yako au soko la kubadilishana: hili ni toleo la API la kitufe cha “Nimetuma malipo”. ID ya muamala (TXID) si lazima: tuma mwili tupu ({}), au ongeza txid ukiwa nayo. Malipo yanalinganishwa na nyongeza hii kwa kiasi chake halisi (amountCrypto) kwenye mtandao na anwani ya nyongeza, hivyo tuma kiasi hicho kamili.

Inakubaliwa nyongeza ikiwa awaiting_payment, expired au rejected, na kabla ya txidDeadline (expiresAt + saa 72): kuripoti kuchelewa hakupotezi malipo. txid ikitolewa, inakaguliwa kulingana na muundo wa mtandao (422 kwenye txid), na haitakiwi kutumiwa na nyongeza nyingine (409 txid_already_used). Nyongeza iliyofungwa inarudisha 409 topup_closed. Kisha nyongeza inakuwa verifying wakati malipo yanakaguliwa kwenye blockchain, na inaishia credited mtandao unapothibitisha muamala, au rejected (pamoja na rejection).

Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.

Parameta

JinaKatikaAinaInahitajikaMaelezo
topUpIdpathstringNdiyo—

Mwili wa ombi

UwanjaAinaInahitajikaMaelezo
txidstringHapanaSi lazima. Hashi ya muamala: herufi za hex 64 (bitcoin, litecoin, tron), 0x + herufi za hex 64 (ethereum), saini ya base58 (solana). Tupu au haipo: malipo yanalinganishwa kwa kiasi chake halisi. — herufi zisizozidi 128
Mfano: Malipo yametumwa
{}
Mfano: Kwa TXID (si lazima)
{
  "txid": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"
}

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

Mifano ya kodi

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

Pata nyongeza ya salio (uliza hali yake ya sasa)

GET/v1/topups/{topUpId}

Uliza njia hii kufuatilia nyongeza: kila sekunde 10 ikiwa status = verifying, kila sekunde 30 ikisubiri malipo, na acha ikiwa final = true. Nyongeza inakuwa expired malipo yasiporipotiwa kuwa yametumwa kabla ya expiresAt; bado yanaweza kuripotiwa hadi txidDeadline.

Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.

Parameta

JinaKatikaAinaInahitajikaMaelezo
topUpIdpathstringNdiyo—

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

Mifano ya kodi

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

Orodhesha nyongeza za salio kwa crypto

GET/v1/topups

Uthibitishaji: funguo ya API kwenye kichwa cha Authorization: Bearer API_KEY.

Parameta

JinaKatikaAinaInahitajikaMaelezo
pagequeryintegerHapana≥ 1, chaguo-msingi 1
perPagequeryintegerHapana1–100, chaguo-msingi 20
statusqueryawaiting_payment · verifying · credited · rejected · expiredHapanafinal = imeongezwa kwenye salio, au imeisha muda/imekataliwa baada ya txidDeadline.

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

Mifano ya kodi

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 US$ 1.23 · Weka fedha kwenye akaunti kuanzia US$ 25

Chagua 1 GB