Nabu is named after the Babylonian god of wisdom and writing, the divine scribe who recorded truths and safeguarded knowledge. My project embodies this mission: to preserve the provenance of data and empower its creators in a decentralized world.
In today's web2 landscape, creators face significant barriers:
- Censorship & Platform Risk: Centralized platforms can arbitrarily remove content or freeze funds, leaving creators powerless.
- Lack of Transparency: Creators often lose control over their data and have no guarantee of fair, direct compensation.
- Data Integrity: How can buyers trust the authenticity and origin of a dataset? How can creators protect their work from being stolen and resold?
Nabu is my solution for building a truly decentralized marketplace for data. It focuses on establishing provable ownership, enabling transparent pricing, and facilitating the secure exchange of datasets. My aim is to create a creator-first platform with clear incentives for both data producers and consumers.
- Decentralized & Secure Storage: Datasets are encrypted with Seal and stored on Walrus. This ensures that only verified buyers can access the data, while the ownership record remains immutable on the blockchain.
- Guaranteed Originality: I generate a unique fingerprint for every dataset uploaded. My smart contract automatically flags any attempt to resell purchased content, protecting the original creator's intellectual property.
- Instant & Direct Payments: When a dataset is purchased, funds are transferred directly to the creator's wallet via the smart contract. No intermediaries, no delays, no barriers.
- Incentivized Participation: Both creators and buyers earn XP for their contributions to the ecosystem. Original content uploads and dataset purchases are rewarded, fostering a vibrant and active community. All incentives are enforced on-chain by my Sui Move smart contract.
- Seamless Authentication with Enoki: Users can sign in effortlessly using their Google account and execute transactions without intrusive popups, ensuring a smooth and user-friendly experience.
- Dataset Upload & Secure Storage: Creators upload their datasets, and Nabu automatically handles encryption on the client side via Seal and secure blob storage on Walrus.
- On-Chain Registration: When you upload your dataset, it's automatically registered on the Nabu smart contract, which stores its metadata and creates a unique fingerprint on-chain to verify authenticity.
- Purchase: A buyer discovers the dataset and pays for it.
- Access Granted: The smart contract verifies the transaction and grants the buyer access to the decryption key if they pass the access policy defined by my Seal's
seal_approvefunction (More on this in the smart-contract README). - Reward Distribution: The creator receives their payment instantly, and both parties are awarded XP.
- Smart Contract: Sui Move (Obviously)
- Decentralized Storage: Walrus (also obviously)
- Decentralized Access Control and Encryption: Seal
- Authentication: Enoki (zkLogin)
- Frontend: Tanstack Start (TypeScript, React, Tailwind CSS, Tanstack Query)
- API: Bun, Elysia, TypeScript
- Database (to store indexed data): SQLite
- ORM: Drizzle ORM
Nabu is fully functional and production ready. This was built with the intention of it being a real-world application from my experience building real-world applications. A lot of optimizations were done to ensure the application is Responsive and Fast while also being Secure and Scalable.
Site: https://nabu.viclabs.dev
Note: Yea I know I would have deployed on Walrus but Walrus requires a full static site and I built this with TanStack Start which is a full stack framework, thereby making it impossible to deploy on Walrus because I won't have server side rendering.
For a deeper technical dive, please see the README files in the frontend and smart-contract directories.