Skip to content
Translated page. The English version is the source of truth.

GET /apiv2/usdt/{sender}&

TRON USDT ٹرانسفر کی لاگت کا حساب لگائیں (عوامی اینڈپوائنٹ، کسی API کی کی ضرورت نہیں)۔

ارسال کنندہ اور وصول کنندہ کے اکاؤنٹس، وسائل کی ضروریات (energy/bandwidth) اور لاگت کے لیے تجویز کردہ طریقے کا تفصیلی تجزیہ واپس کرتا ہے۔

کم شرح کی حد (ریٹ لمٹ) — کبھی کبھار / ٹیسٹنگ کے استعمال کے لیے مخصوص

یہ اینڈپوائنٹ عالمی سطح پر مشترک ہے اور اس کی ریٹ لمٹ 1 درخواست/سیکنڈ اور 60 درخواستیں/منٹ ہے۔ جب آپ کی ایپلی کیشن Cloudflare یا کسی دوسرے ریورس پراکسی کے پیچھے ہوتی ہے، تو یہ حد ایک ہی ایج (edge) کے ذریعے Netts تک پہنچنے والے تمام کلائنٹس کے درمیان مشترک ہو سکتی ہے، اس لیے آپ کو ایک صارف کی جانب سے فی منٹ 60 درخواستوں سے پہلے ہی 429 Too Many Requests کا سامنا ہو سکتا ہے۔

غیر متواتر یا کبھی کبھار کی جانے والی کالز کے علاوہ کسی بھی کام کے لیے، تصدیق شدہ POST /apiv2/usdt/analyze اینڈپوائنٹ کا استعمال کریں — اس میں فی کی (per-key) حد بہت زیادہ ہے (50 درخواستیں/سیکنڈ)۔

اینڈپوائنٹ URL

GET https://netts.io/apiv2/usdt/{sender}&{receiver}

URL پیرامیٹرز

پیرامیٹرقسملازمیتفصیل
senderstringہاںارسال کنندہ کا TRON ایڈریس
receiverstringہاںوصول کنندہ کا TRON ایڈریس

ایڈریسز پاتھ میں منتقل کیے جاتے ہیں، جنہیں ایمپرسینڈ (&) کے ذریعے الگ کیا جاتا ہے۔ دونوں کا درست base58 TRON ایڈریس ہونا ضروری ہے (34 حروف، T سے شروع ہوں، درست چیک سم)۔

درخواست کی مثالیں

cURL

bash
curl "https://netts.io/apiv2/usdt/TFLit1TFohBtT2f8UVCLFVPmZxawxqByYe&TTKR9aQdJWTgXLK9cmzaDitT5VXE497thL"

Python

python
import requests

sender   = "TFLit1TFohBtT2f8UVCLFVPmZxawxqByYe"
receiver = "TTKR9aQdJWTgXLK9cmzaDitT5VXE497thL"

url = f"https://netts.io/apiv2/usdt/{sender}&{receiver}"
response = requests.get(url, timeout=15)

if response.status_code == 200:
    payload = response.json()
    data = payload["data"]
    print(f"Can transfer:        {data['can_transfer']}")
    print(f"Energy needed:       {data['requirements']['energy_needed']}")
    print(f"Bandwidth needed:    {data['requirements']['bandwidth_needed']}")
    print(f"Total cost (TRX):    {data['costs']['total_cost_trx']}")
    print(f"Recommended method:  {data['costs']['recommended_method']}")
elif response.status_code == 429:
    print("Rate-limited — retry after:", response.headers.get("Retry-After"), "s")
else:
    print("Error:", response.json())

جواب

کامیابی (200 OK)

اوپری سطح کا اینولپ (envelope):

json
{
    "status": "success",
    "data": { /* TransferAnalysis — see below */ },
    "current_utc_time": "2026-04-23 11:54:13",
    "processing_time_ms": 19.27
}

data (TransferAnalysis)

