1

Address: 0x2953399124F0cBB46d2CbACD8A89cF0599974963

On Ethereum, it is a normal wallet address

On Polygon, it is a contract address

The same private key will produce the same address on either of the blockchains. So if the person who has the private key for the Ethereum address, uses that on Polygon network and funds it, will there be two different accounts on Polygon with same public address (one normal wallet and another contract address)?

How common is it to have a wallet address and an contract address with same public key? It seems practically impossible because one is a random generation while other is a function of a randomly generated wallet and a nonce. However, the above example shows its presence.

2 Answers 2

3

The concept of "wallet" is rather vague. But on chains that don't utilize full Account Abstraction - such as Ethereum and Polygon, a wallet is typically the same thing as an EOA.

An EOA is just formed by a private key. Your wallet address is formed the same way - you just use a wallet software to access it. One private key results in the same public key (and hence, address) regardless of what software you use for it.

2
  • Sorry, I meant contract address. I have edited it. The same address shows up as funded wallet address on Ethereum but as a contract address on polygon. What I want to ask is what will happen if the person with the private key accesses it on polygon? Seems like this will result in same address having two different identities on same network - one as contract address and another as normal wallet address.
    – aste123
    Commented Dec 11 at 7:16
  • Added another answer Commented Dec 11 at 8:34
0

After the original questions was refined, here's another answer.

It should not be possible to have the same address both as an EOA and a contract (in different networks). That would imply that someone knows the private key to the contract address, which shouldn't be possible.

I had to do a bit of head scratching with this case, since it looks weird. But in the end, it's rather simple:

  1. The address in Polygon is a normal contract
  2. The address in Ethereum has nothing. It's not a deployed contract
  3. Users simply keep sending transactions to the address in Ethereum, for whatever reason. The address is simply an empty address.

Possibly Ethereum users are accidentally using the wrong network.

There's nothing wrong with sending transactions that try to call functions to an address that doesn't have any contract. Those transactions are simply regular transactions with some payload. The payload gets ignored and the transaction succeeds - even if it doesn't really do anything.

In theory, whoever deployed the Polygon contract might be able to deploy to the same address in Ethereum and claim the assets in the address.

So, to summarize: it should not be possible to have a contract in an address to which someone has the private key.

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.