Інструкції

Як зменшити комісії за переказ USDT через API : покрокова інструкція з API TronNRG

Коротка версія: стандартний переказ USDT TRC-20 споживає 65 000 Energy . Якщо у вашому гаманці немає Energy , Tron спалює приблизно 13 TRX з вашого балансу, щоб покрити її. За допомогою API TronNRG ви делегуєте ту саму Energy за 4 TRX — приблизно 70% скорочення на кожне відправлення. Інтеграція полягає в трьох HTTP-операціях: надсилання TRX на адресу відправлення, підписання повідомлення про власність та POST до кінцевої точки /delegate. Цей посібник ознайомить вас із кожним кроком із кодом та чотирма найпоширенішими помилками, з якими ви зіткнетеся у продакшені.

Перш ніж почати

Перед першим викликом API вам потрібні три речі:

Гаманець Tron з TRX . Щонайменше 4 TRX для оплати одного делегування. У продакшені більше — ви платитимете за кожен переказ, а періодично поповнювати гарячий гаманець простіше, ніж мікрофінансувати його за відправку.

Спосіб підписання повідомлень Tron . TronWeb надає доступ до tronWeb.trx.signMessageV2() . Python використовує tron.trx.sign_message_v2() через tronpy. PHP використовує бібліотеку iexbase/tron-api. Довідник API TronNRG містить робочі приклади всіма чотирма мовами.

Адреса гаманця одержувача. Заздалегідь вирішіть, чи делегуєте ви кошти самому гаманцю-платнику (найпростіший випадок), чи іншому гаманцю, який ви контролюєте (налаштування казначейства). Обидва варіанти спрацюють. Підпис пов'язує їх разом.

Що ви насправді будуєте

Обгортка навколо вашої існуючої функції відправлення USDT . Обгортка виконує три HTTP-операції (оплата, підпис, отримання), очікує на прибуття Energy , а потім викликає вашу існуючу логіку переказу USDT . Це вся інтеграція. Все нижче наведено деталі кожного кроку.

Крок 1: Надішліть TRX на адресу відправлення

Надішліть TRX з гаманця, за Energy якого ви платите, на адресу відправлення TronNRG . Мінімальна сума – 4 TRX (що дає змогу купити 65 000 Energy , чого достатньо для одного стандартного переказу USDT ). Максимальна сума на делегування – 1000 TRX (16,25 млн Energy ). Ціноутворення лінійне та становить 16 250 Energy за TRX .

У TronWeb :

Код кроку 1

const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid is what you will sign in Step 2

Поширена помилка: надсилання TRX у цілих числах, номінованих у SUN, але забуття про конвертацію. TRX має 6 знаків після коми. 4 TRX – це 4_000_000 SUN ( 4 * 1e6 ). Якщо зробити цю помилку, то буде відправлено «пил» (делегування буде занадто малим), або сотні TRX (делегування буде успішним, але ви заплатите набагато більше, ніж потрібно). Завжди подвоюйте суму перед передачею до sendTransaction .

Крок 2: Підпишіть повідомлення авторизації

API потребує доказів того, що особа, яка претендує на делегування, є тією ж особою, яка здійснила платіж. Ви надаєте їх, підписуючи повідомлення закритим ключем гаманця, що здійснює платіж. Формат повідомлення такий:

{payment_tx_hash}:{delegate_to_address}

Де payment_tx_hash це txid, повернутий на кроці 1, а delegate_to_address — це адреса Tron , на яку потрібно делегувати Energy . У TronWeb :

Код кроку 2

const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);

Чому саме такий дизайн: він усуває потребу в ключах API , водночас забезпечуючи безпеку делегування. Ніхто інший не може вимагати ваш платіж, оскільки тільки ви маєте закритий ключ. Ви також можете платити з гаманця A та делегувати гаманцю B, якщо ви контролюєте A — корисно для казначейств, які фінансують Energy для кількох гаманців-відправників від одного платника.

Поширена помилка: використання неправильного методу підписання. Tron має два стандарти підписання повідомлень — signMessage (застарілий) та signMessageV2 (сумісний з EIP-191). API очікує V2. Використання застарілого стандарту призведе до створення підпису, який виглядає дійсним, але API відхилить його як невідповідність підписів.

Крок 3: Заявіть на делегування

Опублікуйте хеш платежу, цільовий гаманець та підпис на api.tronnrg.com/delegate у форматі JSON.

Код кроку 3

const res = await fetch('https://api.tronnrg.com/delegate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: payment.txid,
delegate_to: delegateTo,
signature
})
}).then(r => r.json());

