USDT transfers on TRON at a fraction of the fee.
Rent energy per transfer, per hour or per day. Without it a USDT transfer burns 6.5 TRX; with nrg.market it costs 1.82 TRX right now. Energy is delegated to your wallet — your keys never leave you.
Or try the sandbox first — the same API over test money, a key you issue yourself, no deposit. →
What it costs
Three leases on sale: 5 minutes · 1 hour · 1 day. Prices follow the market inside the time-of-day zones and are recomputed regularly; the price in your order is fixed at creation.
Tomorrow's line is an estimate from history — not an offer and not a guarantee. The only commitment is the price fixed in your order.
What your volume costs
Drag to your daily volume, then say who your transfers go to and when they happen. Burning is the protocol's own rate on the same energy; our side blends the zone prices in force right now.
Your first transfer in four calls
- 01 Top up TRX Send TRX to your personal address. Credited after 3 confirmations — about 10 seconds.
- 02 Create an order One POST with the recipient. The cost is reserved, not charged; the price is fixed at that moment.
- 03 Energy is delegated About a second on the usual path, visible on-chain. The order returns send_before — the end of the window.
- 04 Send your USDT The transfer executes on the delegated energy instead of burning your TRX.
Energy not used before the window closes is charged anyway — delivery is what you pay for. The window is returned with every order.
# 1 · your personal top-up address curl https://api.nrg.market/v1/deposit-address -H "Authorization: Bearer $KEY" # 2 · credits arrived? curl https://api.nrg.market/v1/balance -H "Authorization: Bearer $KEY" # 3 · order energy for a transfer curl -X POST https://api.nrg.market/v1/orders \ -H "Authorization: Bearer $KEY" -H "Idempotency-Key: $(uuidgen)" \ -d '{"mode":"a","transfers":[{"from":"TSender…","to":"TRecipient…"}]}' # 4 · poll until send_before appears — then send your USDT before it curl https://api.nrg.market/v1/orders/$ORDER_ID -H "Authorization: Bearer $KEY"
import os, uuid, httpx
api = httpx.Client(
base_url="https://api.nrg.market/v1",
headers={"Authorization": f"Bearer {os.environ['NRG_API_KEY']}"},
timeout=10,
)
# 1 · your personal top-up address
api.get("/deposit-address").json()
# 2 · credits arrived?
api.get("/balance").json()
# 3 · order energy for a transfer
order = api.post(
"/orders",
headers={"Idempotency-Key": str(uuid.uuid4())},
json={"mode": "a", "transfers": [{"from": "TSender…", "to": "TRecipient…"}]},
).json()
# 4 · poll until send_before appears — then send your USDT before it
api.get(f"/orders/{order['id']}").json()
const base = "https://api.nrg.market/v1";
const auth = { Authorization: `Bearer ${process.env.NRG_API_KEY}` };
const get = (p) => fetch(base + p, { headers: auth }).then((r) => r.json());
// 1 · your personal top-up address
await get("/deposit-address");
// 2 · credits arrived?
await get("/balance");
// 3 · order energy for a transfer
const order = await fetch(base + "/orders", {
method: "POST",
headers: { ...auth, "Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID() },
body: JSON.stringify({ mode: "a",
transfers: [{ from: "TSender…", to: "TRecipient…" }] }),
}).then((r) => r.json());
// 4 · poll until send_before appears — then send your USDT before it
await get(`/orders/${order.id}`);
Built for volume
No code? Order from the dashboard.
- 01 Top up TRX Send TRX to your personal address; credited in about 10 seconds.
- 02 Name the wallet and the volume The wallet the USDT will leave from, and how much energy — one transfer's worth, or a volume in units. No recipient address needed.
- 03 Send from any wallet app Energy lands on that wallet; send before the window closes, and the transfer runs on it instead of burning TRX.