Skip to content

Developer Quick Reference

Get instant access to the essential parameters, network endpoints, and code snippets required for TRON development. This quick reference covers Mainnet and Testnet configurations, verified TRC-20 addresses, and core SDK initialization patterns to keep your workflow fast and efficient.

Mainnet
# Task: Note the official Mainnet RPC endpoints and Chain ID.
HTTP API (TronGrid): https://api.trongrid.io
JSON-RPC (EVM): https://api.trongrid.io/jsonrpc
gRPC: grpc.trongrid.io:50051
EVM Chain ID: 728126428 (0x2B6653DC)
Nile Testnet
# Task: Note the official Nile Testnet RPC endpoints and Chain ID.
HTTP API: https://nile.trongrid.io
JSON-RPC (EVM): https://nile.trongrid.io/jsonrpc
EVM Chain ID: 3448148188 (0xcd8690dc)
Faucet: https://nileex.io/join/getJoinPage
Explorer: https://nile.tronscan.org
Shasta Testnet
# Task: Note the official Shasta Testnet RPC endpoints and Chain ID.
HTTP API: https://api.shasta.trongrid.io
EVM Chain ID: 2494104990 (0x94a9059e)
Faucet: https://shasta.tronex.io
Explorer: https://shasta.tronscan.org

Mainnet Contracts
# Task: Use these verified TRC-20 addresses for Mainnet integration.
USDT (TRC-20): TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
USDD (TRC-20): TPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn
stUSDT (TRC-20): TThzxNRLrW2Brp9DcTQU8i4Wd9udCWEdZ3
wstUSDT (TRC-20): TGkxzkDKyMeq2T7edKnyjZoFypyzjkkssq
WTRX (TRC-20): TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR
SUN (TRC-20): TSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S
JST (TRC-20): TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9
BTT (TRC-20): TAFjULxiVgT4qWk6UZwjqwZXTSaGaqnVp4
WIN (TRC-20): TLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU7
Testnet USDT
# Task: Use these addresses for USDT integration on TRON Testnets.
Nile Testnet: TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf
Shasta Testnet: TDZDd58a44n5Bvg7pfpcdWhZpv7XSt9PsU

init_mainnet.js
// Task: Initialize TronWeb for Mainnet with a Pro API Key.
import TronWeb from "tronweb"
const tronWeb = new TronWeb({
fullHost: 'https://api.trongrid.io',
headers: { 'TRON-PRO-API-KEY': 'your-api-key-here' },
privateKey: 'your-private-key-here', // omit for read-only
});
init_nile.js
// Task: Initialize TronWeb for the Nile Testnet.
const tronWeb = new TronWeb({
fullHost: 'https://nile.trongrid.io',
privateKey: 'your-private-key-here',
});
init_injected.js
// Task: Connect to the window.tronWeb instance injected by TronLink.
if (window.tronWeb && window.tronWeb.ready) {
const tronWeb = window.tronWeb;
const address = tronWeb.defaultAddress.base58; // e.g. TJY...
} else {
console.warn('TronLink not installed or locked');
}

Terminal
# Task: Common account and transaction queries via raw HTTP.
# Get account info
curl https://api.trongrid.io/v1/accounts/{address}
# Get TRX balance (returns SUN)
curl https://api.trongrid.io/v1/accounts/{address} | jq '.data[0].balance'
# Get TRC-20 token balance
curl "https://api.trongrid.io/v1/accounts/{address}/tokens?token_id=TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t&token_type=trc20"
# Get latest block
curl https://api.trongrid.io/wallet/getnowblock
# Broadcast a signed transaction
curl -X POST https://api.trongrid.io/wallet/broadcasttransaction \
-H 'Content-Type: application/json' \
-d '{"transaction": {...}}'

trc20_ops.js
// Task: Load a contract and perform TRC-20 balance checks/transfers.
const USDT = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';
const contract = await tronWeb.contract().at(USDT);
// Get balance
const balance = await contract.balanceOf(address).call();
const usdtAmount = tronWeb.toBigNumber(balance).div(1e6).toFixed(6);
// Transfer
const amount = tronWeb.toSun(10);
await contract.transfer(recipientAddress, amount).send();

address_utils.js
// Task: Convert and validate TRON addresses between Hex and Base58.
// Convert hex to Base58
const base58 = tronWeb.address.fromHex('0x41....');
// Convert Base58 to hex
const hex = tronWeb.address.toHex('TXXX...');
// Validate
const isValid = tronWeb.isAddress('TXXX...');

token_metadata.js
// Task: Fetch decimals and symbol for any TRC-20 token.
const contract = await tronWeb.contract().at('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t');
const [symbol, decimals, name] = await Promise.all([
contract.symbol().call(),
contract.decimals().call(),
contract.name().call()
]);
console.log(`${name} (${symbol}): ${decimals} decimals`);

BehaviorEthereum / EVMTRON / TVM
block.timestampSeconds since epochMilliseconds since epoch
SELFDESTRUCTEIP-6780 (Asset transfer only)Aligned with EIP-6780 (Proposal 106)
Address encodingaddress = 20-byte hexaddress = 20-byte, but Base58 in tooling
Fee modelGas (ETH per unit)Energy (from staking) + Bandwidth (per byte)
PrecompilesFull EVM setPartial — some precompiles behave differently
tx.originAllowedAllowed but same caveats as EVM

ParameterValue
Block time~3 seconds
Finality~19 blocks (~57 seconds)
Energy burn rate100 sun per Energy unit
Bandwidth burn rate1,000 Bandwidth per TRX
Free Bandwidth per account/day600 points
USDT transfer Energy cost~31,895 (base) – ~64,895 (new account); Up to 140k+ at peak congestion
Block reward8 TRX (to producing SR)
Vote reward128 TRX per block (distributed to top 127 SRs)

ResourceURL
TRON Developer Docsdevelopers.tron.network
TronGrid API keytrongrid.io
TRONSCAN (mainnet)tronscan.org
TronBox (npm)npm install -g tronbox
tronweb (npm)npm install tronweb
TIP repositorygithub.com/tronprotocol/tips
java-tron full nodegithub.com/tronprotocol/java-tron