API повертає три поля, які ви використовуватимете: res.energy (обсяг делегованої Energy , що дорівнює надісланому TRX , помноженому на 16 250), res.delegations[0].tx (хеш транзакції делегування в мережі — збережіть його для свого журналу аудиту) та res.ref (ідентифікатор посилання, наприклад, nrg_d_42 корисний для запитів підтримки).

Делегування потрапляє в блокчейн приблизно протягом 3 секунд після успішного подання заявки. Воно тримається протягом 15 хвилин з цього моменту. Через 15 хвилин будь-яка невикористана Energy автоматично повертається до пулу TronNRG — часткового відшкодування не здійснюється.

Крок 4: Розсилка вашого переказу USDT

Перед трансляцією переказу USDT підтвердьте фактичне надходження Energy . Опитуйте tronWeb.trx.getAccountResources() на цільовому гаманці, доки EnergyLimit - EnergyUsed не досягне щонайменше 65 000. Стандартним є інтервал 500 мс з 30-секундним тайм-аутом.

Потім надішліть USDT , як ви це робите зазвичай. Energy покриває комісію. TRX не спалюються з гаманця відправника.

Крок 4 візерунок

// Wait for Energy to arrive
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });

// Broadcast the USDT transfer
const contract = await tronWeb.contract().at( USDT _CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });

Завжди встановлюйте feeLimit. Якщо Energy якимось чином не надходить, а ваш код все одно транслюється, feeLimit обмежує максимальну кількість TRX яку мережа може спалити. 20 TRX (виражено як 20 000 000 SUN) – це розумна стеля – достатньо, щоб покрити один переказ, якщо Energy вийде з ладу, обмежена, щоб помилка не могла виснажити гарячий гаманець.

Що це насправді вам заощадить

Економія на кожному переказі фіксована в TRX : приблизно 9 TRX заощаджується на кожному стандартному відправленні USDT (13 TRX уникнуто, мінус 4 TRX сплачено за Energy ). Це число не змінюється залежно від ринкових умов — це властивість мережі Tron на рівні протоколу. Змінюється лише те, скільки доларів представляють ці 9 TRX .

За реального обсягу бізнесу економія швидко зростає:

Щоденні трансфери Щорічне спалювання TRX (без API ) Річна TRX через API Збережено TRX за рік Зменшення
10 ~47 450 14 600 ~32 850 ~69%
100 ~474 500 146 000 ~328 500 ~69%
500 ~2,37 млн 730 000 ~1,64 млн ~69%
1000 ~4,75 млн 1,46 млн. ~3,29 млн ~69%
5000 ~23,7 млн 7,30 млн. ~16,4 млн ~69%

Щоб отримати поточні показники USD за актуальною ціною TRX , скористайтеся калькулятором комісій TronNRG — введіть свій щоденний обсяг, і він покаже економію в доларах у режимі реального часу.

Якщо ви здійснюєте понад 500 переказів на день, також варто порівняти це з TRX із самостейкінгом, щоб генерувати власну Energy . Самостейкінг має майже нульові витрати на переказ, але вимагає значного блокування капіталу. Калькулятор беззбитковості стекінгу показує, де перетинаються лінії API та самостейкінгу для вашого конкретного обсягу.

Усунення несправностей

Чотири помилки трапляються досить часто, щоб про них варто було знати заздалегідь:

Невідповідність підписів (найпоширеніша). API підписує за допомогою V2, але ви підписали за допомогою застарілого методу signMessage . Виправлення: перейдіть на signMessageV2 . Повний список кодів помилок міститься в документації щодо помилок TronNRG .

Платіж не знайдено. Ви викликали /delegate до підтвердження платіжної транзакції в мережі. Виправлення: зачекайте принаймні один блок (близько 3 секунд) після кроку 1, перш ніж викликати крок 3. У коді опитуйте tronWeb.trx.getTransaction(payment.txid) доки не поверне результат.

Оплата нижча за мінімальну. Ви надіслали менше 4 TRX . Диспечерська служба вважає будь-яку суму менше 4 TRX недійсною та автоматично повертає кошти. Виправлення: перевірте суми перед відправкою — мінімальна сума є фіксованою.

Energy не надійшла. Делегування успішно виконано на стороні API , але цільовий гаманець все ще не показує Energy . Виправлення: зачекайте ще один блок і перевірте ще раз — поширення іноді може тривати 6 секунд замість 3. Якщо Energy все ще не з'являється після 30 секунд, перевірте, чи відповідає адреса цільового гаманця, яку ви надіслали, тій, яку ви запитуєте (тут зазвичай виникає друкарська помилка).

