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 या किसी अन्य रिवर्स प्रॉक्सी के पीछे होता है, तो यह सीमा प्रभावी रूप से उसी एज के माध्यम से Netts तक पहुंचने वाले सभी क्लाइंट्स के बीच साझा हो सकती है, इसलिए आपको एक ही उपयोगकर्ता से 60 अनुरोध/मिनट से पहले भी 429 Too Many Requests दिखाई दे सकता है।

छिटपुट कॉलों से परे किसी भी चीज़ के लिए, प्रमाणित POST /apiv2/usdt/analyze एंडपॉइंट का उपयोग करें — इसकी प्रति-कुंजी सीमा बहुत अधिक (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)

शीर्ष-स्तरीय एनवलप:

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बर्न बनाम रेंट लागत का विवरण और अनुशंसित तरीका।
can_transferbooleanयदि वर्तमान संसाधनों/कीमतों के साथ स्थानांतरण निष्पादित किया जा सकता है तो true
issuesstring[]विश्लेषण के दौरान पाई गई समस्याएं (उदा. अपर्याप्त बैंडविड्थ)।
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यदि energy का भुगतान सीधे बर्न के माध्यम से किया जाता है तो बर्न किया गया TRX।
bandwidth_burn_trxdecimalयदि bandwidth मुफ्त में उपलब्ध नहीं है तो उसे कवर करने के लिए बर्न किया गया 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_trxdecimalburn की तुलना में rent कितना सस्ता है (यदि बर्न सबसे अच्छा है तो नकारात्मक हो सकता है)।
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
}

त्रुटियां

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 हेडर (सेकंड) का पालन करें। पुनः प्रयास करने से पहले थोड़ा जिटर (उदा. 0–200 मिलीसेकंड) जोड़ें, फिर यदि आप अभी भी सीमा पर पहुंचते हैं तो एक्सपोनेंशियल बैकऑफ़ का उपयोग करें।
  • HTTP 5xx या नेटवर्क त्रुटियों पर, एक्सपोनेंशियल बैकऑफ़ के साथ अधिकतम 2–3 बार पुनः प्रयास करें; एंडपॉइंट पर बार-बार अनुरोधों की बौछार न करें।
  • प्रत्येक (sender, receiver) युग्म के लिए परिणाम को क्लाइंट-साइड पर 30–60 सेकंड के लिए कैश करें — अंतर्निहित संसाधन कीमतें और ऑन-चेन स्थिति शायद ही कभी इतनी तेजी से बदलती है कि अधिक बार पुनर्गणना की आवश्यकता हो।

उदाहरण 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 पर स्विच करें