API za primanje SMS-a
Kupujte brojeve i čitajte kodove za potvrdu preko JSON API-ja. Bez provjere identiteta, plaćanje kriptovalutom.
Kako je API ustrojen?
- Otvorite račun i sačuvajte vraćenu frazu. To je jedini pristup i ne može se poništiti.
- Stvorite nadoplatu, pošaljite kriptovalutu i pričekajte pripis.
- Kupite broj za željeni servis i državu — stanje se tereti odmah.
- Zatražite SMS s kodom. Ako nijedan kod ne stigne prije isteka narudžbe, novac se vraća automatski.
Nadoplatite jednom, kupujte često: jedna nadoplata pokriva onoliko brojeva koliko stanje dopušta, pa samo prva kupnja čeka potvrdu.
Prijava
Pristupnu frazu računa šaljite kao bearer token. Nema zasebnog API ključa ni poziva za prijavu — fraza jest vjerodajnica.
Authorization: Bearer YOUR-SEED-PHRASE
Krajnje točke kataloga ne traže nikakvu prijavu: servisi, države i cijene mogu se dakle pregledati i prije nego račun postoji. Sve što se tiče novca i narudžbi traži zaglavlje.
Osnovna adresa
Sve su krajnje točke relativne prema:
https://www.otpdrop.com/api/v1
Odgovori su u JSON-u. POST tijela prihvaćaju se kao application/json ili
application/x-www-form-urlencoded.
Pogreške
U slučaju neuspjeha vraća se status izvan 2xx s jednim objektom pogreške.
{
"error": {
"code": "invalid_request",
"message": "unknown service: \"whatsap\""
}
}
| Status | Značenje |
|---|---|
200 | Uspjeh |
201 | Stvoreno — račun, nadoplata ili narudžba sada postoji |
401 | Fraza nedostaje ili je pogrešna u zaglavlju Authorization |
422 | Zahtjev je razumljiv, ali se ne može izvršiti |
500 | Kvar na našoj strani |
Česte poruke uz 422:
| Poruka | Uzrok |
|---|---|
insufficient_funds | Stanje je niže od cijene — najprije stvorite nadoplatu |
unknown service | Taj kod servisa ne postoji; pogledajte popis servisa |
unknown country | Taj kod države ne postoji; pogledajte popis država |
unknown coin | Valuta nije prihvaćena; pogledajte krajnju točku nadoplate |
amount_usd must be between… | Nadoplate su ograničene na $25–$1000 |
Postoje li ograničenja učestalosti?
Nikakve kvote nisu objavljene i nema API ključa koji bi se prigušio — ali pozivanje krajnjih točaka u petlji nije besplatno. Dvije su od njih namijenjene ponavljanom ispitivanju i traže posebnu pažnju.
| Krajnja točka | Razuman ritam | Zašto |
|---|---|---|
| Katalog i izračun cijene | Spremite ih u predmemoriju kod sebe | Cijene se mijenjaju rijetko; ponovno učitavanje kataloga pri svakom zahtjevu nema smisla. |
/topups/{id} | Svakih 10 do 15 sekundi | Mrežna potvrda traje minutama, a ne milisekundama. Češće ispitivanje neće ništa saznati ranije. |
/orders/{id}/sms | Svake 3 do 5 sekundi | Kodovi obično stižu u nekoliko sekundi; uža petlja dodaje samo opterećenje. |
| Kupnja | Po potrebi | Svaka kupnja tereti pravi novac, pa će vas petlja bez kočnice stajati više nego nas. |
Promet koji izgleda kao napad bit će blokiran ranije, bez uljudnog 429. Ako
imate opravdan razlog za češće ispitivanje, javite nam se najprije preko kontaktne
stranice.
Popis servisa
GET/api/v1/services
Svi servisi s kodom, kategorijom i najnižom cijenom. Prijava nije potrebna.
Zahtjev
curl -s https://www.otpdrop.com/api/v1/services
Odgovor
{
"services": [
{
"code": "binance",
"name": "Binance",
"category": "Finance",
"from_price_cents": 85,
"color": "#F0B90B",
"icon": "binance"
}
],
"count": 133
}
Popis država
GET/api/v1/countries
Every country with its dial code and how many services are available there. No authentication required.
Zahtjev
curl -s https://www.otpdrop.com/api/v1/countries
Odgovor
{
"countries": [
{
"code": "us",
"name": "United States",
"dial_code": "+1",
"service_count": 133
}
],
"count": 197
}
Matrica cijena
GET/api/v1/catalog
The most useful service and country combinations with their prices, cheapest first. No authentication required.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
limit | integer | nije obvezno | How many rows to return, 1 to 500. Defaults to 12. |
Zahtjev
curl -s 'https://www.otpdrop.com/api/v1/catalog?limit=2'
Odgovor
{
"items": [
{
"service": "badoo",
"country": "us",
"price_cents": 35
}
],
"count": 2
}
Izračun cijene
GET/api/v1/quote
The exact price for one service and country before you commit to buying. No authentication required.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
service | string | obvezno | Service code, e.g. telegram |
country | string | obvezno | Country code, e.g. us |
Zahtjev
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
Odgovor
{
"service": "telegram",
"country": "us",
"price_cents": 111,
"price_usd": "1.11",
"currency": "USD",
"purchasable": true
}
Otvaranje računa
POST/api/v1/accounts
Generates an account and returns its seed. This is the only time the seed is ever shown. No authentication required.
Zahtjev
curl -s -X POST https://www.otpdrop.com/api/v1/accounts
Odgovor
{
"public_id": "acc_7f3c1a92",
"seed": "PABh-ZbRt-9xKm-Lq4V",
"seed_prefix": "PABh",
"balance_cents": 0,
"warning": "This seed is shown exactly once, right now..."
}
Stvaranje nadoplate
POST/api/v1/topups
Claims a deposit address and returns the exact amount to send, as coin_amount, at the rate in rate_usd. Each top-up gets its own address, and it expires at expires_at. Send only the named coin, on the named network, before then.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
amount_usd | number | obvezno | How much to add to the balance, in USD. Minimum 25, maximum 1000. |
coin | string | obvezno | BTC, LTC, ETH, XMR, SOL, TRX, BNB, USDT, USDC and more |
Zahtjev
curl -s -X POST https://www.otpdrop.com/api/v1/topups \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "XMR"}'
Odgovor
{
"topup_id": "top_019195919c80fc8f",
"status": "awaiting_payment",
"coin": "XMR",
"address": "89Rm4XN39m9PCr8Sr3yAFnXvLRRWQVEE...",
"amount_cents": 2500,
"amount_usd": "25.00",
"coin_amount": "0.1337",
"rate_usd": 187.02,
"bonus_cents": 0,
"credited_total_cents": 2500,
"expires_at": 1788532810
}
Status nadoplate
GET/api/v1/topups/{id}
Whether a deposit has been credited. Confirmation is not instant — poll this rather than assuming the funds arrived.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
id | string | obvezno | The top-up id, in the path |
Zahtjev
curl -s https://www.otpdrop.com/api/v1/topups/top_019195919c80fc8f \ -H 'Authorization: Bearer YOUR-SEED'
Odgovor
{
"topup_id": "top_019195919c80fc8f",
"status": "credited",
"coin": "XMR",
"amount_usd": "25.00",
"coin_amount": "0.1337",
"credited_total_cents": 2500,
"expires_at": 1788532810
}
Kupnja broja
POST/api/v1/orders
Debits the balance and issues a number immediately. There is no per-purchase address and no second wait. Fails with insufficient_funds if the balance is short.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
service | string | obvezno | Service code, e.g. telegram |
country | string | obvezno | Country code, e.g. us |
Zahtjev
curl -s -X POST https://www.otpdrop.com/api/v1/orders \
-H 'Authorization: Bearer YOUR-SEED' \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}'
Odgovor
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
Popis vaših narudžbi
GET/api/v1/orders
Every order on the account, newest first, with status, number and price. Useful for reconciling state after a restart rather than for polling.
Zahtjev
curl -s https://www.otpdrop.com/api/v1/orders \ -H 'Authorization: Bearer YOUR-SEED'
Odgovor
{
"orders": [
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
],
"count": 1
}
Dohvat narudžbe
GET/api/v1/orders/{id}
The current state of one order: its number, status and price.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
id | string | obvezno | The order id, in the path |
Zahtjev
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c \ -H 'Authorization: Bearer YOUR-SEED'
Odgovor
{
"order_id": "ord_1ad450bf7a42519c",
"service": "telegram",
"country": "us",
"phone": "+15558329008",
"status": "paid",
"price_usd": "1.11"
}
Dohvat SMS-a s kodom
GET/api/v1/orders/{id}/sms
Poll this until arrived turns true. If the order expires with nothing delivered, the price returns to your balance automatically.
Parametri
| Naziv | Tip | Opis | |
|---|---|---|---|
id | string | obvezno | The order id, in the path |
Zahtjev
curl -s https://www.otpdrop.com/api/v1/orders/ord_1ad450bf7a42519c/sms \ -H 'Authorization: Bearer YOUR-SEED'
Odgovor
{
"order_id": "ord_1ad450bf7a42519c",
"status": "paid",
"arrived": false,
"code": null
}
Kako izgleda cjelovita integracija?
Od računa do koda, šest poziva. Sve što slijedi je stvarno: zalijepite i pokrenite.
# 1. Otvorite račun i sačuvajte frazu
SEED=$(curl -s -X POST https://www.otpdrop.com/api/v1/accounts | jq -r .seed)
# 2. Nadoplata — pošaljite coin_amount na vraćenu adresu
curl -s -X POST https://www.otpdrop.com/api/v1/topups \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"amount_usd": 25, "coin": "USDT"}'
# 3. Ispitujte dok se nadoplata ne pripiše
curl -s https://www.otpdrop.com/api/v1/topups/TOPUP_ID \
-H "Authorization: Bearer \$SEED" | jq .status
# 4. Provjerite cijenu prije kupnje
curl -s 'https://www.otpdrop.com/api/v1/quote?service=telegram&country=us'
# 5. Kupnja — stanje se tereti, broj se isporučuje odmah
ORDER=$(curl -s -X POST https://www.otpdrop.com/api/v1/orders \
-H "Authorization: Bearer \$SEED" \
-H 'content-type: application/json' \
-d '{"service": "telegram", "country": "us"}' | jq -r .order_id)
# 6. Ispitujte kod
until curl -s https://www.otpdrop.com/api/v1/orders/\$ORDER/sms \
-H "Authorization: Bearer \$SEED" | jq -e .code; do sleep 4; done
Isti slijed u Pythonu, bez ljuske:
import time, requests
API = "https://www.otpdrop.com/api/v1"
seed = requests.post(f"{API}/accounts").json()["seed"]
auth = {"Authorization": f"Bearer {seed}"}
topup = requests.post(f"{API}/topups", headers=auth,
json={"amount_usd": 25, "coin": "USDT"}).json()
print("send", topup["coin_amount"], topup["coin"], "to", topup["address"])
while requests.get(f"{API}/topups/{topup['topup_id']}",
headers=auth).json()["status"] != "credited":
time.sleep(15)
order = requests.post(f"{API}/orders", headers=auth,
json={"service": "telegram", "country": "us"}).json()
print("number:", order["phone"])
while True:
sms = requests.get(f"{API}/orders/{order['order_id']}/sms",
headers=auth).json()
if sms["arrived"]:
print("code:", sms["code"])
break
time.sleep(4)
MCP poslužitelj
Iste su radnje dostupne preko Model Context Protocola na https://www.otpdrop.com/mcp,
u obliku jedanaest alata. Za dodavanje u Claude Code:
claude mcp add --transport http otpdrop https://www.otpdrop.com/mcp
Postavke i potpun popis alata nalaze se na stranici za agente.
Datoteke za otkrivanje
Strojno čitljivi opisi servisa, svi posluženi bez prijave.
| Datoteka | Sadržaj |
|---|---|
/openapi.json | Potpuna OpenAPI 3.1 shema |
/.well-known/agent.json | Mogućnosti, model prijave i pravila rada |
/llms.txt | Kratka uputa za jezične modele |
/llms-full.txt | Isto, s uključenim cijelim katalogom |
Česta pitanja
Treba li ključ za OTPDrop API?
Ne. Nema se što tražiti i nema nikakve provjere. Vjerodajnica je pristupna fraza računa, poslana kao bearer token — a krajnjim točkama kataloga ni ona ne treba.
Koliko stoji OTPDrop API?
Ništa osim samih brojeva. Bez pretplate, bez naplate po pozivu, bez najmanjeg opsega — cijene su one sa stranice.
S kojim programskim jezicima API radi?
Sa svakim koji može poslati HTTPS zahtjev. To je običan JSON preko HTTP-a s bearer zaglavljem: nema SDK-a za instalirati i ničega što treba usklađivati s našim izdanjima.
Što ako SMS ne stigne?
Narudžba se pri isteku sama vraća na stanje; možete je i ranije otkazati na stranici. Plaćate isporučene kodove, a ne pokušaje.
Jesu li REST API i MCP poslužitelj ista stvar?
Da, i to namjerno. Svaka je REST krajnja točka prijevod jednog MCP poziva alata, pa se ne mogu razići: promijeniti jedno znači promijeniti drugo. Odaberite ono što bolje odgovara vašem klijentu.
Može li se API isprobati bez trošenja?
Katalog, izračun cijene i otvaranje računa besplatni su: najveći dio integracije može se dakle napisati i provjeriti prije ijedne nadoplate. Novca stoji samo kupnja.