Free Tron RPC (TRX)
Explore Tron, a blockchain optimized for content sharing and decentralized applications. Build fast, low-cost dApps using its RPC gateway.
Connect to Tron
Access reliable, enterprise-grade endpoints that power your dApp with ultra-low latency and 99.9% uptime.
Connect to Tron Gateway
Make your first RPC call on Tron's Blockchain Gateway.
Shasta
TestnetNile
Testnet* Rate limit enabled - perfect for testing and development. For production, we recommend to Upgrade.
Get 200 requests/second, priority support and advanced blockchain features.
Global Load Balancer
Route to nearest node
Batch RPC Calls
Multiple requests at once
Archive Nodes
Historical blockchain data
Debug & Trace
Advanced debugging
Advanced Analytics
Usage & performance
Bring Your Own RPC
Custom RPC gateways
Increase your limit and access all network features in Tatum Development Platform.
Smart Contract Tools on Tron
Deploy, create, and interact with smart contracts on Tron.
No signup. No paywalls. Just RPC that works. Great ideas come from everywhere.
With love by Tatum
Tron methods
Every method the Tron gateway accepts, grouped by interface. 256 in total, read live from the node rather than kept by hand.
Mainnet is the live Tron network. Every transaction it
accepts is final, and every TRX balance it
reports is real money.
Tron runs 2 test networks here, Shasta and Nile. All of them answer the same methods as Mainnet, so pick whichever your tooling already targets and switch the URL when you go live.
Tron answers over 2 interfaces: JSON-RPC and REST. Each is listed once below with every method it accepts. The endpoints differ per network, and all of them are in the gateway list above.
What sits between you and Tron
A node is a machine running Tron with a copy of the chain. Your code cannot ask the chain directly, it asks a node. The gateway picks a healthy one for every call, so you point at one URL instead of one machine.
- One URL, nothing to run or keep patched yourself.
- Calls routed to a node that is up and in sync.
- A failing node is skipped rather than returned to you as an error.
JSON-RPC
34 methodsThe default. Every wallet, library and framework speaks it, and it is what you want unless you specifically need something else.
One POST carries a method name, its parameters and an id, and the response comes back on the same connection carrying that same id. Requests are independent, so there is no session to keep alive and nothing to reconnect, which is why it runs unchanged behind a load balancer or inside a serverless function. Send an array instead of a single object and the node works through the whole batch in one round trip.
Where it fits
- Anything your library already does for you. ethers, web3.js, viem and their equivalents all target this.
- Batching reads. One array of twenty calls costs one round trip instead of twenty.
- Stateless and serverless deployments, because nothing has to stay connected between calls.
- Historical queries, by passing a block number where you would otherwise pass latest.
Trade-offs
- It cannot push. Finding out that a block landed means polling for it, or moving to WebSocket.
- Wide log queries get refused. Page through in fixed block windows and merge the results yourself.
- Batch responses may come back in any order. Match them on id, never on position.
Enabled and tested methods
Read live from the endpoint, so this is what it actually serves today rather than what the protocol allows in principle. Anything not on this list returns a method-not-found error.
- buildTransaction
- Builds an unsigned transaction from a high-level request.
- eth_blockNumber
- Returns the height of the most recent block.
- eth_call
- Executes a read-only call against current state, without sending a transaction or spending gas.
- eth_callMany
- Executes several calls in sequence against the same state snapshot.
- eth_chainId
- Returns the chain ID used for replay-protected transaction signing.
- eth_estimateGas
- Estimates how much gas a transaction would consume, without submitting it.
- eth_feeHistory
- Returns base fee and priority fee percentiles across a range of recent blocks.
- eth_gasPrice
- Returns the current gas price in wei.
- eth_getBalance
- Returns the native token balance of an address at a given block.
- eth_getBlockByHash
- Returns a block identified by its hash.
- eth_getBlockByNumber
- Returns a block identified by its height.
- eth_getBlockTransactionCountByHash
- Returns how many transactions a block contains, located by hash.
- eth_getBlockTransactionCountByNumber
- Returns how many transactions a block contains, located by height.
- eth_getCode
- Returns the contract bytecode deployed at an address.
- eth_getLogs
- Returns event logs matching a filter of address, topics and block range.
- eth_getProof
- Returns a Merkle proof for an account and any of its storage slots.
- eth_getStorageAt
- Reads a single storage slot from a contract.
- eth_getTransactionByBlockHashAndIndex
- Returns a transaction by its position in a block, located by hash.
- eth_getTransactionByBlockNumberAndIndex
- Returns a transaction by its position in a block, located by height.
- eth_getTransactionByHash
- Returns a transaction identified by its hash.
- eth_getTransactionCount
- Returns how many transactions an address has sent, which is its next nonce.
- eth_getTransactionReceipt
- Returns the receipt of a mined transaction: status, gas used, and emitted logs.
- eth_getUncleByBlockHashAndIndex
- Returns an uncle (ommer) block by parent hash and index.
- eth_getUncleByBlockNumberAndIndex
- Returns an uncle (ommer) block by parent height and index.
- eth_getUncleCountByBlockHash
- Returns how many uncles a block has, located by hash.
- eth_getUncleCountByBlockNumber
- Returns how many uncles a block has, located by height.
- eth_maxPriorityFeePerGas
- Suggests a priority fee (tip) per gas for timely inclusion.
- eth_sendRawTransaction
- Broadcasts an already signed, serialized transaction to the network.
- eth_signTypedData
- Signs EIP-712 structured data.
- eth_signTypedData_v3
- Signs EIP-712 structured data using the v3 encoding.
- eth_syncing
- Reports whether the node is still syncing, and how far behind it is.
- net_peerCount
- Returns how many peers the node is currently connected to.
- net_version
- Returns the network ID the node is connected to.
- web3_clientVersion
- Returns the node client name and version string.
Common JSON-RPC errors
What you are most likely to hit calling this interface, and what to do about it.
- -32700
- Parse error. The request body was not valid JSON. Check that the body is serialised JSON and that Content-Type is application/json.
- -32600
- Invalid request. The JSON parsed, but it is not a well-formed JSON-RPC call. Include jsonrpc, method and id fields. A batch must be a non-empty array.
- -32601
- Method not found. This node does not expose the method you called. Check the spelling and the namespace, and confirm the method is in the list above for this network. Tracing methods in particular are not enabled everywhere.
- -32602
- Invalid params. The method exists but the arguments are wrong. Check argument order and types. Most EVM methods want hex-encoded quantities, and a block parameter such as latest or a hex height.
- -32603
- Internal error. The node failed while handling an otherwise valid request. Retry with backoff. If it persists on one method, it is usually that method rather than the node.
- -32000
- Server error. A catch-all the node uses for execution failures, most often a reverted call or a request over a limit. Read the accompanying message. Execution reverted means your call failed on chain, not in transport. Narrow the block range if you are querying logs.
- HTTP 429
- Rate limited. You have exceeded the free tier request allowance. Back off and retry, batch reads into single calls, or move to a dedicated endpoint for production traffic.
- HTTP 413
- Payload too large. The request body exceeded what the node accepts. Split large batches into smaller ones.
REST
222 methodsEvery resource has its own URL, so a request is just an address you can open.
Paste it into a browser, curl it, or bookmark it. There is no body to construct and no method name to look up, and because a read is a plain GET, ordinary HTTP caching applies at the CDN and in your own client. Responses are JSON, and the path itself usually tells you what you are getting.
Where it fits
- Getting oriented on an unfamiliar chain without writing any code first.
- Caching, because a GET can be cached by anything sitting between you and the node.
- Debugging, since the request that failed is a URL you can paste to a colleague.
Trade-offs
- You get exactly what the endpoint returns. There is no way to ask for less, or for more.
- Building a full picture takes several round trips where one batched JSON-RPC call would do.
- Paths carry version prefixes and shift between node releases more readily than method names do.
Enabled and tested methods
Read live from the endpoint, so this is what it actually serves today rather than what the protocol allows in principle. Anything not on this list returns a method-not-found error.
- GET /accountpermissionupdate
- Builds a transaction that changes the permission structure of an account.
- GET /broadcasthex
- Broadcasts a signed transaction supplied as raw hex.
- GET /broadcasttransaction
- Broadcasts a signed transaction to the network.
- GET /cancelallunfreezev2
- Cancels all pending unstaking requests and restakes the funds.
- GET /clearabi
- Removes the stored ABI from a deployed contract.
- GET /createaccount
- Builds a transaction that activates a new account on chain.
- GET /createassetissue
- Builds a transaction that issues a new TRC-10 token.
- GET /createshieldedcontractparameters
- Builds the zero-knowledge parameters for a shielded TRC-20 transfer.
- GET /createshieldedcontractparameterswithoutask
- Builds shielded TRC-20 parameters without the spend authority key.
- GET /createspendauthsig
- Creates a spend authority signature for a shielded transaction.
- GET /createtransaction
- Builds an unsigned TRX transfer transaction.
- GET /createwitness
- Builds a transaction that applies to become a block-producing witness.
- GET /delegateresource
- Builds a transaction that delegates bandwidth or energy to another account.
- GET /deploycontract
- Builds a transaction that deploys a smart contract.
- GET /estimateenergy
- Estimates the energy a contract call will consume.
- GET /exchangecreate
- Builds a transaction that creates a Bancor exchange pair.
- GET /exchangeinject
- Builds a transaction that adds liquidity to an exchange pair.
- GET /exchangetransaction
- Builds a transaction that trades against an exchange pair.
- GET /exchangewithdraw
- Builds a transaction that removes liquidity from an exchange pair.
- GET /freezebalancev2
- Builds a transaction that stakes TRX for bandwidth or energy.
- GET /getaccount
- Returns an account, including balances, permissions and resources.
- GET /getaccountbalance
- Returns the TRX balance of an account at a given block.
- GET /getaccountbyid
- Returns an account looked up by its account ID.
- GET /getaccountnet
- Returns the bandwidth available to and used by an account.
- GET /getaccountresource
- Returns the bandwidth and energy available to and used by an account.
- GET /getapprovedlist
- Returns the addresses that have signed a multi-signature transaction.
- GET /getassetissuebyaccount
- Returns the TRC-10 tokens issued by an account.
- GET /getassetissuebyid
- Returns a TRC-10 token by its ID.
- GET /getassetissuebyname
- Returns a TRC-10 token by its name.
- GET /getassetissuelist
- Lists every TRC-10 token on the network.
- GET /getassetissuelistbyname
- Lists TRC-10 tokens sharing a given name.
- GET /getavailableunfreezecount
- Returns how many further unstaking requests an account may make.
- GET /getbandwidthprices
- Returns the historical bandwidth price schedule.
- GET /getblock
- Returns a block by height or hash.
- GET /getblockbalance
- Returns the balance changes applied by a block.
- GET /getblockbyid
- Returns a block by its hash.
- GET /getblockbylatestnum
- Returns the most recent blocks, up to a given count.
- GET /getblockbylimitnext
- Returns the blocks in a height range.
- GET /getblockbynum
- Returns a block by its height.
- GET /getBrokerage
- Returns the share of block rewards a witness keeps rather than paying to voters.
- GET /getburntrx
- Returns the total TRX burnt in fees.
- GET /getcandelegatedmaxsize
- Returns the maximum resource an account can still delegate.
- GET /getcanwithdrawunfreezeamount
- Returns how much unstaked TRX an account can withdraw now.
- GET /getchainparameters
- Returns the network parameters currently in force.
- GET /getcontract
- Returns a deployed contract, including its ABI and bytecode.
- GET /getcontractinfo
- Returns a deployed contract along with its runtime code and usage.
- GET /getdelegatedresource
- Returns the resource delegated between two accounts.
- GET /getdelegatedresourceaccountindex
- Returns the accounts an address has delegated resource to or from.
- GET /getdelegatedresourceaccountindexv2
- Returns delegation relationships under the Stake 2.0 model.
- GET /getdelegatedresourcev2
- Returns resource delegated between two accounts under Stake 2.0.
- GET /getdiversifier
- Generates a diversifier used when deriving a shielded address.
- GET /getenergyprices
- Returns the historical energy price schedule.
- GET /getexchangebyid
- Returns a Bancor exchange pair by its ID.
- GET /getincomingviewingkey
- Derives the incoming viewing key for a shielded account.
- GET /getmarketorderbyaccount
- Lists the open market orders placed by an account.
- GET /getmarketorderbyid
- Returns a market order by its ID.
- GET /getmarketorderlistbypair
- Lists the open orders for a trading pair.
- GET /getmarketpairlist
- Lists the trading pairs available on the built-in market.
- GET /getmarketpricebypair
- Returns the current prices for a trading pair.
- GET /getnewshieldedaddress
- Generates a new shielded address and its keys.
- GET /getnextmaintenancetime
- Returns when the next maintenance period, which reorders witnesses, begins.
- GET /getnkfromnsk
- Derives the nullifier key from a nullifier spending key.
- GET /getnodeinfo
- Returns node version, peer count and sync state.
- GET /getnowblock
- Returns the most recent block.
- GET /getpaginatedassetissuelist
- Lists TRC-10 tokens a page at a time.
- GET /getpaginatedexchangelist
- Lists Bancor exchange pairs a page at a time.
- GET /getpaginatedproposallist
- Lists governance proposals a page at a time.
- GET /getpendingsize
- Returns how many transactions are waiting in the pending queue.
- GET /getproposalbyid
- Returns a governance proposal by its ID.
- GET /getrcm
- Generates a random commitment trapdoor for a shielded note.
- GET /getReward
- Returns the unclaimed voting rewards of an account.
- GET /getsignweight
- Returns the accumulated signature weight of a multi-signature transaction.
- GET /gettransactionbyid
- Returns a transaction by its ID.
- GET /gettransactioncountbyblocknum
- Returns how many transactions a block contains.
- GET /gettransactionfrompending
- Returns a transaction that is still in the pending queue.
- GET /gettransactioninfobyblocknum
- Returns execution results for every transaction in a block.
- GET /gettransactioninfobyid
- Returns the execution result of a transaction, including fees and logs.
- GET /gettransactionlistfrompending
- Lists the transaction IDs waiting in the pending queue.
- GET /gettriggerinputforshieldedtrc20contract
- Builds the call data for a shielded TRC-20 contract trigger.
- GET /getzenpaymentaddress
- Derives a shielded payment address from a viewing key and diversifier.
- GET /isshieldedtrc20contractnotespent
- Reports whether a shielded TRC-20 note has already been spent.
- GET /listexchanges
- Lists every Bancor exchange pair.
- GET /listnodes
- Lists the peer nodes the node knows about.
- GET /listproposals
- Lists every governance proposal.
- GET /listwitnesses
- Lists the witnesses and their vote counts.
- GET /marketcancelorder
- Builds a transaction that cancels an open market order.
- GET /marketsellasset
- Builds a transaction that places a sell order on the built-in market.
- GET /participateassetissue
- Builds a transaction that buys into a TRC-10 token sale.
- GET /proposalapprove
- Builds a transaction that votes on a governance proposal.
- GET /proposalcreate
- Builds a transaction that creates a governance proposal.
- GET /proposaldelete
- Builds a transaction that withdraws a governance proposal.
- GET /scanshieldedtrc20notesbyivk
- Scans a block range for shielded TRC-20 notes using an incoming viewing key.
- GET /scanshieldedtrc20notesbyovk
- Scans a block range for shielded TRC-20 notes using an outgoing viewing key.
- GET /setaccountid
- Builds a transaction that assigns a human-readable ID to an account.
- GET /transferasset
- Builds a transaction that transfers a TRC-10 token.
- GET /triggerconstantcontract
- Calls a contract read-only, without creating a transaction.
- GET /triggersmartcontract
- Builds a transaction that calls a smart contract.
- GET /undelegateresource
- Builds a transaction that reclaims delegated bandwidth or energy.
- GET /unfreezeasset
- Builds a transaction that releases previously frozen TRC-10 tokens.
- GET /unfreezebalance
- Builds a transaction that unstakes TRX under the original staking model.
- GET /unfreezebalancev2
- Builds a transaction that unstakes TRX under Stake 2.0.
- GET /updateaccount
- Builds a transaction that renames an account.
- GET /updateasset
- Builds a transaction that updates the settings of a TRC-10 token.
- GET /updateBrokerage
- Builds a transaction that changes the reward share a witness keeps.
- GET /updateenergylimit
- Builds a transaction that changes the energy a contract may consume per call.
- GET /updatesetting
- Builds a transaction that changes the consume-user-resource percentage of a contract.
- GET /updatewitness
- Builds a transaction that updates the URL of a witness.
- GET /validateaddress
- Checks whether an address is well formed and returns its encodings.
- GET /votewitnessaccount
- Builds a transaction that casts votes for witnesses.
- GET /withdrawbalance
- Builds a transaction that claims accumulated rewards.
- GET /withdrawexpireunfreeze
- Builds a transaction that withdraws unstaked TRX once its lock has expired.
- POST /accountpermissionupdate
- Builds a transaction that changes the permission structure of an account.
- POST /broadcasthex
- Broadcasts a signed transaction supplied as raw hex.
- POST /broadcasttransaction
- Broadcasts a signed transaction to the network.
- POST /cancelallunfreezev2
- Cancels all pending unstaking requests and restakes the funds.
- POST /clearabi
- Removes the stored ABI from a deployed contract.
- POST /createaccount
- Builds a transaction that activates a new account on chain.
- POST /createassetissue
- Builds a transaction that issues a new TRC-10 token.
- POST /createshieldedcontractparameters
- Builds the zero-knowledge parameters for a shielded TRC-20 transfer.
- POST /createshieldedcontractparameterswithoutask
- Builds shielded TRC-20 parameters without the spend authority key.
- POST /createspendauthsig
- Creates a spend authority signature for a shielded transaction.
- POST /createtransaction
- Builds an unsigned TRX transfer transaction.
- POST /createwitness
- Builds a transaction that applies to become a block-producing witness.
- POST /delegateresource
- Builds a transaction that delegates bandwidth or energy to another account.
- POST /deploycontract
- Builds a transaction that deploys a smart contract.
- POST /estimateenergy
- Estimates the energy a contract call will consume.
- POST /exchangecreate
- Builds a transaction that creates a Bancor exchange pair.
- POST /exchangeinject
- Builds a transaction that adds liquidity to an exchange pair.
- POST /exchangetransaction
- Builds a transaction that trades against an exchange pair.
- POST /exchangewithdraw
- Builds a transaction that removes liquidity from an exchange pair.
- POST /freezebalancev2
- Builds a transaction that stakes TRX for bandwidth or energy.
- POST /getaccount
- Returns an account, including balances, permissions and resources.
- POST /getaccountbalance
- Returns the TRX balance of an account at a given block.
- POST /getaccountbyid
- Returns an account looked up by its account ID.
- POST /getaccountnet
- Returns the bandwidth available to and used by an account.
- POST /getaccountresource
- Returns the bandwidth and energy available to and used by an account.
- POST /getapprovedlist
- Returns the addresses that have signed a multi-signature transaction.
- POST /getassetissuebyaccount
- Returns the TRC-10 tokens issued by an account.
- POST /getassetissuebyid
- Returns a TRC-10 token by its ID.
- POST /getassetissuebyname
- Returns a TRC-10 token by its name.
- POST /getassetissuelist
- Lists every TRC-10 token on the network.
- POST /getassetissuelistbyname
- Lists TRC-10 tokens sharing a given name.
- POST /getavailableunfreezecount
- Returns how many further unstaking requests an account may make.
- POST /getbandwidthprices
- Returns the historical bandwidth price schedule.
- POST /getblock
- Returns a block by height or hash.
- POST /getblockbalance
- Returns the balance changes applied by a block.
- POST /getblockbyid
- Returns a block by its hash.
- POST /getblockbylatestnum
- Returns the most recent blocks, up to a given count.
- POST /getblockbylimitnext
- Returns the blocks in a height range.
- POST /getblockbynum
- Returns a block by its height.
- POST /getBrokerage
- Returns the share of block rewards a witness keeps rather than paying to voters.
- POST /getburntrx
- Returns the total TRX burnt in fees.
- POST /getcandelegatedmaxsize
- Returns the maximum resource an account can still delegate.
- POST /getcanwithdrawunfreezeamount
- Returns how much unstaked TRX an account can withdraw now.
- POST /getchainparameters
- Returns the network parameters currently in force.
- POST /getcontract
- Returns a deployed contract, including its ABI and bytecode.
- POST /getcontractinfo
- Returns a deployed contract along with its runtime code and usage.
- POST /getdelegatedresource
- Returns the resource delegated between two accounts.
- POST /getdelegatedresourceaccountindex
- Returns the accounts an address has delegated resource to or from.
- POST /getdelegatedresourceaccountindexv2
- Returns delegation relationships under the Stake 2.0 model.
- POST /getdelegatedresourcev2
- Returns resource delegated between two accounts under Stake 2.0.
- POST /getdiversifier
- Generates a diversifier used when deriving a shielded address.
- POST /getenergyprices
- Returns the historical energy price schedule.
- POST /getexchangebyid
- Returns a Bancor exchange pair by its ID.
- POST /getincomingviewingkey
- Derives the incoming viewing key for a shielded account.
- POST /getmarketorderbyaccount
- Lists the open market orders placed by an account.
- POST /getmarketorderbyid
- Returns a market order by its ID.
- POST /getmarketorderlistbypair
- Lists the open orders for a trading pair.
- POST /getmarketpairlist
- Lists the trading pairs available on the built-in market.
- POST /getmarketpricebypair
- Returns the current prices for a trading pair.
- POST /getnewshieldedaddress
- Generates a new shielded address and its keys.
- POST /getnextmaintenancetime
- Returns when the next maintenance period, which reorders witnesses, begins.
- POST /getnkfromnsk
- Derives the nullifier key from a nullifier spending key.
- POST /getnodeinfo
- Returns node version, peer count and sync state.
- POST /getnowblock
- Returns the most recent block.
- POST /getpaginatedassetissuelist
- Lists TRC-10 tokens a page at a time.
- POST /getpaginatedexchangelist
- Lists Bancor exchange pairs a page at a time.
- POST /getpaginatedproposallist
- Lists governance proposals a page at a time.
- POST /getpendingsize
- Returns how many transactions are waiting in the pending queue.
- POST /getproposalbyid
- Returns a governance proposal by its ID.
- POST /getrcm
- Generates a random commitment trapdoor for a shielded note.
- POST /getReward
- Returns the unclaimed voting rewards of an account.
- POST /getsignweight
- Returns the accumulated signature weight of a multi-signature transaction.
- POST /gettransactionbyid
- Returns a transaction by its ID.
- POST /gettransactioncountbyblocknum
- Returns how many transactions a block contains.
- POST /gettransactionfrompending
- Returns a transaction that is still in the pending queue.
- POST /gettransactioninfobyblocknum
- Returns execution results for every transaction in a block.
- POST /gettransactioninfobyid
- Returns the execution result of a transaction, including fees and logs.
- POST /gettransactionlistfrompending
- Lists the transaction IDs waiting in the pending queue.
- POST /gettriggerinputforshieldedtrc20contract
- Builds the call data for a shielded TRC-20 contract trigger.
- POST /getzenpaymentaddress
- Derives a shielded payment address from a viewing key and diversifier.
- POST /isshieldedtrc20contractnotespent
- Reports whether a shielded TRC-20 note has already been spent.
- POST /listexchanges
- Lists every Bancor exchange pair.
- POST /listnodes
- Lists the peer nodes the node knows about.
- POST /listproposals
- Lists every governance proposal.
- POST /listwitnesses
- Lists the witnesses and their vote counts.
- POST /marketcancelorder
- Builds a transaction that cancels an open market order.
- POST /marketsellasset
- Builds a transaction that places a sell order on the built-in market.
- POST /participateassetissue
- Builds a transaction that buys into a TRC-10 token sale.
- POST /proposalapprove
- Builds a transaction that votes on a governance proposal.
- POST /proposalcreate
- Builds a transaction that creates a governance proposal.
- POST /proposaldelete
- Builds a transaction that withdraws a governance proposal.
- POST /scanshieldedtrc20notesbyivk
- Scans a block range for shielded TRC-20 notes using an incoming viewing key.
- POST /scanshieldedtrc20notesbyovk
- Scans a block range for shielded TRC-20 notes using an outgoing viewing key.
- POST /setaccountid
- Builds a transaction that assigns a human-readable ID to an account.
- POST /transferasset
- Builds a transaction that transfers a TRC-10 token.
- POST /triggerconstantcontract
- Calls a contract read-only, without creating a transaction.
- POST /triggersmartcontract
- Builds a transaction that calls a smart contract.
- POST /undelegateresource
- Builds a transaction that reclaims delegated bandwidth or energy.
- POST /unfreezeasset
- Builds a transaction that releases previously frozen TRC-10 tokens.
- POST /unfreezebalance
- Builds a transaction that unstakes TRX under the original staking model.
- POST /unfreezebalancev2
- Builds a transaction that unstakes TRX under Stake 2.0.
- POST /updateaccount
- Builds a transaction that renames an account.
- POST /updateasset
- Builds a transaction that updates the settings of a TRC-10 token.
- POST /updateBrokerage
- Builds a transaction that changes the reward share a witness keeps.
- POST /updateenergylimit
- Builds a transaction that changes the energy a contract may consume per call.
- POST /updatesetting
- Builds a transaction that changes the consume-user-resource percentage of a contract.
- POST /updatewitness
- Builds a transaction that updates the URL of a witness.
- POST /validateaddress
- Checks whether an address is well formed and returns its encodings.
- POST /votewitnessaccount
- Builds a transaction that casts votes for witnesses.
- POST /withdrawbalance
- Builds a transaction that claims accumulated rewards.
- POST /withdrawexpireunfreeze
- Builds a transaction that withdraws unstaked TRX once its lock has expired.
Common REST errors
What you are most likely to hit calling this interface, and what to do about it.
- 400
- Bad request. A path or query parameter is malformed. Check the parameter format, and that path values are URL-encoded.
- 404
- Not found. Either the path is wrong, or the resource genuinely does not exist at that height. Confirm the path against the list above. A valid path can still 404 for pruned history on a non-archive node.
- 429
- Rate limited. You have exceeded the free tier request allowance. Back off and retry. REST responses cache well, so caching on your side removes most repeat traffic.
- 500
- Internal server error. The node failed while handling the request. Retry with backoff.
- 503
- Service unavailable. The node is starting, resyncing, or temporarily out of rotation. Retry with backoff; this is normally short-lived.
Indexed Tron Data Insights
Complete on-chain data access, no infrastructure to run yourself. Query wallets, tokens, NFTs, and transaction history with lightning-fast APIs.
Get Wallet Portfolio
Fetch all token balances for a wallet on Tron.
Get Token Exchange Rates
Check exchange rates for tokens and fiat on Tron.
Check Tron Malicious Address
Verify if an address on Tron is flagged as malicious.
Get Tron Wallet Transactions
Retrieve all Tron transactions for a wallet, including internal transfers.
Real-time Tron Alerts
Real-time webhooks for on-chain events. Stop polling the network - get instant alerts for transactions, smart contract events, and wallet activities.
About Tron
What it is, and guides for building on it.
The Tron RPC documentation provides developers with the tools to interact programmatically with the Tron blockchain. Tron is optimized for decentralized content sharing and entertainment, using a Delegated Proof-of-Stake (DPoS) consensus mechanism to enable fast and low-cost transactions. The documentation includes API endpoints for querying blockchain data, managing transactions, and deploying smart contracts. Tron’s architecture is well-suited for media, gaming, and NFT applications, offering scalability and strong support for digital content distribution.
From the Tatum blog
Building on Tron: RPCs, Endpoints, and Notifications
Learn how to build on Tron using RPC infrastructure, JSON‑RPC endpoints, and real‑time notifications. Discover how RP...
What's new
Notifications: Conditions & Event Filtering (EVM & Tron)
We’ve introduced Notifications Conditions & Filters to the Tatum Notifications system across all supported EVM chains...
Tron Nile (New RPC): JSON-RPC added
We’re expanding our Tron Nile coverage with full JSON-RPC support, making it easier to integrate, test, and debug Tro...
TRON Notifications: Performance Upgrade
We’ve shipped a major performance improvement to our Tron notifications, significantly reducing confirmation delays a...
Frequently Asked Questions
Everything you need to know about Tron RPC endpoints
Quick Answer: What is Tron RPC?
RPC (Remote Procedure Call) is the standard way to interact with the network programmatically - reading on-chain data, submitting transactions, and deploying smart contracts through JSON-RPC calls. The free tier ships 5 requests per minute with no registration required, which covers most learning and testing workflows. Production applications typically move to Tatum Premium for 200 requests per second and enterprise-grade reliability.
What is Tron RPC?
How do I connect to Tron using these RPC endpoints?
What are the rate limits for the free RPC tier?
Is Tron RPC free forever?
What happens if I exceed the free tier rate limit?
Can I use these Tron RPC endpoints with MetaMask?
Are these RPC endpoints secure?
What's the difference between mainnet and testnet RPC endpoints?
How do I troubleshoot RPC connection errors?
Can I use these endpoints in production?
Explore Other Blockchains
Discover RPC endpoints for other popular blockchain networks