USDT Transfer Ücretleri API ile Nasıl Düşürülür: TronNRG API ile Adım Adım
Kısa özet: Standart bir USDT TRC-20 transferi 65,000 Enerji tüketir. Cüzdanınızda Enerji yoksa Tron, bunu karşılamak için bakiyenizden yaklaşık 13 TRX yakar. TronNRG API ile aynı Enerjiyi 4 TRX'e delege edebilirsiniz — her göndermede yaklaşık %70 tasarruf. Entegrasyon üç HTTP işleminden oluşur: TRX'i dağıtım adresine gönderin, bir sahiplik mesajı imzalayın ve /delegate endpoint'ine POST isteği atın. Bu rehber, her adımı kod örnekleri ve üretimde karşılaşacağınız dört yaygın hatayla birlikte ele almaktadır.
Başlamadan Önce
İlk API çağrısından önce üç şeye ihtiyacınız var:
TRX içeren bir Tron cüzdanı. Tek bir delegasyon için en az 4 TRX gereklidir. Üretim ortamında daha fazlası şart — transfer başına ücret ödeyeceğinizden, sıcak cüzdanı periyodik olarak doldurmak her gönderim için ayrı ayrı fonlamaktan çok daha pratiktir.
Tron mesajlarını imzalama yöntemi. TronWeb, tronWeb.trx.signMessageV2() fonksiyonunu sunar. Python, tronpy aracılığıyla tron.trx.sign_message_v2() kullanır. PHP ise iexbase/tron-api kütüphanesini kullanır. TronNRG API referansı dört dil için de çalışan örnekler içermektedir.
Alıcı cüzdan adresi. Enerjiyi ödeme yapan cüzdanın kendisine mi (en basit senaryo) yoksa kontrolünüzdeki farklı bir cüzdana mı (hazine kurulumu) devredeceğinize baştan karar verin. Her ikisi de çalışır. İmza, ikisini birbirine bağlar.
Mevcut USDT gönderme fonksiyonunuzun etrafına sarılan bir katman. Bu katman üç HTTP işlemi gerçekleştirir (ödeme, imzalama, talep etme), Enerji'nin hesaba geçmesini bekler, ardından mevcut USDT transfer mantığınızı çağırır. Entegrasyonun tamamı bundan ibarettir. Aşağıdaki her şey, her adımın ayrıntısıdır.
Adım 1: Dispatch Adresine TRX Gönderin
Enerjisini satın aldığınız cüzdandan TronNRG dispatch adresine TRX gönderin. Minimum tutar 4 TRX'tir (bu, 65,000 Enerji satın alır; tek bir standart USDT transferi için yeterlidir). Delegasyon başına maksimum 1,000 TRX'tir (16.25M Enerji). Fiyatlandırma, bu aralıkta TRX başına 16,250 Enerji olacak şekilde doğrusal olarak hesaplanır.
TronWeb ile:
const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid, 2. Adımda imzalayacağınız değerdir
Yaygın hata: TRX'i SUN cinsinden tam sayıyla gönderirken dönüşümü unutmak. TRX'in 6 ondalık basamağı vardır. 4 TRX, 4_000_000 SUN'a (4 * 1e6) eşittir. Bu hatayı yapmak ya çok küçük bir miktar göndermenize (delegasyon yetersiz kalır) ya da yüzlerce TRX göndermenize (delegasyon başarılı olur ama gereğinden çok ödemiş olursunuz) yol açar. sendTransaction fonksiyonuna geçirmeden önce miktarı her zaman doğrulayın.
Adım 2: Yetkilendirme Mesajını İmzalayın
API, delegasyonu talep eden kişinin ödemeyi yapan kişiyle aynı olduğunu doğrulamaya ihtiyaç duyar. Bunu, ödeme yapan cüzdanın özel anahtarıyla bir mesaj imzalayarak sağlarsınız. Mesaj formatı şu şekildedir:
{payment_tx_hash}:{delegate_to_address}
payment_tx_hash, 1. Adımda döndürülen txid'dir; delegate_to_address ise Energy delegasyonu yapmak istediğiniz Tron adresidir. TronWeb ile:
const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);
Bu tasarımın amacı: delegasyonu güvende tutarken API anahtarına olan ihtiyacı ortadan kaldırmaktır. Özel anahtarı yalnızca siz tuttuğunuz için başka hiç kimse ödemenizi talep edemez. Ayrıca A cüzdanından ödeme yapıp B cüzdanına delegasyon yapabilirsiniz; tek koşul A'yı kontrol ediyor olmanızdır. Bu özellik, tek bir ödeme hesabından birden fazla gönderen cüzdana Energy sağlayan hazineler için oldukça kullanışlıdır.
Sık yapılan hata: yanlış imzalama yönteminin kullanılmasıdır. Tron'un iki mesaj imzalama standardı vardır: signMessage (eski) ve signMessageV2 (EIP-191 uyumlu). API, V2'yi beklemektedir. Eski yöntemi kullanmak, geçerliymiş gibi görünen ancak API tarafından imza uyuşmazlığı olarak reddedilen bir imza üretir.
Adım 3: Delegasyonunuzu Talep Edin
Ödeme hash'ini, hedef cüzdanı ve imzayı JSON olarak api.tronnrg.com/delegate adresine POST isteğiyle gönderin.
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, kullanacağınız üç alan döndürür: res.energy (delege edilen Enerji miktarı; gönderilen TRX'in 16,250 katına eşittir), res.delegations[0].tx (zincir üstü delegasyon işlem hash'i — bunu denetim kaydınız için saklayın) ve res.ref (destek taleplerinizde işinize yarayacak nrg_d_42 formatında bir referans kimliği).
Delegasyon, başarılı bir claim işleminin ardından yaklaşık 3 saniye içinde zincire düşer. O andan itibaren 1 saat geçerlidir. 1 saat sonra kullanılmayan Energy otomatik olarak TronNRG havuzuna geri döner — kısmi iade yapılmaz.
Adım 4: USDT Transferini Yayınlayın
USDT transferini yayınlamadan önce Energy'nin gerçekten gelip gelmediğini doğrulayın. Hedef cüzdanda EnergyLimit - EnergyUsed değeri en az 65,000 olana kadar tronWeb.trx.getAccountResources() fonksiyonunu periyodik olarak sorgulayın. 500ms aralıkla 30 saniyelik zaman aşımı standart bir yaklaşımdır.
Ardından USDT transferini her zamanki gibi gönderin. Ücret Energy tarafından karşılanır. Gönderen cüzdandan TRX yakılmaz.
// Energy'nin gelmesini bekle
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });
// USDT transferini yayınla
const contract = await tronWeb.contract().at(USDT_CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });
Her zaman bir feeLimit belirleyin. Enerji bir şekilde ulaşmaz ve kodunuz yine de işlemi yayınlarsa, feeLimit ağın yakabileceği maksimum TRX miktarını sınırlar. 20 TRX (20.000.000 SUN olarak ifade edilir) makul bir üst sınırdır — Enerji gelmezse tek bir transferi karşılamaya yetecek kadar yüksek, bir hata sıcak cüzdanı boşaltamasın diye de yeterince düşük.
Bu Size Gerçekte Ne Kazandırır?
Transfer başına tasarruf TRX cinsinden sabittir: her standart USDT gönderiminde yaklaşık 9 TRX tasarruf sağlanır (13 TRX yakma önlenir, Enerji için ödenen 4 TRX düşülür). Bu rakam piyasa koşullarıyla değişmez — Tron ağının protokol düzeyinde bir özelliğidir. Değişen şey, o 9 TRX'in kaç dolara karşılık geldiğidir.
Gerçek iş hacminde tasarruflar hızla katlanır:
| Günlük Transfer | Yıllık TRX Yakma (API'siz) | API ile Yıllık TRX | Yılda Tasarruf Edilen TRX | Azalma |
|---|---|---|---|---|
| 10 | ~47,450 | 14,600 | ~32,850 | ~69% |
| 100 | ~474,500 | 146,000 | ~328,500 | ~69% |
| 500 | ~2.37M | 730,000 | ~1.64M | ~69% |
| 1,000 | ~4.75M | 1.46M | ~3.29M | ~69% |
| 5,000 | ~23.7M | 7.30M | ~16.4M | ~69% |
Güncel TRX fiyatıyla anlık USD değerleri için TronNRG ücret hesaplayıcısını kullanın — günlük işlem hacminizi girin, gerçek zamanlı dolar tasarrufunuzu görün.
Günlük 500'den fazla transfer gerçekleştiriyorsanız, kendi Enerjinizi üretmek amacıyla TRX stake etmeyi de karşılaştırmanızda değerlendirmenizi öneririz. Kendi kendine stake etmenin transfer başına maliyeti neredeyse sıfırdır; ancak önemli miktarda sermaye kilitlenmesi gerektirir. Stake başabaş hesaplayıcısı, belirli işlem hacminiz için API ile kendi kendine stake etmenin hangi noktada kesiştiğini gösterir.
Sorun Giderme
Önceden bilmeniz fayda sağlayacak dört yaygın hata bulunmaktadır:
İmza uyuşmazlığı (en sık karşılaşılan). API, V2 ile imzalarken siz eski signMessage yöntemini kullandınız. Çözüm: signMessageV2 yöntemine geçin. Hata kodlarının tam listesi TronNRG hata belgelerinde yer almaktadır.
Ödeme bulunamadı. /delegate uç noktasını, ödeme işlemi zincir üzerinde onaylanmadan önce çağırdınız. Çözüm: 1. Adımdan sonra 3. Adımı çağırmadan önce en az bir blok (yaklaşık 3 saniye) bekleyin. Kodda, tronWeb.trx.getTransaction(payment.txid) bir sonuç döndürene kadar yoklama yapın.
Ödeme minimumun altında. 4 TRX'ten az gönderdiniz. Sistem, 4 TRX altındaki her tutarı geçersiz sayar ve otomatik olarak iade eder. Çözüm: göndermeden önce tutarları kontrol edin — minimum limit kesindir.
Enerji ulaşmadı. Delegasyon API tarafında başarıyla gerçekleşti ancak hedef cüzdanda hâlâ Enerji görünmüyor. Çözüm: bir blok daha bekleyip tekrar kontrol edin — yayılım zaman zaman 3 saniye yerine 6 saniye sürebilir. 30 saniye sonra hâlâ Enerji görünmüyorsa, gönderdiğiniz hedef cüzdan adresinin sorguladığınız adresle eşleşip eşleşmediğini kontrol edin (genellikle nedeni yazım hatasıdır).
Kurumsal hacimler için: webhook onayları, toplu fiyatlandırma ve özel SLA'lar hakkında Telegram'dan TronNRG ile iletişime geçin.
İlgili rehberler: Geliştiriciler için Tron Energy API · USDT transferlerini API ile otomatikleştirin · USDT'yi 1 dolardan az ücretle gönderin
ÜÇ API ÇAĞRISI. HER USDT TRANSFERİNDE %70 TASARRUF.
TronNRG, api.tronnrg.com adresinde aktif olarak hizmet veriyor. Minimum 4 TRX, 1,000 TRX'e kadar doğrusal fiyatlandırma. 3 saniyede delegasyon. İmza tabanlı kimlik doğrulama, API anahtarı gerekmez. Tüm desteklenen dillerde eksiksiz dokümantasyon için support.tronnrg.com adresini ziyaret edin.
ENERJİ KİRALA →