This is the documentation for the Ethereum Json RPC:


Pretty straight forward, but where is the documentation for dealing with tokens via this protocol?

In particular, I need to understand how the eth_call method works. I understand that I need to send some ABI, and get back some ABI. Here is the documentation for this: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI

What I need is a spec of all the messages I can send, and get back.

  • Please see here ethereum.stackexchange.com/questions/51087/… - you just need to call EIP-20 smart contract methods of the token to transfer it around. Jun 13, 2018 at 12:51
  • Thanks, but I need actual documentation. This doesn't give me any clue what to do. How do I list the tokens at an address? How do I get their balances? Jun 15, 2018 at 9:16
  • I also say this because there is NO library for C#. I am building it myself. JSON RPC is easy enough, but there's no documentation on how to access smart contracts. Jun 15, 2018 at 9:17
  • What's I'm really struggling with is all these libraries that are written in golang, or solidity. I don't understand why there is no documentation for straight up JSON. Jun 15, 2018 at 9:29
  • Hey Melbourne, you're mixing up a lot of things, and that's fine when starting out with Ethereum Development. Get yourself familiar with the truffle framework, web3js, and maybe web3j. For development, use the ganache-cli tool.
    – n1cK
    Jun 15, 2018 at 9:40

1 Answer 1


Technically, ERC20 tokens are not at the owners addresses. If you have a token, your address is registered in the smart contract of the ERC20 token as a list of [address]: [balance].

To check the register and see your balance, you need the address of the ERC20 token smart contract.

Anyone can make an ERC20 token, and there's no easy decentralized way to list all of them.

You could collect all the addresses listed on https://etherscan.io/tokens and write a script which checked your balance on all of them, but you would have to keep the list updated when new ERC-20 tokens are launched.

Even more ambitiously, you could set up an Ethereum client and parse all contract creations, defining a filter or pattern to identify ERC20 contracts. But that's very hard to get right.

  • You've copied and pasted your answer here. I'm looking for actual documentation. Jun 15, 2018 at 22:44
  • Well, the answer is correct. The short answer to your updated question: Ethereum tokens (most popularly defined in the ERC-20 interface) is not part of the Ethereum protocol or any client you can call with JSON RPC. It is a standard interface to token Smart Contracts built on top of Ethereum.
    – Svante
    Jun 18, 2018 at 14:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.