GET /apiv2/usdt/{sender}&
Публичный калькулятор стоимости перевода USDT с подробным анализом требований энергии и bandwidth. Не требует аутентификации.
URL эндпоинта
GET https://netts.io/apiv2/usdt/{sender_address}&{receiver_address}
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
sender_address | string | Да | TRC-20 адрес отправителя USDT (34 символа) |
receiver_address | string | Да | TRC-20 адрес получателя USDT (34 символа) |
Rate Limiting
Ограничения
5 запросов в секунду на один IP адрес
Примеры запросов
cURL
bash
curl -X GET "https://netts.io/apiv2/usdt/TFMpi82sgUb8ViN8VVuJfAqjM7gTqwdB9E&TLP4DXCmsNrHFbJe6jVbqqJBTHrNrs4wjk" \
-H "Content-Type: application/json"
Python
python
import requests
sender = "TFMpi82sgUb8ViN8VVuJfAqjM7gTqwdB9E"
receiver = "TLP4DXCmsNrHFbJe6jVbqqJBTHrNrs4wjk"
url = f"https://netts.io/apiv2/usdt/{sender}&{receiver}"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
requirements = data['data']['requirements']
costs = data['data']['costs']
print(f"Энергии нужно: {requirements['energy_needed']}")
print(f"Стоимость аренды: {costs['energy_rental_trx']} TRX")
print(f"Экономия: {costs['savings_percentage']:.1f}%")
else:
print(f"Ошибка: {data.get('msg')}")
Node.js
javascript
const axios = require('axios');
const sender = 'TFMpi82sgUb8ViN8VVuJfAqjM7gTqwdB9E';
const receiver = 'TLP4DXCmsNrHFbJe6jVbqqJBTHrNrs4wjk';
const url = `https://netts.io/apiv2/usdt/${sender}&${receiver}`;
async function calculateUSDT() {
try {
const response = await axios.get(url);
const { requirements, costs } = response.data.data;
console.log(`Энергии нужно: ${requirements.energy_needed}`);
console.log(`Стоимость аренды: ${costs.energy_rental_trx} TRX`);
console.log(`Экономия: ${costs.savings_percentage.toFixed(1)}%`);
} catch (error) {
console.error('Error:', error.response.data.msg);
}
}
calculateUSDT();
PHP
php
<?php
$sender = 'TFMpi82sgUb8ViN8VVuJfAqjM7gTqwdB9E';
$receiver = 'TLP4DXCmsNrHFbJe6jVbqqJBTHrNrs4wjk';
$url = "https://netts.io/apiv2/usdt/$sender&$receiver";
$response = file_get_contents($url);
$data = json_decode($response, true);
if ($data['status'] === 'success') {
$requirements = $data['data']['requirements'];
$costs = $data['data']['costs'];
echo "Энергии нужно: " . $requirements['energy_needed'] . "\n";
echo "Стоимость аренды: " . $costs['energy_rental_trx'] . " TRX\n";
echo "Экономия: " . round($costs['savings_percentage'], 1) . "%\n";
} else {
echo "Ошибка: " . $data['msg'] . "\n";
}
?>
Ответ
Успешный ответ (200 OK)
json
{
"status": "success",
"data": {
"sender": {
"address": "TFMpi82sgUb8ViN8VVuJfAqjM7gTqwdB9E",
"is_activated": true,
"trx_balance": 167.39,
"usdt_balance": 39548.62,
"energy_balance": 0,
"bandwidth_balance": 357,
"has_usdt": true
},
"receiver": {
"address": "TLP4DXCmsNrHFbJe6jVbqqJBTHrNrs4wjk",
"is_activated": true,
"trx_balance": 0.000001,
"usdt_balance": 0.0,
"energy_balance": 0,
"bandwidth_balance": 600,
"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": 27.36,
"bandwidth_burn_trx": 0.0,
"total_burn_trx": 27.36,
"energy_rental_trx": 4.04,
"rental_time_period": "Daytime Hours (11:00-21:00 UTC)",
"savings_trx": 23.32,
"savings_percentage": 85.24,
"recommended_method": "rent",
"total_cost_trx": 4.04
},
"can_transfer": true,
"issues": [
"Insufficient energy: need 130285 more (costs 4.04 TRX to rent)"
],
"recommendations": [
"Rent 130285 energy for 4.04 TRX (saves 85.2% vs burning)",
"💰 Total cost: 4.04 TRX (rent energy)"
]
},
"current_utc_time": "2025-08-16T10:50:12",
"processing_time_ms": 414.64
}
Ошибки
Неверный формат адреса (400)
json
{
"status": "error",
"msg": "Invalid TRON address format",
"data": null
}
Одинаковые адреса (400)
json
{
"status": "error",
"msg": "Transfer to same address not allowed",
"data": null
}
Превышен лимит запросов (429)
json
{
"status": "error",
"msg": "Rate limit exceeded",
"data": null
}
Примечания
- Эндпоинт не требует API ключа (публичный доступ)
- Лимит: 5 запросов в секунду на IP
- Анализирует только перевод 1 USDT
- Показывает оптимальный способ (аренда vs заморозка TRX)
- Время расчета обычно менее 500ms