I´m new to ethereum and as far as I understand you only have one address for a given ethereum wallet. So how do you make sure from whom you received any ether?

To explain my problem a bit. Using bitcoin I would generate a new address for each transaction I want to receive which makes it easy to track if a specific transaction was send. But only having one address makes this impossible, right? Moreover if the expected amount for each transaction would be the same.

Is there any way to solve this problem?

And the more complicated issue: what if I want to receive ERC20 token? For the above problem I could imagine that simply creating multiple wallet would be the solution, but for ERC20 I would have to send ether to each address in order to process the collected token, right?

1 Answer 1


First of all, in Ethereum every address is a wallet whether it is a contract or not and you can't create multiple addresses from the same wallet.

So, directly, your X number of tokens per address is not feasible unless you have ether to spare for each wallet as you said.

The thing with ethereum is that it relies on contracts to handle balances of tokens. so a token is a contract that stores a list of addresses each having a certain balance of that token meaning that your wallet is a list of balances of your address in each token you own a bit of (or don't but those have a balance of 0 by default).

modern wallets like MetaMask have the capability to hold this information by querying each token contract (that you add to your wallet of course) for your current balance (periodically).

For someone coming from Bitcoin this, one Wallet multiple Tokens can sound a bit frustrating but it is very convenient for having many tokens and being able to keep an eye on each time.

For Info : Most wallets like MetaMask do let you use multiple wallets at the same time each having multiple tokens.

  • Is there any kind of transactionID or something like this a sender can use to indicate on which transaction request he has send his token or ether? My main problem is so identify on which transaction request a token has been send, which is only possible by sending to different wallets/addresses or by providing any kind of ID. Is there something available I can use?
    – Michael
    Commented Jul 4, 2021 at 10: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.