How to get a Tron RPC node: public vs private explained

Need to decide between public and private TRON RPC? In this guide, we will explain the trade-offs. We will show how tenancy (Global vs Dedicated) affects performance. We will also help you quickly set up a private TRON RPC node.
If you’re shipping on TRON, your first fork in the road is simple. You grab a public RPC URL and start reading data. Or, you spin up a private endpoint for steadier writes and predictable latency. If your traffic is light and occasional rate limits don’t bother you, a public node is enough.
But if you need consistent throughput, authenticated access, and fewer surprises under load, private is the obvious choice. So, the decision comes down to how much control you need over performance and access. To understand why that choice matters, we will map the trade-offs and point you to both options so you can make the right call.
What is a TRON RPC node?
Full Node vs Solidity Node
A TRON RPC node is just the server that links your app to the TRON network. It keeps a local copy of the chain, verifies new blocks, and relays transactions. On top of that, it exposes RPC methods so your scripts, wallets, or services can pull blockchain data or push signed transactions. Most of the time, you won’t think about the node itself — you’ll just point your app at a TRON RPC URL and start talking to it over HTTP.
Historically, the stack distinguished between:
- Full Node — tracks every block and transaction, serving the core HTTP APIs.
- Solidity Node — served data from finalized blocks.
Today, you’ll still see the namespaces reflected in APIs: /wallet (latest state) and /walletsolidity (confirmed state).
At the protocol layer, TRON runs delegated proof of stake with 27 super representatives (SRs) elected by TRX holders to produce blocks and secure the chain. Running as an SR requires a configuration file, suitable hardware, and a super representative account. Meeting the network’s hardware requirements is essential if you plan on actually starting the node yourself. Most builders don’t go that far; they either connect to a hosted TRON RPC endpoint or run their own non-producing node for development, indexing, or analytics.
When you connect through a TRON RPC node, the jobs usually fall into three buckets:
- Read — pull balances, scan transaction history, or scrape recent blocks and contract events when you’re building analytics.
- Write — deploy a contract or send a transaction that you’ve signed locally with a private key, then broadcast it through the node.
- Observe — watch latency spikes, error codes, or connection drops so your app doesn’t stall in production.
TRON RPC interfaces (HTTP, JSON-RPC, gRPC)
On the surface, it’s just an endpoint. Underneath, the node exposes the APIs you’ll hit every day. Here are some API surfaces you’ll encounter:
- HTTP —
/walletand/walletsolidityendpoints for native TRON operations. - EVM-compatible JSON-RPC — exposed at
/jsonrpcfor EVM-style workflows (coverage differs from Ethereum). - gRPC — high-performance, strongly typed access, including transaction broadcast.
So your RPC choice doesn’t change consensus, but it does affect how consistently you see fresh state and how predictably your writes settle under load.
Public vs private TRON RPC URL
Public TRON RPC endpoints
Public TRON RPC endpoints are community- or foundation-hosted URLs available to use for those who do not want to set up their own node. These endpoints come in handy when doing quick experiments, reading balancers, or testing contract calls.
The big trade-off here is that you have to share the same pool with everyone else, which means getting rate limits, variable latency, and the occasional timeout. However, if your workload is light and you don’t mind occasional retries, public RPC will do the job.
Private TRON RPC endpoints
A private TRON RPC endpoint gives you isolation and control. You authenticate requests, keep environments separate, and get a steadier latency envelope under load because you’re not competing with a public pool. This matters once you start submitting transactions regularly, streaming events for indexing, or running flows where flakiness impacts users or strategies.
So, when predictable performance, access controls, and clearer observability become requirements, private is the right move.
Global vs Dedicated nodes
If you’ve reached the point where private RPC is the right choice, you then decide how much tenancy you need. On Chainstack, that means choosing between Global and Dedicated Nodes.
- Global Nodes are multi-tenant but still give you your own protected endpoint, balanced across regions. They’re quick to start, affordable (from $0/month), and work well if you need elastic capacity without the overhead of running hardware yourself.
- Dedicated Nodes are single-tenant. You’re not sharing performance with anyone else, so they’re better suited for workloads that need guaranteed throughput, reliability, or compliance-grade isolation.
Both options let you skip the work of compiling the TRON source code, setting up a configuration file, or trying to run your own super representative setup. You just create the node in the console, grab the RPC URL, and you’re ready to integrate.
Choosing between public and private TRON RPC
A quick rule of thumb to see which option fits your workload:
| Feature | Public RPC | Private RPC |
| Setup | Zero setup needed | One-time setup to fill in the private endpoint details |
| Workload | Light queries, exploration, demos | Contract deployments, bots, steady reads/writes |
| Performance | Shared capacity, variable latency | Reserved capacity, predictable response times |
| Reliability | Occasional retries are fine | Consistent latency |
| Security | Open, no controls | Authenticated, access rules, account security |
TRON RPC endpoint URLs
Below are the public TRON RPC endpoint URLs for Mainnet and testnets. These are free TRON RPC endpoints suitable for development and light testing — no signup required. For production workloads, use a private endpoint from Chainstack or another provider.
Mainnet RPC endpoints
| Interface | URL | Notes |
|---|---|---|
| HTTP (Full Node) | https://api.trongrid.io | TronGrid official. 15 QPS with API key, throttled without. |
| HTTP (Solidity) | https://api.trongrid.io/walletsolidity | Confirmed-only state. |
| JSON-RPC | https://api.trongrid.io/jsonrpc | Limited EVM compatibility. Read-only — no eth_sendRawTransaction. |
| gRPC | grpc.trongrid.io:50051 (Full Node), grpc.trongrid.io:50061 (Solidity) | Native protobuf. Highest performance for high-throughput workloads. |
Third-party public endpoints:
| Provider | URL | Rate limit |
|---|---|---|
| Ankr | https://rpc.ankr.com/tron | Free tier: ~30 RPS |
| dRPC | https://tron.drpc.org | Free tier available |
| PublicNode | https://tron-rpc.publicnode.com | No signup required |
Shasta Testnet
| Interface | URL |
|---|---|
| HTTP | https://api.shasta.trongrid.io |
| JSON-RPC | https://api.shasta.trongrid.io/jsonrpc |
| Faucet | shasta.tronex.io |
Shasta mirrors Mainnet parameters. No API key required. Use for testing contracts and transactions before deploying to Mainnet.
Nile Testnet
| Interface | URL |
|---|---|
| HTTP | https://nile.trongrid.io |
| JSON-RPC | https://nile.trongrid.io/jsonrpc |
| Faucet | nileex.io |
Nile runs ahead of Mainnet — new TRON features land here first. Use for testing against upcoming protocol changes.
Private TRON RPC endpoint (Chainstack)
For production workloads that need higher throughput, gRPC access, and no rate limits, deploy a private TRON endpoint on Chainstack:
- Create a free Chainstack account
- Create a project → Add node → Select TRON Mainnet or Nile Testnet
- Copy your endpoint URL from the Access & Credentials panel

