For the specific definition of API, please refer to the following link:
https://github.com/tronprotocol/protocol/blob/master/api/api.proto https://github.com/tronprotocol/protocol/blob/master/core/Contract.proto

1. Get account information

Interface statement:
rpc GetAccount (Account) returns (Account) {}
Nodes: Fullnode and SolidityNode

2. TRX transfer

Interface statement:
rpc CreateTransaction (TransferContract) returns (Transaction) {}
Nodes: Fullnode

3. Broadcast transaction

Interface statement:
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

Interface statement:
rpc CreateAccount (AccountCreateContract) returns (Transaction) {}
Nodes: FullNode

5. Account name update
Interface statement:
rpc UpdateAccount (AccountUpdateContract) returns (Transaction) {}
Nodes: Fullnode

6. Vote for super representative candidates
Interface statement:
rpc VoteWitnessAccount (VoteWitnessContract) returns (Transaction) {}
Nodes: FullNode

7. Issue a token
Interface statement:
rpc CreateAssetIssue (AssetIssueContract) returns (Transaction) {}
Nodes: FullNode

8. Query of list of super representative candidates
Interface statement:
rpc ListWitnesses (EmptyMessage) returns (WitnessList) {}
Nodes: FullNode and SolidityNode

9. Application for super representative
Interface statement:
rpc CreateWitness (WitnessCreateContract) returns (Transaction) {}
Nodes: FullNode
Description:
To apply to become TRON’s Super Representative candidate.

10. Information update of Super Representative candidates
Interface statement:
rpc UpdateWitness (WitnessUpdateContract) returns (Transaction) {}
Nodes: FullNode
Description:
Update the website url of the SR.

11. Token transfer
Interface statement
:
rpc TransferAsset (TransferAssetContract) returns (Transaction){}
Node: FullNode

12. Participate a token
Interface statement:
rpc ParticipateAssetIssue (ParticipateAssetIssueContract) returns (Transaction) {}
Nodes: FullNode

13. Query the list of nodes connected to the ip of the api
Interface statement:
rpc ListNodes (EmptyMessage) returns (NodeList) {}
Nodes: FullNode and SolidityNode

14. Query the list of all issued tokens
Interface statement:
rpc GetAssetIssueList (EmptyMessage) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode

15. Query the token issued by a given account
Interface statement:
rpc GetAssetIssueByAccount (Account) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode

16. Query the token information by token name
Interface statement:
rpc GetAssetIssueByName (BytesMessage) returns (AssetIssueContract) {}
Nodes: FullNode and Soliditynode

17. Query the list of tokens by timestamp
Interface statement:
rpc GetAssetIssueListByTimestamp (NumberMessage) returns (AssetIssueList){}
Nodes: SolidityNode

18. Get current block information
Interface statement:
rpc GetNowBlock (EmptyMessage) returns (Block) {}
Nodes: FullNode and SolidityNode

19. Get a block by block height
Interface statement:
rpc GetBlockByNum (NumberMessage) returns (Block) {}
Nodes: FullNode and SolidityNode

20. Get the total number of transactions
Interface statement:
rpc TotalTransaction (EmptyMessage) returns (NumberMessage) {}
Nodes: FullNode and SolidityNode

21. Query the transaction by transaction id
Interface statement:
rpc getTransactionById (BytesMessage) returns (Transaction) {}
Nodes: SolidityNode

22. Query the transaction by timestamp
Interface statement:
rpc getTransactionsByTimestamp (TimeMessage) returns (TransactionList) {}
Nodes: SolidityNode

23. Query the transactions initiated by an account
Interface statement:
rpc getTransactionsFromThis (Account) returns (TransactionList) {}
Nodes: SolidityNode

24. Query the transactions received by an account
Interface statement:
rpc getTransactionsToThis (Account) returns (NumberMessage) {}
Nodes: SolidityNode

25. Freeze TRX
Interface statement:
rpc FreezeBalance (FreezeBalanceContract) returns (Transaction) {}
Nodes: FullNode

26. Unfreeze TRX
Interface statement:
rpc UnfreezeBalance (UnfreezeBalanceContract) returns (Transaction) {}
Nodes: FullNode

27. Block producing reward redemption
Interface statement:
rpc WithdrawBalance (WithdrawBalanceContract) returns (Transaction) {}
Nodes: FullNode

28. Unfreeze token balance
Interface statement:
rpc UnfreezeAsset (UnfreezeAssetContract) returns (Transaction) {}
Nodes: FullNode

