For the specific definition of API, please refer to the following link: api/api.proto core/Contract.proto.
!!! note SolidityNode is deprecated. Now a FullNode supports all RPCs of a SolidityNode. New developers should deploy FullNode only.
1. Get account information
rpc GetAccount (Account) returns (Account) {}
Nodes: Fullnode and SolidityNode
2. TRX transfer
rpc CreateTransaction (TransferContract) returns (Transaction) {}
Nodes: Fullnode
3. Broadcast transaction
rpc BroadcastTransaction (Transaction) returns (Return) {}
Nodes: Fullnode
Description: Transfer, vote, issuance of token, or participation in token offering. Sending signed transaction information to node, and broadcasting it to the entire network after super representatives verification.
4. Create an account
rpc CreateAccount (AccountCreateContract) returns (Transaction) {}
Nodes: FullNode
5. Account name update
rpc UpdateAccount (AccountUpdateContract) returns (Transaction) {}
Nodes: Fullnode
6. Vote for super representative candidates
rpc VoteWitnessAccount (VoteWitnessContract) returns (Transaction) {}
Nodes: FullNode
7. Query the ratio of brokerage of the super representative
rpc GetBrokerageInfo (BytesMessage) returns (NumberMessage) {}
Nodes: FullNode
8. Query unclaimed reward
rpc GetRewardInfo (BytesMessage) returns (NumberMessage) {}
Nodes: FullNode
9. Update the ratio of brokerage
rpc UpdateBrokerage (UpdateBrokerageContract) returns (TransactionExtension) {}
Nodes: FullNode
10. Issue a token
rpc CreateAssetIssue (AssetIssueContract) returns (Transaction) {}
Nodes: FullNode
11. Query of list of super representative candidates
rpc ListWitnesses (EmptyMessage) returns (WitnessList) {}
Nodes: FullNode and SolidityNode
12. Application for super representative
rpc CreateWitness (WitnessCreateContract) returns (Transaction) {}
Nodes: FullNode
Description: To apply to become TRON’s Super Representative candidate.
13. Information update of Super Representative candidates
rpc UpdateWitness (WitnessUpdateContract) returns (Transaction) {}
Nodes: FullNode
Description: Update the website url of the SR.
14. Token transfer
rpc TransferAsset (TransferAssetContract) returns (Transaction){}
Node: FullNode
15. Participate a token
rpc ParticipateAssetIssue (ParticipateAssetIssueContract) returns (Transaction) {}
Nodes: FullNode
16. Query the list of nodes connected to the ip of the api
rpc ListNodes (EmptyMessage) returns (NodeList) {}
Nodes: FullNode and SolidityNode
17. Query the list of all issued tokens
rpc GetAssetIssueList (EmptyMessage) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode
18. Query the token issued by a given account
rpc GetAssetIssueByAccount (Account) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode
19. Query the token information by token name
rpc GetAssetIssueByName (BytesMessage) returns (AssetIssueContract) {}
Nodes: FullNode and Soliditynode
20. Query the list of tokens by timestamp
rpc GetAssetIssueListByTimestamp (NumberMessage) returns (AssetIssueList){}
Nodes: SolidityNode
21. Get current block information
rpc GetNowBlock (EmptyMessage) returns (Block) {}
Nodes: FullNode and SolidityNode
22. Get a block by block height
rpc GetBlockByNum (NumberMessage) returns (Block) {}
Nodes: FullNode and SolidityNode
23. Get the total number of transactions
rpc TotalTransaction (EmptyMessage) returns (NumberMessage) {}
Nodes: FullNode and SolidityNode
24. Query the transaction by transaction id
rpc getTransactionById (BytesMessage) returns (Transaction) {}
Nodes: SolidityNode
25. Query the transaction by timestamp
rpc getTransactionsByTimestamp (TimeMessage) returns (TransactionList) {}
Nodes: SolidityNode
26. Query the transactions initiated by an account
rpc getTransactionsFromThis (Account) returns (TransactionList) {}
Nodes: SolidityNode
27. Query the transactions received by an account
rpc getTransactionsToThis (Account) returns (NumberMessage) {}
Nodes: SolidityNode
28. Stake TRX This interface has been deprecated, please use FreezeBalanceV2 to stake TRX to obtain resources.
rpc FreezeBalance (FreezeBalanceContract) returns (Transaction) {}
Nodes: FullNode
29. Unstake TRX Unstake the TRX staked during Stake1.0.
rpc UnfreezeBalance (UnfreezeBalanceContract) returns (Transaction) {}
Nodes: FullNode
30. Block producing reward redemption
rpc WithdrawBalance (WithdrawBalanceContract) returns (Transaction) {}
Nodes: FullNode
31. Unstake token balance
rpc UnfreezeAsset (UnfreezeAssetContract) returns (Transaction) {}
Nodes: FullNode
32. Query the next maintenance time
rpc GetNextMaintenanceTime (EmptyMessage) returns (NumberMessage) {}
Nodes: FullNode
33. Query the transaction fee & block information
rpc GetTransactionInfoById (BytesMessage) returns (TransactionInfo) {}
Nodes: SolidityNode
34. Query block information by block id
rpc GetBlockById (BytesMessage) returns (Block) {}
Nodes: FullNode
35. Update token information
rpc UpdateAsset (UpdateAssetContract) returns (Transaction) {}
Nodes: Fullnode
Description: Token update can only be initiated by the token issuer to update token description, url, maximum bandwidth consumption by each account and total bandwidth consumption.
36. Query the list of all the tokens by pagination
rpc GetPaginatedAssetIssueList (PaginatedMessage) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode
37. Deploy a smart contract
rpc DeployContract (CreateSmartContract) returns (TransactionExtension) {}
Nodes: FullNode and SolidityNode
38. Trigger a smart contract
rpc TriggerContract (TriggerSmartContract) returns (TransactionExtension) {}
Nodes: FullNode
39. Create a shielded transaction
rpc CreateShieldedTransaction (PrivateParameters) returns (TransactionExtension) {}
Nodes: FullNode
40. Get a Merkle tree information of a note
rpc GetMerkleTreeVoucherInfo (OutputPointInfo) returns (IncrementalMerkleVoucherInfo) {}
Nodes: FullNode
41. Scan note by ivk
rpc ScanNoteByIvk (IvkDecryptParameters) returns (DecryptNotes) {}
Nodes: FullNode
42. Scan note by ovk
rpc ScanNoteByOvk (OvkDecryptParameters) returns (DecryptNotes) {}
Nodes: FullNode
43. Get spending key
rpc GetSpendingKey (EmptyMessage) returns (BytesMessage) {}
Nodes: FullNode
44. Get expanded spending key
rpc GetExpandedSpendingKey (BytesMessage) returns (ExpandedSpendingKeyMessage) {}
Nodes: FullNode
45. Get ak from ask
rpc GetAkFromAsk (BytesMessage) returns (BytesMessage) {}
Nodes: FullNode
46. Get nk from nsk
rpc GetNkFromNsk (BytesMessage) returns (BytesMessage) {}
Nodes: FullNode
47. Get incoming viewing key
rpc GetIncomingViewingKey (ViewingKeyMessage) returns (IncomingViewingKeyMessage) {}
Nodes: FullNode
48. Get diversifier
rpc GetDiversifier (EmptyMessage) returns (DiversifierMessage) {}
Nodes: FullNode
49. Get zen payment address
rpc GetZenPaymentAddress (IncomingViewingKeyDiversifierMessage) returns (PaymentAddressMessage) {}
Nodes: FullNode
50. Get rcm
rpc GetRcm (EmptyMessage) returns (BytesMessage) {}
Nodes: FullNode
51. Get a note status of is spent or not
rpc IsSpend (NoteParameters) returns (SpendResult) {}
Nodes: FullNode
52. Create a shielded transaction without using ask
rpc CreateShieldedTransactionWithoutSpendAuthSig (PrivateParametersWithoutAsk) returns (TransactionExtension) {}
Nodes: FullNode
53. Create a shielded transaction hash
rpc GetShieldTransactionHash (Transaction) returns (BytesMessage) {}
Nodes: FullNode
54. Create a signature for a shielded transaction
rpc CreateSpendAuthSig (SpendAuthSigParameters) returns (BytesMessage) {}
Nodes: FullNode
55. Create a shield nullifier
rpc CreateShieldNullifier (NfParameters) returns (BytesMessage) {}
Nodes: FullNode
56. Get new shielded address
rpc GetNewShieldedAddress (EmptyMessage) returns (ShieldedAddressInfo){}
Nodes: FullNode
57. Create shielded contract parameters
rpc CreateShieldedContractParameters (PrivateShieldedTRC20Parameters) returns (ShieldedTRC20Parameters) {}
Nodes: FullNode
58. Create shielded contract parameters without ask
rpc CreateShieldedContractParametersWithoutAsk (PrivateShieldedTRC20ParametersWithoutAsk) returns (ShieldedTRC20Parameters) {}
Nodes: FullNode
59. Scan shielded TRC20 notes by ivk
rpc ScanShieldedTRC20NotesbyIvk (IvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}
Nodes: FullNode, SolidityNode
60. Scan shielded TRC20 notes by ovk
rpc ScanShieldedTRC20NotesbyOvk (OvkDecryptTRC20Parameters) returns (DecryptNotesTRC20) {}
Nodes: FullNode, SolidityNode
61. Get the status of shielded TRC20 note of spent or not
rpc IsShieldedTRC20ContractNoteSpent (NfTRC20Parameters) returns (NullifierResult) {}
Nodes: FullNode, SolidityNode
62. Get the trigger input for the shielded TRC20
rpc GetTriggerInputForShieldedTRC20Contract (ShieldedTRC20TriggerContractParameters) returns (BytesMessage) {}
Nodes: FullNode
63. Create an market order
rpc MarketSellAsset (MarketSellAssetContract) returns (TransactionExtension) {};
Nodes: FullNode
64. Cancel the order
rpc MarketCancelOrder (MarketCancelOrderContract) returns (TransactionExtension) {};
Nodes: FullNode
65. Get all orders for the account
rpc GetMarketOrderByAccount (BytesMessage) returns (MarketOrderList) {};
Nodes: FullNode
66. Get all trading pairs
rpc GetMarketPairList (EmptyMessage) returns (MarketOrderPairList) {};
Nodes: FullNode
67. Get all orders for the trading pair
rpc GetMarketOrderListByPair (MarketOrderPair) returns (MarketOrderList) {};
Nodes: FullNode
68. Get all prices for the trading pair
rpc GetMarketPriceByPair (MarketOrderPair) returns (MarketPriceList) {};
Nodes: FullNode
69. Get order by id
rpc GetMarketOrderById (BytesMessage) returns (MarketOrder) {};
Nodes: FullNode
70. perform a historical balance lookup
rpc GetAccountBalance (AccountBalanceRequest) returns (AccountBalanceResponse){};
Nodes: FullNode
71. fetch all balance-changing transactions in a block
rpc GetBlockBalanceTrace (BlockBalanceTrace.BlockIdentifier) returns (BlockBalanceTrace) {};
Nodes: FullNode
72. get the burn trx amount
rpc GetBurnTrx (EmptyMessage) returns (NumberMessage) {};
Nodes: FullNode and SolidityNode
73. Freeze TRX
rpc FreezeBalanceV2 (FreezeBalanceV2Contract) returns (TransactionExtension) {}
Nodes: FullNode
74. UnFreeze TRX
rpc UnfreezeBalanceV2 (UnfreezeBalanceV2Contract) returns (TransactionExtension) {}
Nodes: FullNode
75. Withdraw Staked TRX
rpc WithdrawExpireUnfreeze (WithdrawExpireUnfreezeContract) returns (TransactionExtension) {}
Nodes: FullNode
76. Delegate Resource
rpc DelegateResource (DelegateResourceContract) returns (TransactionExtension) {}
Nodes: FullNode
77. UnDelegate Resource
rpc UnDelegateResource (UnDelegateResourceContract) returns (TransactionExtension) {}
Nodes: FullNode
78. Query transaction information in the pending pool
rpc GetTransactionFromPending (BytesMessage) returns (Transaction) {};
Nodes: FullNode
79. Query the pending pool transaction id list
rpc GetTransactionListFromPending (EmptyMessage) returns (TransactionIdList) {};
Nodes: FullNode
80. Query the size of the pending pool
rpc GetPendingSize (EmptyMessage) returns (NumberMessage) {};
Nodes: FullNode
81. Cancel UnFreeze
rpc CancelAllUnfreezeV2 (CancelAllUnfreezeV2Contract) returns (TransactionExtension) {}
Nodes: FullNode
82. Get bandwidth unit price
rpc GetBandwidthPrices (EmptyMessage) returns (PricesResponseMessage) {}
Nodes: FullNode
83. Get energy unit price
rpc GetEnergyPrices (EmptyMessage) returns (PricesResponseMessage) {}
Nodes: FullNode
84. Get transaction memo fee
rpc GetMemoFee (EmptyMessage) returns (PricesResponseMessage) {}
Nodes: FullNodes