Suggestion: Log in with an NFT and get access to some private text

Please implement a feature, similar to what you did for your merch bridge for Shopify, that allows people to log in with an NFT and get access to some private text.

If you don’t want to store the text, simply allow this feature to be linked to a text file from some (private) URL. Load the text file and display it to the user; use markdown to create clickable URLs.

Personally, I would use this to sell NFTs that have attached private content that has several GB. This content can (optionally) be decrypted with a password that would be available to anyone who can log in with the correct NFT.

Gm! Love this feedback. Are you looking to have a page that is customizable? Or are you looking to token gate just one piece of media?

GM, Lyndo! I wouldn’t mind a customizable page, but I only need a plain text, preferably with URL detection.

Scenario 1 (simulation of a traditional digital download)

One of the things I’m going to try to sell is low cost, non-resalable NFTs with an unlimited supply, that work as a decentralized access key. This key will let people use an NFT to log in and access the text that I suggested. In this text they can click a URL to (re)download a private ZIP file that contains several images or animations with a very high resolution (16K for images, 8K for animations).

The download URL would be private, visible in the text that I suggested. The ZIP file doesn’t have to be permanently stored online, but can be put back if the NFT owner wants it, or could even be upgraded.

For now, the download URL has to be in the unlockable content (only OpenSea has this).

Such an NFT would have an unlimited supply, which means that I need to reuse the same text (/ download URL) for multiple NFT copies. I’m not sure if I would have to set up the text for each NFT copy, or if it’s possible to do it for a batch of copies, depending on the NFT protocol used for minting (ERC 721 or 1155).

Scenario 2 (unique NFT art)

Another thing I’m going to try to sell is unique, resalable NFTs that give access to a public ZIP file that is encrypted. In this case the URL to download the ZIP file would be public (in the NFT description), but the ZIP file would be encrypted with a password that would be in the text that I suggested.

Potential buyers can download the ZIP file, generate its SHA256 and check it against a hash stored in the NFT description (to ensure that they have the original ZIP before they purchase the NFT).

For now, the password has to be in the unlockable content.

This scenario is a problem when combined with the unlockable content because this unlockable content isn’t guaranteed for subsequent buyers. An alternative would be to make the password public once the NFT is purchased, but I would like to have the option to put it in the text that I suggested.

(I know that I can use the Secret Network because their private metadata can store private URLs and passwords, but I prefer Ethereum for now.)

Void,
voidsculptor.art

If it’s faster and simpler to implement, I can manage with a generic page like:

The NFT minter has provided additional content that you can download from [URL]

[OPTIONAL] A password has been provided to decrypt the downloaded file, as instructed by the minter: [PASSWORD]

========================================

An example of the text I’m looking to token gate:

[Intro]

The private content of this NFT has 2.1 GB and can be downloaded from [URL]. The download may expire on [Date], but you can request the Author to make it available again.

If you want, you can use 7-Zip to verify the integrity of the private content, by computing its SHA256 and comparing it to 3EA84AB8ED1B752B11C7B80012DEDE3CB302F9DDCE194F6C92D765B6EAA5B27C (the content is original if they are equal).

I have tested a solution similar to your Scenario 2, using ArDrive.io and their PRIVATE folders.

Try it. You can use Manifold as it exists now to test this out.

Thank you Redline. I’ve looked a bit over ArDrive and saw that it’s possible to upload very large files (40 USD / 20 GB), and they can encrypt the files.

This is great and, since Manifold already uses ArWeave, they could add a simple check-box to encrypt the file on ArWeave.

However, this doesn’t solve the problem of sharing the access URL to the encrypted file.

Have you found a different way to privately share the access URL to the encrypted file, with only the NFT buyers / owners?

I’ve currently solved this by encrypting the ZIP file with 7-ZIP (AES256 encryption) and sharing the decryption key in the unlockable content. Since I’m also sharing the SHA256 of the encrypted file, the solution is fully decentralized (except for key sharing) and independent of any storage mechanism, so any future NFT owner can simply check the integrity of the ZIP file before buying the NFT.