فیلڈقسمتفصیل
senderAddressInfoارسال کنندہ کے اکاؤنٹ کی مکمل معلومات (بیلنس، اسٹیکنگ، ڈیلیگیشن، ایکٹیویشن)۔
receiverAddressInfoوصول کنندہ کے اکاؤنٹ کی مکمل معلومات۔
requirementsRequirementsٹرانسفر کے لیے درکار Energy / Bandwidth (اصل مقدار + حفاظتی بفر کے ساتھ)۔
costsCostsجلانے (burn) بمقابلہ کرایہ پر لینے کی لاگت کی تفصیل اور تجویز کردہ طریقہ۔
can_transferbooleantrue اگر ٹرانسفر موجودہ وسائل/قیمتوں کے ساتھ مکمل کیا جا سکتا ہو۔
issuesstring[]تجزیہ کے دوران سامنے آنے والے خدشات (مثلاً ناکافی Bandwidth)۔
recommendationsstring[]کلائنٹ کے لیے پڑھنے کے قابل آسان تجاویز۔
variation_idstring | nullاندرونی تنوعاتی کیٹلاگ سے مماثل منظرنامہ کی ID (مثلاً "CUSTOM"
AddressInfo

عام فیلڈز جو آپ انٹیگریشنز میں استعمال کریں گے: address, is_activated, trx_balance, usdt_balance, has_usdt, energy_balance, bandwidth_balance۔ جدید استعمال کے لیے اضافی نچلی سطح کی فیلڈز: trx_balance_sun, energy_total, bandwidth_total, bandwidth_free, bandwidth_staked, energy_used, bandwidth_used, create_time, latest_operation_time, staked_for_energy, staked_for_bandwidth, delegated_for_energy, delegated_for_bandwidth, delegated_out_energy, delegated_out_bandwidth, votes۔

Requirements
فیلڈقسمتفصیل
energy_neededintٹرانسفر کے لیے درکار بنیادی Energy یونٹس۔
bandwidth_neededintدرکار بنیادی Bandwidth یونٹس۔
energy_with_bufferintمحفوظ کرایہ کے درجے تک بڑھائی گئی Energy (مثلاً 131,000)۔
bandwidth_with_bufferintتھوڑے سے حفاظتی بفر کے ساتھ Bandwidth۔
receiver_has_usdtbooleanآیا وصول کنندہ کے پاس پہلے سے USDT موجود ہے یا نہیں (یہ Energy پر اثر انداز ہوتا ہے)۔
Costs
فیلڈقسمتفصیل
energy_burn_trxdecimalجلائی گئی TRX اگر Energy کی ادائیگی براہ راست برن کے ذریعے کی جائے۔
bandwidth_burn_trxdecimalBandwidth کو پورا کرنے کے لیے جلائی گئی TRX اگر یہ مفت دستیاب نہ ہو۔
total_burn_trxdecimalenergy_burn_trx + bandwidth_burn_trx۔
total_burn_sunintSUN (10⁻⁶ TRX) میں ظاہر کردہ total_burn_trx۔
energy_rental_trxdecimalنیچے دی گئی مدت کے لیے Netts سے مطلوبہ Energy کرایہ پر لینے کی لاگت۔
energy_rental_sunintمندرجہ بالا کی طرح لیکن SUN میں۔
rental_time_periodstringمثلاً "1h", "5m", یا "not_needed" جب کرایہ پر لینا بہترین راستہ نہ ہو۔
rental_price_per_unitintمنتخب کردہ مدت کے لیے SUN میں فی Energy یونٹ کرایہ کی قیمت۔
savings_trxdecimalبرن کے مقابلے میں رینٹ کتنا سستا ہے (اگر برن بہترین آپشن ہو تو منفی ہو سکتا ہے)۔
savings_percentagefloatوہی بچت فیصد میں۔
recommended_methodstring"burn" یا "rent" — موجودہ درخواست کے لیے سستا آپشن۔
total_cost_trxdecimal | nullاصل لاگت اگر آپ recommended_method پر عمل کرتے ہیں۔
sender_activation_costdecimal | nullاضافی لاگت اگر ارسال کنندہ کے اکاؤنٹ کو ایکٹیویشن کی ضرورت ہو، ورنہ null۔

اصل جواب کی مثال (مختصر)

json
{
    "status": "success",
    "data": {
        "sender":   { "address": "TFLit1...", "is_activated": true,  "trx_balance": 191.943, "usdt_balance": 24410.499, "energy_balance": 195297, "bandwidth_balance": 148, "has_usdt": true,  "...": "..." },
        "receiver": { "address": "TTKR9a...", "is_activated": true,  "trx_balance":  18.656, "usdt_balance":     0.0,   "energy_balance":      0, "bandwidth_balance": 263, "has_usdt": false, "...": "..." },
        "requirements": {
            "energy_needed": 130285,
            "bandwidth_needed": 345,
            "energy_with_buffer": 131000,
            "bandwidth_with_buffer": 360,
            "receiver_has_usdt": false
        },
        "costs": {
            "energy_burn_trx": 0.0,
            "bandwidth_burn_trx": 0.345,
            "total_burn_trx": 0.345,
            "total_burn_sun": 345000,
            "energy_rental_trx": 0.0,
            "energy_rental_sun": 0,
            "rental_time_period": "not_needed",
            "rental_price_per_unit": 0,
            "savings_trx": 0.0,
            "savings_percentage": 0.0,
            "recommended_method": "burn",
            "total_cost_trx": 0.345,
            "sender_activation_cost": null
        },
        "can_transfer": true,
        "issues": [
            "Insufficient bandwidth: have 148, need 345. Network will burn 0.345 TRX for full amount"
        ],
        "recommendations": [
            "Insufficient bandwidth: have 148, need 345. Full amount of 0.345 TRX will be burned",
            "💰 Total cost: 0.345 TRX (burn for all resources)"
        ],
        "variation_id": "CUSTOM"
    },
    "current_utc_time": "2026-04-23 11:54:13",
    "processing_time_ms": 19.27
}

غلطیاں (Errors)

HTTPباڈی (مثال)کب
400{"code": -1, "msg": "Invalid sender address format: Txyz..."}ایڈریس TRON کے base58 / لمبائی / چیک سم کی توثیق میں ناکام ہو جائے۔
400{"code": -1, "msg": "Expected at least 2 parameters: sender&receiver"}URL میں & سے الگ کیے گئے دو ایڈریسز شامل نہ ہوں۔
400{"code": -1, "msg": "Sender and receiver cannot be the same address"}ارسال کنندہ اور وصول کنندہ کا ایڈریس ایک ہی ہو۔
429{"message": "API rate limit exceeded"}ریٹ لمٹ حد سے تجاوز کر گئی ہے (اس صفحے کے اوپری حصے میں دی گئی وارننگ دیکھیں)۔
500{"code": -1, "msg": "Internal server error"}سرور کی جانب سے غیر متوقع خرابی۔

ریٹ لمٹ ہیڈرز

ہر جواب پر (بشمول 429) مندرجہ ذیل ہیڈرز واپس کیے جاتے ہیں:

ہیڈرمطلب
X-RateLimit-Limit-Secondفی سیکنڈ مجاز درخواستوں کی زیادہ سے زیادہ تعداد (فی الحال 1
X-RateLimit-Remaining-Secondآپ اس سیکنڈ میں مزید کتنی درخواستیں بھیج سکتے ہیں۔
X-RateLimit-Limit-Minuteفی منٹ مجاز درخواستوں کی زیادہ سے زیادہ تعداد (فی الحال 60
X-RateLimit-Remaining-Minuteآپ اس منٹ میں مزید کتنی درخواستیں بھیج سکتے ہیں۔
Retry-After429 پر — دوبارہ کوشش کرنے سے پہلے انتظار کے سیکنڈز۔

ڈیبگ ہیڈرز

ہر جواب میں شناختی معلومات بھی شامل ہوتی ہیں جو سپورٹ ٹکٹ کھولنے کے وقت کام آتی ہیں — براہ کرم انہیں من و عن شامل کریں تاکہ ہم چند سیکنڈوں میں اپنے لاگز میں درخواست کو تلاش کر سکیں:

ہیڈرمطلب
X-Request-IDایپلی کیشن کی جانب سے درخواست کی ID (جو کیلکولیٹر تیار کرتا ہے)۔
X-Process-Timeملی سیکنڈز میں ایپلی کیشن پروسیسنگ کا وقت (اپ اسٹریم، Kong کے علاوہ)۔
X-Kong-Request-IdKong کی جانب سے درخواست کی ID (Kong کے رسائی لاگز میں موجود ہوتی ہے)۔

کلائنٹ کی جانب ٹائم آؤٹ اور دوبارہ کوشش

کیلکولیٹر ہر درخواست کے لیے TRON نوڈز پر براہ راست آن چین سوالات بھیجتا ہے، لہذا زیادہ بوجھ یا سست اپ اسٹریم نوڈز کی صورت میں ایک کال میں کئی سیکنڈز لگ سکتے ہیں۔ کلائنٹ کے کم ٹائم آؤٹ درست جوابات پر بھی ناکام ہو جائیں گے۔

تجویز کردہ ترتیبات:

  • ٹائم آؤٹ ≥ 15 سیکنڈ (30 سیکنڈ زیادہ محفوظ ہے)۔ بہت سے HTTP کلائنٹس کی طرف سے استعمال ہونے والا ڈیفالٹ 10 سیکنڈ بہت کم ہے۔
  • HTTP 429 پر، Retry-After ہیڈر (سیکنڈز) کا احترام کریں۔ دوبارہ کوشش کرنے سے پہلے معمولی وقفہ (jitter) شامل کریں (مثلاً 0–200 ملی سیکنڈ)، پھر اگر آپ اب بھی حد سے ٹکرا رہے ہیں تو ایکسپونینشل بیک آف کا طریقہ استعمال کریں۔
  • HTTP 5xx یا نیٹ ورک کی غلطیوں پر، ایکسپونینشل بیک آف کے ساتھ زیادہ سے زیادہ 2–3 بار دوبارہ کوشش کریں؛ اینڈپوائنٹ پر درخواستوں کی ضرورت سے زیادہ بھرمار نہ کریں۔
  • ہر (sender, receiver) جوڑے کے لیے نتیجے کو کلائنٹ کی جانب 30–60 سیکنڈ کے لیے کیش (cache) کریں — بنیادی وسائل کی قیمتیں اور آن چین حالت شاذ و نادر ہی اتنی تیزی سے تبدیل ہوتی ہیں کہ اس سے زیادہ بار بار حساب کتاب کرنے کی ضرورت پڑے۔

مثال 429 جواب

http
HTTP/1.1 429 Too Many Requests
Content-Type: application/json; charset=utf-8
RateLimit-Limit: 1
RateLimit-Remaining: 0
RateLimit-Reset: 1
Retry-After: 1
X-RateLimit-Limit-Second: 1
X-RateLimit-Remaining-Second: 0
X-RateLimit-Limit-Minute: 60
X-RateLimit-Remaining-Minute: 0

{"message":"API rate limit exceeded"}

نوٹس

  • گمنام رسائی: کوئی X-API-KEY نہیں، کوئی Authorization ہیڈر نہیں، کوئی IP وائٹ لسٹ نہیں۔
  • جواب ہمیشہ {status, data, current_utc_time, processing_time_ms} میں ملفوف ہوتا ہے — انٹیگریشنز کو قیمتیں data.costs سے اور ضروریات data.requirements سے پڑھنی چاہئیں۔
  • جواب ریئل ٹائم میں تیار کیا جاتا ہے — یہ Netts سے موجودہ TRON وسائل کی قیمتوں اور دونوں ایڈریسز کی موجودہ آن چین صورتحال کو ظاہر کرتا ہے، لہذا متواتر کالز کے درمیان معمولی تغیرات متوقع ہیں۔
  • اگر آپ کی ایپلی کیشن کو فی منٹ چند بار سے زیادہ کیلکولیٹر کو کال کرنے کی ضرورت ہے (فی IP / فی CF-ایج)، تو اپنی API کی کے ساتھ POST /apiv2/usdt/analyze پر سوئچ کریں۔