How to find out what scripts / smart contracts are holding my assets and how could I recover these assets if the script allows?

I have in my transactions log a transfer of 500 ADA to this script address: DdzFFzCqrht3C53JYNZ3uRUGw7KBESCkV9854fK736678CPVPuKD1uVKLeemubBpDe1EWJNjCofKLATPCfKawQ4Pu2M7BZgFSvDVMbiK

(logged here)

But I don't know what script is this and how to recover my balance. Is there a way to know, based on the script address, which contract is this and how could I recover my balance?

  • 1
    I think it is not posible, because a script address is a hash of the script, and we can not go back from hash to what generated the hash. Feb 7, 2022 at 1:57

3 Answers 3


You can't get the Smart contract code starting from its address.

As @zhekson already mentioned, smart contract addresses are hashes of the code (the serialization of the untyped Plutus core to be clear).

Hash functions, that we can call h(x), are studied so that there can't be an h-1(x), so given a hash we can't know from which input it was generated via an inverse computation (if that was possible then the whole cryptography thing wouldn't stand).

We can get an input from a hash only if, when creating the hash of the input you store it somewhere and assign to it the generated hash, then we just got a hash-map.

It is possible however to get the Untyped Plutus, program starting from the flat serialized one.


That's a Byron address, not a plutus script address. Likely being sent to an exchange.

  • 1
    This may be factually correct, but doesn't answer the poster's question.
    – gRebel
    Feb 7, 2022 at 1:31

Firstly, the address you referenced in your question is a Byron address, as pointed out by Samuel. Byron addresses are payment only, and are not associated with scripts (smart contracts) or staking.

Second, even if it was a Shelley-era and/or script address, it is not possible to derive the actual smart contract code from a script address because, as Alicia pointed out, script addresses are hash-derivatives of the underlying code. Hashes are one-way by nature; they cannot be reverted back to their original data.

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.