/wallet and /walletsolidity APIs, an Ethereum-compatible JSON-RPC interface, and gRPC. Chainstack serves all four through a single TRON endpoint at a flat 1 RU per request.
TRON API at a glance
| Property | Value |
|---|---|
| Chain | TRON — Layer 1, Delegated Proof of Stake (DPoS) consensus |
| Resource model | Energy and bandwidth, obtained by staking TRX (no per-call gas in TRX for resourced accounts) |
| API surfaces | HTTP /wallet, HTTP /walletsolidity, Ethereum-compatible JSON-RPC, and gRPC |
| JSON-RPC chain ID | 0x2b6653dc (728126428) mainnet, 0xcd8690dc (3448148188) Nile testnet |
| Methods served by Chainstack | 168 — 101 /wallet, 34 /walletsolidity, 33 JSON-RPC |
| Token standards | TRC-20, TRC-10, and shielded TRC-20 |
| Networks | Mainnet and Nile testnet |
| Real-time data | Polling — TRON nodes do not serve WebSocket event subscriptions |
| Request units | 1 RU per request, no archive split |
Get your own node endpoint today
Start for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.What is the TRON protocol
TRON is a decentralized Layer 1 blockchain platform designed to build a free, global digital content entertainment system with distributed storage technology. TRON enables cost-effective sharing of digital content and supports smart contracts, various kinds of blockchain systems, and decentralized applications (DApps). TRON uses a Delegated Proof of Stake (DPoS) consensus mechanism for high throughput and scalability. Token holders stake TRX to vote for super representatives, who produce blocks on the network. Instead of charging gas in TRX on every call, TRON meters execution through two stakeable resources:- Bandwidth — consumed by transaction byte size, and used for transfers and most non-contract operations.
- Energy — consumed by smart contract execution. You obtain energy by staking TRX, which makes contract calls effectively free once an account is resourced.
What is the TRON API
The TRON API lets developers interact with the TRON blockchain to build applications. It provides functionality for managing accounts, transactions, smart contracts, and blockchain data. To read data and submit transactions, an application connects to a TRON node endpoint, then calls the surface it needs:- The HTTP
/walletAPI exposes the full node — accounts, blocks, contracts, resource staking, and transaction creation and broadcasting. - The HTTP
/walletsolidityAPI serves solidified (confirmed) data, read-only. - The JSON-RPC interface offers Ethereum-compatible read methods, so Ethereum-native tooling can query a TRON node.
- The gRPC interface uses HTTP/2 and Protocol Buffers for high-performance, high-throughput access and indexing.
API surfaces
Chainstack exposes all four surfaces over a single node endpoint. Append the path you need to your endpoint URL, except for gRPC, which connects to a dedicated host on port443.
| API surface | Endpoint path | Use it for | Served by |
|---|---|---|---|
| HTTP wallet | /wallet | Full node — accounts, blocks, contracts, transactions | Chainstack |
| HTTP walletsolidity | /walletsolidity | Confirmed (solidified) read-only data | Chainstack |
| Ethereum JSON-RPC | /jsonrpc | Ethereum-compatible read operations | Chainstack |
| gRPC | host on port 443 | High-performance binary access and indexing | Chainstack |
TRON’s JSON-RPC is read-only by design. The methods required for transaction submission, such as
eth_sendRawTransaction and eth_getTransactionCount, are not available — use the native /wallet API or TronWeb.js for writes. See TRON tooling for the full compatibility notes.What you can build
With a Chainstack TRON endpoint you can:- Create and manage accounts, set multi-signature permissions, and validate addresses through the
/walletAPI. - Build, sign, and broadcast transactions, and track them with
gettransactioninfobyid,gettransactionbyid, and the JSON-RPCeth_getTransactionReceipt. - Transfer and interact with TRC-20 and TRC-10 tokens, and run privacy-preserving shielded TRC-20 operations.
- Deploy and call smart contracts with
deploycontract,triggersmartcontract, andtriggerconstantcontract. - Manage energy and bandwidth — freeze and stake TRX, delegate resources, and query account resources with
freezebalancev2,delegateresource, andgetaccountresource. - Participate in governance — vote for witnesses, and create, approve, and query proposals.
- Read chain state through Ethereum-compatible JSON-RPC, compatible with web3.py, Foundry, and Hardhat for read operations.
- Poll for token transfers and new blocks — see polling for TRC-20 transfers in Node.js.
Methods
Chainstack serves 168 TRON methods across the four surfaces:| API surface | Endpoint | Methods | Availability |
|---|---|---|---|
| HTTP wallet | /wallet | 101 | All served by Chainstack |
| HTTP walletsolidity | /walletsolidity | 34 | All served by Chainstack |
| Ethereum JSON-RPC | /jsonrpc | 33 | All served by Chainstack |
eth_* read methods, plus net_*, web3_*, and buildTransaction. gRPC exposes the protocol.Wallet, protocol.Database, and protocol.WalletSolidity services on the same endpoint.
For the complete, per-method list, see TRON methods.
TRON pricing is simple: 1 RU per request, with no archive split. TRON nodes run in archive mode — which for TRON means the complete block and transaction history from genesis, not historical state — and every request is billed as full. See Request units.
How to start using the TRON API
To use the TRON API, you need access to a TRON node endpoint. Follow these steps to sign up, deploy a node, and find your credentials: Now you are ready to connect to the TRON blockchain and build.SDKs and tooling
You can call the API directly over HTTP and gRPC, or use a maintained library:- TronWeb.js — the official TronWeb JavaScript library. It supports all TRON operations, including contract deployment and transactions, through the
/walletAPI. - web3.py and Ethereum tooling — web3.py, Foundry, and Hardhat can run read operations against the
/jsonrpcendpoint, but cannot deploy or send transactions directly. Compile and test with Foundry or Hardhat, then deploy with TronWeb.js in a hybrid workflow. - gRPC clients — generate typed clients from the TRON protocol buffer definitions for Python, Node.js, or Go.
Networks
Chainstack supports TRON mainnet and Nile testnet as Global Nodes. TRON nodes run in archive mode, which for TRON means the complete block and transaction history from genesis rather than historical state — there is no separate full versus archive split.| Feature | Mainnet | Nile testnet |
|---|---|---|
| JSON-RPC chain ID | 0x2b6653dc (728126428) | 0xcd8690dc (3448148188) |
| Block and transaction history | From genesis | From genesis |
| gRPC endpoint | tron-mainnet.core.chainstack.com:443 | tron-nile.core.chainstack.com:443 |
| Faucet | N/A | Nile faucet |
TRON archive means full block and transaction history, not historical state. java-tron has no state-at-block queries —
eth_getBalance, eth_call, eth_getCode, and eth_getStorageAt accept only the latest block. This is a protocol limitation (java-tron#6289), not a Chainstack one. See Historical data availability.Frequently asked questions
What API surfaces does TRON expose on Chainstack?
Four, all on one node endpoint: the HTTP/wallet API (full node), the HTTP /walletsolidity API (confirmed read-only data), an Ethereum-compatible JSON-RPC interface at /jsonrpc, and gRPC on port 443. Chainstack serves 168 methods across the three HTTP and JSON-RPC surfaces.
Is TRON’s JSON-RPC fully Ethereum-compatible?
No. TRON’s JSON-RPC provides Ethereum-compatible methods for read operations only. The methods required to submit transactions, such aseth_sendRawTransaction and eth_getTransactionCount, are not available. For writes, use the native /wallet API or TronWeb.js. The JSON-RPC chain ID is 0x2b6653dc (728126428) on mainnet.
What is the difference between energy and bandwidth?
Both are stakeable resources that meter execution instead of charging gas in TRX on every call. Bandwidth is consumed by transaction byte size and covers transfers and most non-contract operations. Energy is consumed by smart contract execution. You obtain both by staking TRX withfreezebalancev2, which makes operations effectively free once an account is resourced. See managing energy and bandwidth.
How do I work with TRC-20 tokens?
Use the/wallet API and TronWeb.js to transfer and call TRC-20 contracts with triggersmartcontract and triggerconstantcontract. TRON also supports the TRC-10 native token standard and privacy-preserving shielded TRC-20 operations. To monitor transfers, poll the chain — see polling for TRC-20 transfers in Node.js.
Does TRON support WebSocket subscriptions?
No. TRON nodes do not serve WebSocket connections for event subscriptions, so track on-chain activity by polling block and transaction methods. To follow this capability, see the feature request for TRON event plugin support.Why is there no archive versus full pricing for TRON?
TRON pricing is a flat 1 RU per request, with no archive split. TRON nodes run in archive mode, but for TRON that means the complete block and transaction history from genesis rather than historical state — java-tron has no state-at-block queries. Billing is independent of node mode, so every request is billed as full. See Request units.When should I use gRPC instead of HTTP?
Use gRPC for high-throughput applications and data indexing, where its HTTP/2 transport and binary Protocol Buffers serialization are more efficient than HTTP. Chainstack serves theprotocol.Wallet, protocol.Database, and protocol.WalletSolidity services on the same :443 endpoint. See the gRPC API section.
Related TRON resources
- TRON methods — complete per-surface method reference
- TRON tooling — TronWeb.js, gRPC, web3.py, Foundry, and Hardhat setup
- Managing energy and bandwidth with Python — TRON’s resource and fee model
- Polling for TRC-20 transfers in Node.js — monitor token transfers without WebSocket
- Request units — how TRON requests are billed
See alsoBuild better with TRON