Contract verification
Verify source code directly on the testnet TRONSCAN. Useful for testing your verification workflow before mainnet.
Develop and test your applications without financial risk using TRON’s dedicated testnets. This guide provides connection details for the cutting-edge Nile and stable Shasta environments, along with instructions for accessing faucets and configuring your local tools for sandbox testing.
Nile is TRON’s feature testnet — its node version runs ahead of mainnet so new protocol features can be tested before they ship. Use Nile when you need to test against upcoming protocol changes or want the most active community testing environment.
| Parameter | Value |
|---|---|
| Network name | Nile |
| Chain ID / Network ID | 3 |
| Full node URL | https://nile.trongrid.io |
| Block explorer | nile.tronscan.org |
| Faucet | nileex.io/join/getJoinPage |
| Faucet amount | ~2,000 test TRX per 24h |
// Task: Configure the SDK to target the Nile Testnet FullNode.const tronWeb = new TronWeb({ fullHost: 'https://nile.trongrid.io', privateKey: process.env.PRIVATE_KEY_NILE,});// Task: Add the Nile network profile to your TronBox project configuration.nile: { privateKey: process.env.PRIVATE_KEY_NILE, userFeePercentage: 100, feeLimit: 1000000000, fullHost: 'https://nile.trongrid.io', network_id: '3',},Shasta is TRON’s stable testnet — its parameters mirror mainnet, making it the right choice when you want a predictable environment that matches current mainnet behavior. Both Nile and Shasta are actively maintained by the TRON DAO.
| Parameter | Value |
|---|---|
| Network name | Shasta |
| Chain ID / Network ID | 2 |
| Full node URL | https://api.shasta.trongrid.io |
| Block explorer | shasta.tronscan.org |
| Faucet | shasta.tronex.io/join/getJoinPage |
| Faucet amount | Varies by network load |
Once you find the token you wish to request on the faucet page:
// Task: Configure the SDK to target the Shasta Testnet FullNode.const tronWeb = new TronWeb({ fullHost: 'https://api.shasta.trongrid.io', privateKey: process.env.PRIVATE_KEY_SHASTA,});TronLink supports switching between mainnet and testnets directly in the extension.
Always confirm which network your tools are pointed at before running tronbox migrate. A mainnet deployment of an unaudited contract is irreversible.
# Task: Deploy your smart contracts to a specific testnet using TronBox.# Explicit network flag prevents accidental mainnet deploystronbox migrate --network nile
# To deploy to Shasta instead, simply change the network flag:# tronbox migrate --network shasta
# Force a fresh redeployment (resets on-chain state)tronbox migrate --reset --network nileBoth the Nile and Shasta block explorers (nile.tronscan.org and shasta.tronscan.org) provide the same powerful interface as mainnet TRONSCAN:
Contract verification
Verify source code directly on the testnet TRONSCAN. Useful for testing your verification workflow before mainnet.
Transaction tracing
Each transaction shows Energy consumed, internal calls, and event logs — identical to mainnet.
Contract interaction
Call contract methods directly from the explorer UI without writing code. Useful for quick read queries.
Token transfers
View TRC-20 transfer events and token balances for any address on the testnet.
| Behavior | Testnets (Nile & Shasta) | Mainnet |
|---|---|---|
| TRX value | No monetary value | Real value |
| Energy rates | Same parameters as mainnet | Same parameters |
| Block time | ~3 seconds | ~3 seconds |
| Contract verification | Available on Nile and Shasta | Available on tronscan.org |
| SR count | 27 (via testnet votes) | 27 (via community votes) |
| Network stability | Nile: frequent updates; Shasta: stable | High stability |
For rapid iteration without needing a faucet or internet connection, run a local TRON development node using TronBox’s built-in development network:
# Task: Spin up an ephemeral, local TRON node for rapid unit testing.tronbox developThis starts an in-memory node at http://127.0.0.1:9090 with pre-funded accounts and instant block confirmation. Add it to tronbox.js:
// Task: Add the local development network profile to your TronBox configuration.development: { privateKey: '0x...', // TronBox generates and prints these on startup userFeePercentage: 0, feeLimit: 1000000000, fullHost: 'http://127.0.0.1:9090', network_id: '9',},The development node is ephemeral — all state is lost when you stop it. Use it for unit testing contracts and use Nile for integration testing with real network conditions.