29. Query the next maintenance time
Interface statement:
rpc GetNextMaintenanceTime (EmptyMessage) returns (NumberMessage) {}
Nodes: FullNode

30. Query the transaction fee & block information
Interface statement:
rpc GetTransactionInfoById (BytesMessage) returns (TransactionInfo) {}
Nodes: SolidityNode

31. Query block information by block id
Interface statement:
rpc GetBlockById (BytesMessage) returns (Block) {}
Nodes: FullNode

32. Update token information
Interface statement:
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.

33. Query the list of all the tokens by pagination
Interface statement:
rpc GetPaginatedAssetIssueList (PaginatedMessage) returns (AssetIssueList) {}
Nodes: FullNode and SolidityNode

34. To sign a transaction
Interface statement:
rpc GetTransactionSign (TransactionSign) returns (Transaction) {}
Nodes: FullNode

35. Address and private key creation
Interface statement:
rpc CreateAdresss (BytesMessage) returns (BytesMessage) {}
Nodes: Fullnode

36. TRX easy transfer
Interface statement:
rpc EasyTransfer (EasyTransferMessage) returns (EasyTransferResponse) {}
Nodes: FullNode

37. Deploy a smart contract
Interface statement:
rpc DeployContract (CreateSmartContract) returns (TransactionExtention) {}
Nodes: FullNode and SolidityNode

38. Trigger a smart contract
Interface statement:
rpc TriggerContract (TriggerSmartContract) returns (TransactionExtention) {}
Nodes: FullNode

39. Create a shielded transaction
Interface statement:
rpc CreateShieldedTransaction (PrivateParameters) returns (TransactionExtention) {}
Nodes: FullNode

40. Get a Merkle tree information of a note
Interface statement:
rpc GetMerkleTreeVoucherInfo (OutputPointInfo) returns (IncrementalMerkleVoucherInfo) {} Nodes: FullNode

41. Scan note by ivk
Interface statement:
rpc ScanNoteByIvk (IvkDecryptParameters) returns (DecryptNotes) {}; Nodes: FullNode

42. Scan note by ovk
Interface statement:
rpc ScanNoteByOvk (OvkDecryptParameters) returns (DecryptNotes) {}; Nodes: FullNode

43. Get spending key
Interface statement:
rpc GetSpendingKey (EmptyMessage) returns (BytesMessage) {} Nodes: FullNode

44. Get expanded spending key
Interface statement:
rpc GetExpandedSpendingKey (BytesMessage) returns (ExpandedSpendingKeyMessage) {} Nodes: FullNode

45. Get ak from ask
Interface statement:
rpc GetAkFromAsk (BytesMessage) returns (BytesMessage) {} Nodes: FullNode

46. Get nk from nsk
Interface statement:
rpc GetNkFromNsk (BytesMessage) returns (BytesMessage) {} Nodes: FullNode

47. Get incoming viewing key
Interface statement:
rpc GetIncomingViewingKey (ViewingKeyMessage) returns (IncomingViewingKeyMessage) {} Nodes: FullNode

48. Get diversifier
Interface statement:
rpc GetDiversifier (EmptyMessage) returns (DiversifierMessage) {} Nodes: FullNode

49. Get zen payment address
Interface statement:
rpc GetZenPaymentAddress (IncomingViewingKeyDiversifierMessage) returns (PaymentAddressMessage) {} Nodes: FullNode

50. Get rcm
Interface statement:
rpc GetRcm (EmptyMessage) returns (BytesMessage) {} Nodes: FullNode

51. Get a note status of is spent or not
Interface statement:
rpc IsSpend (NoteParameters) returns (SpendResult) {} Nodes: FullNode

52. Create a shielded transaction without using ask
Interface statement:
rpc CreateShieldedTransactionWithoutSpendAuthSig (PrivateParametersWithoutAsk) returns (TransactionExtention) {}; Nodes: FullNode

53. Create a shielded transaction hash
Interface statement:
rpc GetShieldTransactionHash (Transaction) returns (BytesMessage) {}; Nodes: FullNode

54. Create a signature for a shielded transaction
Interface statement:
rpc CreateSpendAuthSig (SpendAuthSigParameters) returns (BytesMessage) {}; Nodes: FullNode

56. Create a shield nullifier
Interface statement:
rpc CreateShieldNullifier (NfParameters) returns (BytesMessage) {}; Nodes: FullNode