Tron RPC & Wallet API — chain ID 728126428
Last updated:
Get API key Read the documentation
Network details
| Network | Tron mainnet |
|---|---|
| Chain ID (EVM surface) | 728126428 |
| Currency | TRX |
| EVM JSON-RPC | https://triport.io/rpc/tron |
| Native wallet HTTP | https://triport.io/rpc/tron/wallet (POST) |
| TRC20 transfer history | https://triport.io/rpc/tron/v1/accounts/{address}/transactions/trc20 |
| Authentication | x-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted), scope tron:rpc |
| Transaction submission | Not part of the product |
What works today
| Capability | Status | Notes |
|---|---|---|
| EVM JSON-RPC reads | Available | EVM hex addresses differ from native; state profile is latest-oriented; historical blocks do not prove old state. |
| eth_getLogs | Available | up to 100 blocks per request |
| Native wallet HTTP (read) | Available | Base58 needs visible=true, hex addresses use the 41 prefix; an empty object after a wrong address is not proof of a missing account; no submission. |
| TRC20 transfer history (REST) | Limited | No OpenAPI contract yet (the wallet schema does not describe this route); not a universal address index. |
Two surfaces, and which one to use
The EVM surface is the one your existing tooling already speaks: balances, code and storage, blocks, calls and logs, addressed as 0x hex. The native wallet surface is where Tron's own concepts live — account resources, energy prices, chain parameters, witnesses, contract info, and triggerconstantcontract for a call that is executed but never sent. Most integrations need both: EVM for portable reads, wallet HTTP for anything Tron-specific.
Address formats are the most common failure
The wallet surface accepts base58 addresses only with visible=true, and its hex form carries the 41 prefix, while the EVM surface expects 0x hex. A request with the wrong format usually returns an empty object rather than an error — which is not proof that the account does not exist. Check the format before concluding anything about the account, and see the wallet reference.
TRC20 history: a cap your plan does not raise
Limited — TRC20 transfer history runs at about 3 requests per second through a single gateway, and a higher plan does not raise it. This is the one limit on the page that sits outside the tier system, so upgrading will not make a backfill faster. It also has no OpenAPI contract yet, which means the response shape is not covered by our generated clients, and it is not a universal address index. Plan bulk history work around these facts, or keep your own index.
Historical blocks do not prove historical state
Tron's state profile here is latest-oriented. Fetching an old block succeeds, but a state read at that height may not — so a working eth_getBlockByNumber on an old block is not evidence that eth_getBalance or eth_getStorageAt will answer for the same height. Treat deep state reads as unsupported unless you have verified the exact range you need.
Limits and plans
| Capability | Free trial (7 days) | Basic | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| EVM + wallet reads (tron_read_rpc) | 15 | 20 | 100 | 250 | no per-category cap |
| Heavy: eth_getLogs, heavy wallet calls | 2 | 5 | 20 | 80 | no per-category cap |
| TRC20 transfer history | ≈3 RPS — same on every plan | ≈3 | ≈3 | ≈3 | ≈3 |
| Transaction submission | — | — | — | — | — |
The heavy budget is much smaller than the ordinary read budget on Tron — eth_getLogs and heavy wallet calls draw on it, so log backfills should be paced against 2/5/20/80 rather than the headline read rate. Plans: Basic $20, Pro $249, Business $499, Enterprise from $999 per month; Free is a 7-day trial with a single key in the EU region. See Tron limits.
Every plan with its limits on every network, and what a plan costs at its cap: RPC pricing.
Quickstart
# EVM read
curl https://triport.io/rpc/tron \
-H 'x-token: $TRIPORT_API_KEY' -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
# Native wallet read (base58 needs visible=true)
curl https://triport.io/rpc/tron/wallet/getaccount \
-H 'x-token: $TRIPORT_API_KEY' -H 'Content-Type: application/json' \
-d '{"address":"TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t","visible":true}'
# TRC20 transfer history (~3 RPS, same on every plan)
curl 'https://triport.io/rpc/tron/v1/accounts/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t/transactions/trc20?limit=20' \
-H 'x-token: $TRIPORT_API_KEY'FAQ
- What is the Tron RPC URL?
- https://triport.io/rpc/tron for EVM-style JSON-RPC and https://triport.io/rpc/tron/wallet for the native wallet HTTP reads. Authenticate with the x-token header, or use the keyed URL https://triport.io/r/<API_KEY>/tron where a custom header is impossible.
- What is Tron's chain ID for EVM tools?
- 728126428. Tron exposes an EVM-compatible JSON-RPC surface, so viem, ethers and Hardhat can read from it, but the native concepts — energy, bandwidth, witnesses — live on the wallet HTTP surface instead.
- Can I broadcast Tron transactions through Triport?
- No. Both surfaces are published read-only: there is no submission route on any plan. triggerconstantcontract runs a contract call without sending it, which is a read, not a broadcast.
- Why does my address return an empty object?
- Almost always an address-format mismatch. The wallet HTTP surface needs visible=true for base58 addresses, and hex addresses carry the 41 prefix, while the EVM surface uses 0x hex. An empty object after a wrong address is not proof that the account does not exist.
- How fast is the TRC20 transfer history endpoint?
- About 3 requests per second through a single gateway, and a higher plan does not raise it — this cap sits outside the tier system. It also has no OpenAPI contract yet and is best-effort, so do not build a universal address index on it.
- What is the eth_getLogs limit on Tron?
- Up to 100 blocks per request, and it draws on the heavy read budget: 2/5/20/80 RPS on Free trial/Basic/Pro/Business. Plan log backfills around that rate, not around the ordinary read rate.
- Can I read historical Tron state?
- Reading a historical block is not the same as reading state at that block: the state profile is latest-oriented, so an old block being returned does not prove that state at that height is available.
- What are the Tron rate limits?
- Ordinary reads 15/20/100/250 RPS on Free trial/Basic/Pro/Business; heavy reads, including eth_getLogs, 2/5/20/80. Enterprise has no per-category cap. TRC20 history is capped separately at about 3 RPS regardless of plan.