Being able to log in to a private area with the NFT would solve this, although it’s not fully decentralized. Still, it would be good enough, especially since it could allow communication / updates between the minter and the NFT owners.

I’ve also heard of the LIT protocol being able to limit the access to files, but their encryption isn’t done yet, and I don’t know if they would solve the issue with sharing the access URL.

Hey voidsculptor, you can upload your asset that you wish to encrypt to ArDrive, then use the SHARE button and COPY.

I then split the encrypted link and used the portion of the link through/view and made that Public by creating a Property in Manifold.

Then I created a Hidden Property and added the KEY File portion.

I hope you can see this screenshot I am uploading.

Try it and see if it works for you. Seems to work for me, but I haven’t listed any of the tokens I created using this yet.

LIT will supposedly be available by the end of year, but I like this technique too. The only problem is that people have to examine the metadata to find my STORY link in the meta.

Thank you for you answer Redline. I get it now. I knew about hidden metadata, but I find it too… hidden for users.

Maybe not exactly what you are looking for but I worked on this tool on the side to allow token gating content. Currently supports images, videos and pdfs. Give it a try if you’d like! :slight_smile:

https://www.orvylle.xyz/

2 Likes

Wow! That’s awesome, Aguspunk. I will check it out. Can you tokengate down to the wallet owner that holds the token? Is it possible to tokengate an HTML NFT? Would an HTML NFT translate into the owners browser language so I could be understood around the world?

*******Hey voidsculptor, I agree with you that is very hidden, but it’s the only I could come up for now. Maybe Aguspunk’s creation will work.

Thank you, Aguspunk. I’ll look over it.

Very nice, Aguspunk. There is that text box that accepts long texts. That’s what I was suggesting. It’s really nice that the token requirement has all those options.

  • There is a bug related to the description box. I pasted a long text in it and the text vanished. It happened several times, but I can’t reproduce it on demand. Hm, I think it happens only if the browser loses focus and gets it back, then I scroll down and then back up (but sometimes happens without scrolling).

  • Not sure why the uploaded file has to be of a specific type, but you should accept ZIPs.

Oh thanks for trying it and reporting! Might have some time to fix that during the weekend so you can also upload zips. Will let you know on the thread :slight_smile:

Just pushed a change to support ZIPs! You should be good to go there :slight_smile:

I couldn’t replicate the description box bug… if you are able to screen record it that would help me debug it!

  1. Worked perfectly for generating a page for All Token Holders to see. (My Terms of Service)

  2. Wanted to add a Story and additional data
    When I tried to add a second requirement, the app threw an error.

https://www.orvylle.xyz/dashboard/pages/clailat6l0000ld08lh3d6mdr
“Application error: a client-side exception has occurred (see the browser console…”
Within the browser console, I screenshot the attached.

Keep going! This could be game changing for me, especially since you make it possible to gate content to the TOKEN ID.

Hey! :slight_smile:

When you say add a Story and additional data what do you mean? What content are you gating?

Hey Aguspunk,

I am tokengating pdfs and json.

Thanks for your creative coding. Manifold is very innovative.

This forum does not allow uploading ZIPs or JSON files. I am emailing a zip folder for your review.

Hi Augus. That’s great, ZIP files can be uploaded.

Is there any plan to include this in the Manifold website / gallery? (I mean to allow people to log in with their wallet from there, possibly even directly from an NFT listing.)

Regarding the bug. I’m using Chrome, latest, I paste in the Description the text below, I click another application window to bring it in focus, I click back on the Chrome window, then I scroll up and down. The bug seems to mostly happen when overscrolling up.

Interestingly, the editbox isn’t really cleared, it reverts to the previous text (at least if the text was short).

Text to paste:
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890
1234567890 1234567890 1234567890 1234567890