▸ API TronNRG доступний за адресою api.tronnrg.com.

Читати повну документацію →

Для корпоративних обсягів: звертайтеся до TronNRG у Telegram для підтвердження вебхуків, оптових цін та індивідуальних угод про рівень обслуговування.

Пов’язані посібники: API Tron Energy для розробників · Автоматизація переказів USDT у великих масштабах · Надсилання USDT менш ніж за $1

ТРИ ВИКЛИКИ API . ЗНИЖКА 70% НА КОЖЕН ПЕРЕКАЗ USDT .

TronNRG доступний за адресою api.tronnrg.com. Мінімум 4 TRX , лінійне ціноутворення до 1000 TRX . Делегування протягом 3 секунд. Авторизація на основі підпису, ключ API не потрібен. Повна документація всіма підтримуваними мовами доступна на support.tronnrg.com.

ОРЕНДА ЕНЕРГІЇ →

FAQ

Який найшвидший спосіб програмно зменшити комісії за переказ USDT ?
Використовуйте API делегування Energy . API TronNRG на api.tronnrg.com делегує 65 000 Energy (один стандартний переказ USDT ) за 4 TRX замість ~13 TRX , які мережа б спалила в іншому випадку — приблизно 70% зниження комісії. Інтеграція полягає в трьох HTTP-операціях: надсилання TRX на адресу відправлення, підписання повідомлення про власність, POST до /delegate. Час відправлення до / USDT становить близько 3 секунд.
Чи потрібен мені ключ API для використання api.tronnrg.com?
Для стандартного процесу делегування не потрібен ключ API . Автентифікація здійснюється шляхом підписання повідомлення закритим ключем платіжного гаманця. Це підтверджує право власності в мережі та дозволяє API перевірити запит без будь-якого налаштування облікового запису, інформаційних панелей чи секретів, які потрібно ротувати. Щодо корпоративних обсягів (понад 500 щоденних переказів) із підтвердженнями вебхуків та індивідуальними угодами про рівень обслуговування звертайтеся до TronNRG у Telegram.
Чи можу я платити з одного гаманця та делегувати Energy іншому?
Так. Підписане повідомлення прив'язує хеш платіжної транзакції до адреси гаманця delegate_to. Поки ви маєте закритий ключ для гаманця-платника, ви можете делегувати отриману Energy на будь-яку адресу Tron . Це корисно для систем казначейства, де гаманець фінансування платить за Energy від імені кількох гаманців-відправників.
Яка модель ціноутворення — чи завжди я плачу рівно 4 TRX ?
Ціноутворення лінійне і становить 16 250 Energy за TRX , з мінімумом 4 TRX (65 000 Energy , один стандартний переказ) та максимумом 1000 TRX (16,25 млн. Energy ). Таким чином, 8 TRX Energy на два стандартні перекази або на один переказ на новий гаманець (який коштує вдвічі дорожче), 40 TRX вистачає на 10 переказів тощо. Делегування триває 15 хвилин, тому ви можете сплатити один раз і надіслати кілька транзакцій USDT протягом цього вікна.
Що станеться, якщо делегування не вдасться після того, як я вже сплатив?
TronNRG автоматично повертає TRX на адресу відправника в мережі, якщо делегування не може бути завершено з будь-якої причини. Сценарію застрягання коштів немає. Тим не менш, у продакшені вам все одно слід реалізувати резервний варіант: якщо виклик /delegate не вдається або Energy не надходить протягом розумного тайм-ауту, транслюйте переказ USDT без Energy (мережа спалює TRX , переказ все одно завершується) та реєструйте подію для розслідування.
Чи є послуга TronNRG невіддільною від відповідальності?
Так. Energy делегується через вбудований механізм делегування на рівні протоколу Tron . TronNRG ніколи не зберігає ваші USDT , ніколи не вимагає підключення до гаманця та ніколи не запитує схвалення токенів. Сервіс надає Energy на адресу вашого гаманця. Ви надсилаєте USDT з адреси вашого гаманця. Ці дві операції повністю незалежні. Єдині токени, до яких звертається TronNRG – це TRX які ви надсилаєте для купівлі Energy .
Які мови програмування мають робочі приклади?
Документація розробника TronNRG на support.tronnrg.com містить приклади копіювання та вставки в JavaScript ( TronWeb ), Python (tronpy), PHP (iexbase/tron-api) та cURL. Інтеграцію можна здійснювати з будь-якою мовою, яка може підписувати повідомлення Tron та здійснювати HTTP-виклики — реалізації Go, Rust, Java та C# вже запущені у продакшн на цьому API .
Telegram WhatsApp