From Ethereum
TRON and Ethereum share vocabulary and, to a large extent, tooling — but carry different assumptions. This guide maps every major Ethereum concept to its TRON equivalent and flags where the analogy breaks down.
Addresses
Section titled “Addresses”Ethereum and TRON addresses represent the same underlying data (a 20-byte public key hash) but encode it differently.
| Property | Ethereum | TRON |
|---|---|---|
| Prefix | 0x + 40 hex chars | T + 33 Base58Check chars |
| Example | 0xAbCd...1234 | TJYea...VPCX |
| Length | 42 characters | 34 characters |
| Encoding | Hex with EIP-55 checksum | Base58Check with prefix byte 0x41 |
| Case-sensitive? | Yes (checksum casing) | No |
Every Ethereum address has a deterministic TRON equivalent and vice versa. You derive your TRON address from the same private key — TronLink does this automatically on import.
Wallets
Section titled “Wallets”| Ethereum | TRON | Notes |
|---|---|---|
| MetaMask | TronLink | Both are browser extension + mobile wallets. TronLink injects window.tronWeb instead of window.ethereum. |
| Ledger | Ledger | Ledger supports TRX natively via Ledger Live. |
| Rainbow, Coinbase Wallet | TronLink Mobile | No direct equivalent for all Ethereum wallets. |
| WalletConnect | WalletConnect (supported) | TRON support added January 2026. Connects WalletConnect-enabled wallets to TRON DApps. |
| Gnosis Safe | JustSafe (limited) | Multi-sig on TRON is less mature. |
Token Standards
Section titled “Token Standards”| Ethereum | TRON | Differences |
|---|---|---|
| ERC-20 | TRC-20 | Functionally identical. Same method signatures (transfer, approve, allowance). |
| ERC-721 | TRC-721 | Functionally identical. Same token ID model. |
| ERC-1155 | TRC-1155 | Functionally identical. Multi-token contracts. |
| ERC-4626 | No direct equivalent | Vault standard not widely adopted on TRON. |
| WETH | WTRX | Wrapped TRX (WTRX) serves the same role as WETH. |
Fee Model
Section titled “Fee Model”This is the most significant conceptual difference between Ethereum and TRON.
| Concept | Ethereum | TRON |
|---|---|---|
| Fee currency | ETH (always) | TRX (only if staked resources are insufficient) |
| Computation pricing | Gas (paid per unit at market rate) | Energy (from staked TRX or burned TRX) |
| Data pricing | Gas (same unit) | Bandwidth (from staked TRX or burned TRX) |
| Fee variability | High — set by market via base fee + tip | Low — burn rate set by governance |
| Can fees be zero? | No | Yes — with sufficient staked Energy and Bandwidth |
| Prepaid resources | No | Yes — stake TRX once, use Energy/Bandwidth continuously |
Practical implication: Ethereum users always pay gas in ETH on every transaction. TRON users who stake TRX receive Energy and Bandwidth that regenerates daily, making most transactions effectively free.
DeFi Protocol Equivalents
Section titled “DeFi Protocol Equivalents”| Ethereum protocol | TRON equivalent | Notes |
|---|---|---|
| Uniswap V2/V3 | SunSwap V2/V3 | Nearly identical AMM model. SunSwap V3 uses concentrated liquidity like Uniswap V3. |
| Aave / Compound | JustLend | Same borrow/supply model with health factors and liquidation. |
| MakerDAO / DAI | JustStable / USDJ (Deprecated) | USDJ was TRX-collateralized (deprecated 2025), JST is the governance token (analogous to MKR). |
| OpenSea | aiNFT | TRON’s primary NFT marketplace. Less volume than OpenSea. |
| dYdX / GMX | SunX | Perpetual futures on TRON. Up to 50x leverage. |
| Curve | Limited | No direct equivalent with Curve’s stableswap model. SunSwap V3 covers some use cases. |
| Lido | No direct equivalent | Liquid staking protocols are less developed on TRON. |
TVM vs EVM — Developer Differences
Section titled “TVM vs EVM — Developer Differences”The TRON Virtual Machine (TVM) is derived from the EVM and executes Solidity contracts compiled with solc. Most contracts port directly, but several behaviors differ and will produce silent bugs if overlooked.
API Timestamps are in milliseconds
Section titled “API Timestamps are in milliseconds”// Task: Handle block.timestamp in TVM Solidity.// Note: block.timestamp returns seconds in TVM, mirroring EVM.uint256 deadline = block.timestamp + 3600; // 1 hour from nowImpact: While block.timestamp inside the TVM behaves exactly like Ethereum (returning seconds), the TRON Full Node API and block headers return timestamps in milliseconds. Any application or backend interacting with the TRON API must divide those timestamps by 1,000 before sending them to your smart contracts for comparison.
SELFDESTRUCT is modified
Section titled “SELFDESTRUCT is modified”Similar to Ethereum’s EIP-6780, the selfdestruct opcode behavior has been modified on TRON. Calling it will transfer the contract’s assets to the target address, but it will not delete the contract (unless it is called in the same transaction the contract was created). It also incurs a 5,000 Energy cost. Re-evaluate your architecture if you rely on contract deletion.
New Opcodes (Kant Upgrade)
Section titled “New Opcodes (Kant Upgrade)”Support for TSTORE and TLOAD (EIP-1153 for transient storage) as well as MCOPY (EIP-5656 for efficient memory copying) was added in the GreatVoyage-v4.8.0 (Kant) upgrade (June 2025). This ensures TVM remains aligned with Ethereum’s Cancun/Dencun features.
Address encoding differences
Section titled “Address encoding differences”TRON addresses are 21 bytes internally (1-byte prefix 0x41 + 20-byte hash). In Solidity on TRON, address type is still 20 bytes (the 0x41 prefix is handled at the protocol layer). The address(this) in a contract returns the contract’s Ethereum-style 20-byte address, not the Base58Check T-prefixed format shown to users.
// Task: Capture the 20-byte account address from msg.sender.// Note: TVM Solidity uses 20-byte address types, identical to EVM.address owner = msg.sender;msg.value is in SUN, not TRX
Section titled “msg.value is in SUN, not TRX”When a function is payable, msg.value represents the TRX amount sent — but in SUN (the smallest unit), not in whole TRX. 1 TRX = 1,000,000 SUN. This is identical to Ethereum’s relationship between ETH and wei (1 ETH = 10^18 wei), just a different scale.
CREATE2 support
Section titled “CREATE2 support”CREATE2 (deterministic contract addresses) is supported on TRON. The salt-based deployment pattern works identically to Ethereum.
Precompiled contracts
Section titled “Precompiled contracts”Most Ethereum precompiles are available on TRON. ecrecover, SHA-256, RIPEMD-160, and identity are supported. Some newer Ethereum precompiles (e.g., KZG point evaluation from EIP-4844) are not present on TRON.
Contract size limit
Section titled “Contract size limit”The compiled bytecode size is constrained by TRON’s maximum transaction size, which is 500KB (vs 24KB limit on Ethereum). TRON’s larger limit significantly reduces the need for contract splitting patterns like the Diamond Standard.
Compiler and Tooling
Section titled “Compiler and Tooling”| Ethereum tool | TRON equivalent | Notes |
|---|---|---|
solc | solc (same) | Use the same Solidity compiler. TronBox specifies the version in config. |
| Hardhat / Foundry | TronBox | See the Tool Equivalents guide. |
| Ethers.js | tronweb | Different API surface but same concepts. |
window.ethereum | window.tronWeb | DApp browser injection point. |
| EIP-1559 (gas) | Not applicable | TRON does not use the EIP-1559 fee market. |
Key Pitfalls Summary
Section titled “Key Pitfalls Summary”| Pitfall | Impact | Fix |
|---|---|---|
| API timestamps in milliseconds | Wrong expiry math when comparing on-chain and off-chain data | Divide API timestamps by 1,000 before passing to contract |
selfdestruct calls | Contract does not delete (EIP-6780) | Re-evaluate architecture if relying on contract deletion |
| Sending to wrong network | Permanent loss | Always verify network before withdrawal |
| Unlimited ERC-20 approvals | Full balance exposure | Same risk exists on TRON — approve minimum needed |
| Assuming EIP-1559 gas | Broken fee estimation | Use Energy burn rate, not gas price |
For a side-by-side concept table covering Solana and Move chains as well, see Concept Mapping. For TVM smart contract specifics, see the Developers section.