How to create gated content that is only accessible to users that have an object with capability X?

How do you create a text/NFT/picture that is only accessible/visible to users with an object with capability X?

How should this be done on Sui?
Where would this picture be stored?
How can you properly gate the access to the picture?
How does the authentication work?

I’ve looked into where rooms are gated with an NFT. But the details of how you can build a similar solution on Sui are unclear to me.

NFT Sui Move


Its a public chain. Every object and object field on the chain is accessible by the public.

Yes, I’m following you on that. I think my request is, how to hide content in plain sight :).
If I remember correctly, Kostas once mentioned the use case of an NFT/picture only available to the owner.

Current research:
Create an NFT Gated website on Solana
Sniper proof NFT metadata
My understanding is that you basically have a random path to some off-chain files, such that if you have access to NFT A, you can’t guess the path of NFT B.

Kostas about private NFTS

1 Like

This is still work in progress. Announcements will be following as the project is closer to completion. It will involve zk-proofs.


Now that is a solution you can love.

Is it fair to think that, in the near term anyway, any ZK solution is of groth16?

Depends on the application, but if proving has to be done on chain then it makes sense to choose a solution with small proof like groth16. From research done it seems that for now groth16 is most suitable to Sui, but that may change in the future.

1 Like