RPC List

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 witness 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 witness

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 (TransactionExtention) {}
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 (TransactionExtention) {}
Nodes: FullNode and SolidityNode

38. Trigger a smart contract

rpc TriggerContract (TriggerSmartContract) returns (TransactionExtention) {}
Nodes: FullNode

39. Create a shielded transaction

rpc CreateShieldedTransaction (PrivateParameters) returns (TransactionExtention) {}
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 (TransactionExtention) {}
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 (TransactionExtention) {};
Nodes: FullNode

64. Cancel the order

rpc MarketCancelOrder (MarketCancelOrderContract) returns (TransactionExtention) {};
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 (TransactionExtention) {}
Nodes: FullNode

74. UnFreeze TRX

rpc UnfreezeBalanceV2 (UnfreezeBalanceV2Contract) returns (TransactionExtention) {}
Nodes: FullNode

75. Withdraw Staked TRX

rpc WithdrawExpireUnfreeze (WithdrawExpireUnfreezeContract) returns (TransactionExtention) {}
Nodes: FullNode

76. Delegate Resource

rpc DelegateResource (DelegateResourceContract) returns (TransactionExtention) {}
Nodes: FullNode

77. UnDelegate Resource

rpc UnDelegateResource (UnDelegateResourceContract) returns (TransactionExtention) {}
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 (TransactionExtention) {}
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