Is there a way to tell if the address is an initial account?

Hi, I know that you can create more accounts from the initial account. so how to identify if the address is an initial account or a regular account in a smart contract?

You cannot check whether an account is initial or not.

I am also not sure what that information could be used for? There is no difference in what an initial account can do vs. what a normal one can.

Technically you could check whether an account is definitely not initial. If it has a policy, and the first credential in that policy has non-zero attributes, then the account is not initial. But this might change in the future.

Thanks for answering my question. I wanted to know if I could issue NFT which guarantees up to one per person. so you need to check that outside of the blockchain(smart contract), right?

Yes, that is correct.

Note that two different initial accounts can still belong to the same person. Seeing that there are multiple different identity providers, there is no way to ensure that they all won’t issue identities for the same user. That would go against the decentralized nature of the Concordium blockchain.

1 Like

Ah, I see. I learn a lot from you. thanks!