Pretuit
Transform Telegram Threads into NFTs
Created on 29th June 2025
•
Pretuit
Transform Telegram Threads into NFTs
The problem Pretuit solves
The Problem It Solves
Telegram is one of the most active platforms for real-time knowledge sharing — whether in crypto groups, developer chats, alpha circles, or DAO discussions. However, it suffers from several limitations:
- Valuable insights are buried in constant message noise
- Long-form content is lost in fast-moving conversations
- There's no built-in way to preserve or re-surface meaningful discussions
- Collective intelligence is transient and difficult to retain
- Users lack ownership or attribution for their contributions
What Pretuit Enables
Pretuit addresses these problems by turning Telegram content into structured, AI-enhanced, and onchain-preserved digital assets. It provides tangible benefits across different user categories, essentially, it's about decentralising creatorship:
For individuals:
- Save personal insights, updates, or commentary permanently
- Mint Telegram threads as NFTs, providing verifiable authorship
- Create a public, accessible archive of contributions
For communities:
- Identify and preserve high-value content from chats
- Curate or reward insightful content submitted by members
- Build a lasting, searchable knowledge base from group activity
For the ecosystem:
- Archive meaningful discourse from Telegram-native organisations
- Make valuable content portable and accessible outside Telegram
- Enable new models for content curation, discovery, and attribution
How Chainlink was used
To prevent duplication and perhaps plagiarism and to also ensure content authenticity, a SHA-256 hash is generated for each content, embedded into the NFT metadata stored on Pinata IPFS. Using chainlink function, the CID/IPFS hash sent alongside the user wallet address & content hash is used to fetch the nft metadata from IPFS, then the sent hash and the fetched hash are compared for equivalence, if they don't match, it's a new content and thus, a new NFT is assigned for minting to the user's address.
If the hashes match, the content is verified as authentic and previously minted.
Challenges I ran into
-
Contract: missing DON id for the intended contract network: Ethereum Sepolia
-
Chainlink function error: there was a mismatch in the return type of the function from the IPFS flow relative to the one expected in the contract: the sent—received hash process
-
Missing chainlink function credential aside from DON ID, the subscription ID of the function
-
DB Schema & DB mismatch, I had to reset the DB. It was an inexpensive decision
-
Auth flow: verification of the user during the Telegram bot process: getting the currently signed in user details from NextAuth wasn't possible due to the originating request context: outside of the browser so no cookies are available to be read, had to fetch the user from the DB indexed by the supplied Telegram auth code/token
-
Reflecting user verification status: Since the auth session is computed from the DB on initial sign-in, when a user is verified following the interaction with the bot, and a user decides to not click the callback URL displayed, I had to make sure the session is updated with new data from the database: an easy fix, after a few rethinks
All things considered, aside from the contract issue which was frustrating, (I had about 4 contract deployments) all were relatively easy to fix
Tracks Applied (1)
Build the Future of Web3 x AI with Amazon Bedrock
AWS
Technologies used
