Let's suppose I am starting an NFT project, and I choose to use a time-lock based policy script. For example, the policy is enabled until some slot in the future.

E.g, here's the Hosky Cash Grab NFT script, which is open until slot 112500819.

  "type": "all",
  "scripts": [
      "keyHash": "4d04380dcb9fbad5aff8e2f4e19394ef4e5e11b37932838f01984a12",
      "type": "sig"
      "slot": 112500819,
      "type": "before"

When you calculate the Blake2B hash of the policy script serialized to bytes, you get a policy ID, e.g. a5bb0e5bb275a573d744a021f9b3bff73595468e002755b447e01559.

If another project happens to choose the same slot for their required-time-before policy and generates the same script or they simply choose to use the same script, won't they also have the same policy ID? This seems like a bad outcome, since I assume that querying the NFT assets minted under the policy ID could potentially show NFTs from another project. Am I correct about this?

As a related question, I understand that projects may register a policy ID for their project in a github repo Cardano-NFTs/policyIDs. What protection or value does registering offer?

1 Answer 1


They will also have to come up with the same keyHash to have the same policy ID, and that is virtually impossible.


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.