I am looking at the details of the Tezos protocol right now, and I cannot find this information online.

In a wallet (e.g. TezBox) we can create KT1 addresses from a tz1 account. These KT1 "originated accounts" are mostly used to delegate tez, and can host smart contracts.

I would like to know how does this origination work. What is the mechanism involved? Any hash function? Anything to do with the contract which is saved at this address (like Bitcoin's P2SH)?

1 Answer 1


The only role of the KT1 hash is to be a unique handle. It's computed from the parameters of the origination operation so that no two operations can yield the same handle.

See origination_nonce in https://gitlab.com/tezos/tezos/blob/master/src/proto_alpha/lib_protocol/contract_repr.ml

  • 1
    Thank you, that's what I was looking for! This makes sense.
    – lugaxker
    Commented Jun 20, 2019 at 14:33
  • Thank you for posting on stackexchange and then pinging on matrix chatrooms, it's the recommended workflow 👍
    – Arthur B
    Commented Jun 20, 2019 at 14:35

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.