I'm starting to use metamask and I noticed that I'm able to change the network of the same address, so —after digging a little in the web— I now know that every new public address is created from the same private key, so that's why I have the same public address in each of the networks.

I've started to use a new DeFi (a pancakeswap fork) to provide liquidity with high APY and, to interact with it, I'm using the X network, using the same Ethereum address of course. So, to get my revenue there, I have to sign a contract and I guess that this contract is allowing them to use all my funds... so I want to know:

  • Is the DeFi also available to use my ETH funds in the Ethereum network?
  • Can this DeFi use all my funds from my X network wallet? or just the ones of the liquidity swap?

1 Answer 1


I'm not sure what kind of contract you are interacting with, but typically they ask your permission to withdraw token A from your wallet. Or to send the native asset directly to some address. But there's no way for a contract to ask to get access to all of your assets with one transaction (unless you only have one type of tokens in your wallet).

Furthermore, transactions include chainId and networkId. Those two are used to identify the used network, and the combination should be unique. A transaction signed for network X can't be replayed/reused on network Y, because those values are different. You can read more about those fields here: What is a chainID in Ethereum, how is it different than NetworkID, and how is it used?

So, to summarize, giving permission to access token A in network X does not give the contract any other access, and the contract can't take other assets from your wallet.

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.