Smart contracts don't have private keys. But there exists a private key matching their public key/address in the sense that their public key is derived from a key pair generation mechanism.

How can I be sure that the deployer of a contract did not store the respective private key in his/her computer?

2 Answers 2


Addresses of smart contracts on Ethereum are not generated as part of a key pair but instead derived from the transaction that created the contract. The creation transaction includes the compiled code of the contract, and the address is generated from the Keccak-256 hash of the transaction. This hash is then truncated to produce a 20-byte address, which is used as the unique identifier for the smart contract on the Ethereum network.

To validate this, all it takes is verifying the deployment address against the respective transaction's hash.

The address of a smart contract is not linked to a private key, as smart contracts do not have the ability to sign transactions. Instead, they are controlled by their code and can be interacted with through transactions sent to their address.


One way to verify that the deployer of a smart contract does not hold a matching private key is to review the code and verify the deployment address against a list of known addresses. Additionally, the deployer's public key can be compared against the contract's code to determine if there are any matching components.

  • 2
    Looks like ChatGPT??
    – tenbits
    Commented Jan 25, 2023 at 13:29

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.