Your private endpoint supports all four TRON interfaces (/wallet, /walletsolidity, /jsonrpc, gRPC) behind a single authenticated URL. See the TRON API reference for supported methods.
For a deeper comparison of TRON RPC providers — including pricing, gRPC support, and enterprise compliance — see our Best TRON RPC Providers in 2026 guide.
Working with TRON tooling
Once you have a TRON RPC node, the next step is plugging it into the tools you use to build, test, and deploy. Tooling bridges your endpoint with familiar developer workflows, so you don’t have to work directly with raw RPC calls.
API surfaces
Chainstack TRON nodes support all three RPC namespaces:
/jsonrpc— Ethereum-compatible JSON-RPC methods./wallet— latest state queries./walletsolidity— confirmed/finalized state queries.
📖 Note: TRON nodes are full only (non-archive), so some deep-history methods are not available. WebSocket event subscriptions are also not supported at this time.
SDKs and frameworks
You can connect your TRON RPC endpoint to common Web3 libraries:
- TronWeb.js — native JavaScript SDK for sending transactions, reading balances, and contract interaction.
- web3.py — Python interface for DApps; connect via HTTP provider using your endpoint.
- Hardhat, Foundry, Remix — EVM-compatible frameworks can be configured to use a TRON RPC URL for deploying and testing smart contracts.
Wallets and IDEs
For contract testing and deployment, you can also route through:
- TronLink or Trust Wallet — TRON-native wallets with pre-configured RPC endpoints.
- Remix IDE — interact via MetaMask (bridged tokens only) or TronLink for native TRC-20s.
Quick start examples
cURL
curl -X POST YOUR_CHAINSTACK_ENDPOINT/wallet/getnowblock \
-H "Content-Type: application/json"TronWeb.js
const { TronWeb } = require('tronweb');
const tronWeb = new TronWeb({
fullHost: 'YOUR_CHAINSTACK_ENDPOINT'
});
async function getBalance() {
const balance = await tronWeb.trx.getBalance('TWiEv2wfqQ8FkbAJ6bXt1uA2Uav9ZWvXip');
console.log('Balance in TRX:', tronWeb.fromSun(balance));
}
getBalance();Python
from web3 import Web3
web3 = Web3(Web3.HTTPProvider('YOUR_CHAINSTACK_ENDPOINT/jsonrpc'))
print('Latest block:', web3.eth.block_number)Why tooling matters
Without tooling, you’d be crafting raw HTTP requests against your RPC URL. Toolchains like TronWeb or web3.py abstract that into readable functions and scripts, making it easier to manage accounts, compile contracts, broadcast transactions, or even fork the network for local testing.
ℹ️ For more info, check out our documentation.
Wrapping up
The choice between public and private TRON RPC depends on what you’re building. Public is fine for light reads or early tests. For contract work, indexing, or anything that needs stable performance, go with private.
Once you’ve got your endpoint, everything else — TronWeb, web3.py, Hardhat, Foundry — plugs in on top. That’s where you write, test, and ship.
If you’re evaluating which provider to use for production, our Best TRON RPC Providers in 2026 comparison covers pricing, gRPC support, archive access, and enterprise compliance across Chainstack, TronGrid, Quicknode, Ankr, and dRPC.
FAQ
A TRON RPC is server software that keeps a synchronized copy of the blockchain and exposes RPC endpoints so apps can query data or broadcast transactions. Super representatives run block-producing nodes, while most builders connect through RPC endpoints for reads and writes.
TRX is the ticker TRON of the native token of the Tron network. The blockchain itself is called TRON, while TRX is the asset used for gas fees, staking, and on-chain transactions.
MetaMask doesn’t natively support TRON RPC because of the VM and address differences. The only way to see TRX in MetaMask is as a bridged token (BEP-20 on BNB Chain or ERC-20 WTRX on Ethereum). For anything native like TRX balances, TRC-20 contracts, validator interactions, you’ll need TronLink, Trust Wallet, or another Tron-specific wallet.
Historically, Full Node validated and stored every block, while Solidity Node served finalized block data. Today, their functionality is merged, but you’ll still see API namespaces like /wallet
(latest) and /walletsolidity (confirmed).
No. Developers often prefer to just use public RPC URLs or spin up a private RPC with a provider like Chainstack. You’d only run your own node if you want total control over the setup, can handle the hardware requirements, or plan to operate as a super representative.
Not exactly. TRON is the blockchain protocol and network; TRX is its native token. You’ll often see them used interchangeably, but technically TRX refers to the currency and TRON refers to the chain.




