0

I have a Metamask account what I use with web3.js/web3.py/or any web3 lib to buy and sell tokens. Is it possible to tell if the transaction was done from the Metamask Chrome plugin interface or was executed by a script which uses just the account's private key? Will it change the payload or any metadata? Is there any sign in the transaction data that refers to "this event was sent by a script" instead of a human? I read that it is possible to detect if an address is a wallett or a contract, but I couldn't find any information about this.

1 Answer 1

1

No, the tx will be the same from the blockchain perspective whether you send it from Metamask or from a script. To be fair, Metamask itself is a set of scripts...

I read that it is possible to detect if an address is a wallett or a contract, but I couldn't find any information about this.

You are certainly referring to the EXTCODESIZE opcode in solidity to get the size of the code associated with a specific address / account. But it can also be cheated as described here.

So no matter what your point of vue is, there is no way to identify with 100% certainty if a tx was sent by human actions or script reaction to event, and there is no way to identify with 100% certainty that an internal call is not coming from a smart contract.

1
  • I have ran into some tokens which use 'blacklist' and 'antibot' lists. So I was wondering if they detect bots from the single tx data. You provided useful information, really appreciated!
    – rihekopo
    Commented Dec 10, 2021 at 23:09

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.