Presentation slides | Documentation link
Inspiration 🧠
Ultimately, what inspires me to participate in this hack is that I have seen a lots of project in the past hacks using the ThetaVdeoAPI mainly for streaming services but I love to push the boundaries and possibilities on Theta network, explore other use cases and yet innovative.
By leveraging the ThetaVideoAPI and Theta blockchain technology to build a fully decentralized video ads network that meets the needs of the web3 community and developers, I can help to shape the future of digital advertising and contribute to the growth and success of the Theta ecosystem as a whole.
The Problem 😌
Web2 ad networks pose several challenges. They lack transparency, making it difficult for advertisers to track ad placements and evaluate campaign effectiveness. High intermediary fees within these networks result in increased costs for advertisers and reduced revenue for publishers. Ad fraud is a prevalent issue, leading to inflated advertising expenses and undermining the integrity of the ecosystem. Additionally, privacy concerns arise from extensive data collection and user tracking practices employed by web2 ad networks.
What it does ⚙️
Turple is a fully decentralized ads network built on the Theta Network technologies which helps advertisers to create and launch their video ad campaigns, while publishers can use them to monetize their websites or apps by displaying ads.
Turple unlocks an attractive option for advertisers and publishers who want to have more control over their advertising campaigns and earn more revenue without the need for intermediaries.
Advertisers can enjoy the benefit of having their ads approved and monitored by the Turple decentralized validators, which ensures fairness and transparency, eliminating the risk of unjustified ad removal.
The system uses a set of smart contracts to automate transactions between advertisers, publishers and viewers, making it virtually impossible for fraudulent activities to occur.
Actors 🧍
Advertiser: An advertiser is a user or entity who wants to promote their products, services, or ideas by placing ads on the platform.
Publisher: A publisher is a user or entity who owns a website, app, or other media channel and wants to monetize their traffic by displaying ads on their platform.
Unlike centralized advertising platforms that require publishers to go through a complex process of signing up, verifying their identity, and agreeing to specific terms and conditions.
Validator: A validator is a virtual entity that lives on the Turple protocol and participates in ads approving and monitoring.
Validators earns Turple tokens for participating in ads monitoring and each validator is required to lock a minimum of 10,500 Turple tokens to join the network to filter out bad actors.
Viewer: A viewer is a user who consume or interact with the ads that are displayed on a publisher's platform.
Features 👌
Transparency: Turple is built on the theta blockchain technology, which provides complete transparency to all actors involved. Advertisers can see exactly where their ads are being placed, and publishers can see how much they are being paid for each ad.
Cost efficiency: Turple eliminates the need for intermediaries, such as ad agencies or middlemen, which reduces costs for both advertisers and publishers.
Using ThetaVideoAPI not only helps us decentralize video but also significantly reduce cost to encode, store and deliver video resulting to cost cutdown on advertising.
Trust and security: The use of Theta blockchain technology ensures that transactions are secure and tamper-proof. This helps to build trust between advertisers and publishers, as well as between the platforms and ads viewers.
Data privacy: Turple allow viewers to control their own data, and they can choose what information to share with advertisers. This provides a more secure and private environment for viewers.
Fairness: Tide of smart contracts ensures that all actors are treated fairly. This means that advertisers get what they pay for, and publishers are paid fairly for their services.
Turple development kits: Turple development kits a set of tools that provide developers with the ability to easily integrate Turple ads into their apps and websites.
Turple token (TNT-20 Standard): Turple token (TRP) is the only payment method on Turple, it helps provides a secure and transparent way to conduct transactions without the need for intermediaries.
How we built it👨💻
- Client app (Vuejs)
Using the Vuejs framework and plugins like web3modal, Web3js, time-ago and others, I was able to build the frontend application easier and faster, and used the Wagmi SDK for interacting with the smart contracts.
- Server app (Express.js)
The backend is a nodejs application and has a mongodb database. It is mainly used for off-chain computation like long running tasks, notifications, off-chain data storage etc.
- Smart contracts (Solidity)
A significant amount of the project functionality is done through smart contracts ensuring security and transparency of the ads network. I used openzeppelin library and followed best practices while developing the smart contracts to reduce likeness of attacks.
- Graph Node & Subgraph (Thegraph)
Running a graph node on thegraph protocol makes it easier, faster and scalable to index and query the smart contracts emitted events from the Theta blockchain.
Revenue model 💸
- 1.25% fee on publisher revenues.
Use cases 🍽️
Here are few use cases I could think of at the moment:
Blogs/Websites
SocialFi dApps
GameFi rewarded ads
Ads-Gating
"Ads gating" means access to certain digital content or experiences is restricted to those who has viewed or interacted to a particular ad content.
What I learned 📚
Here is a list of what I've learnt in no order of priority:
- Using the ThetaVideoAPI
- Testing smart contract with truffle suite and ganache
- Graph Node, Docker and Subgraph
- Typescript
What's next for Turple ⏭️
Subchain: To improve user’s experience with potentially unlimited transactional throughput and very fast block finalization time.
Plugins for Wordpress and other CMS: We will build plugins for Wordpress and other popular CMS to enable easy content monetization with Turple, unlocking potential expansion on over 30% of the internet websites.
Plugins for Unity Games and others: With Unity IDE Turple SDK, developer will be able to monetize their games and also enabling Ads-Gating to some part of their games.
Turple Browser Extension: Ads viewers will be able to interact with ads on websites, complete tasks, with a browser extension and earn rewards in Turple tokens.
Decentralized Identity: Integration of decentralized identity solutions, which allow users to maintain control over their personal information and decide how and when it is shared.
Ad Auctions: Introduction of ad auctions, where advertisers bid on ad space, creating a more competitive and efficient marketplace.
Data Monetization: Enabling users to monetize their data, giving them control over how their data is used and rewarding them for sharing it with advertisers.
Road to Market 🛣️
We are passionate to build and to launch.
Develop a strong brand identity including a beautiful User Interface, logo, tagline, and others.
Determine our target audience.
Create educational and engaging content that speaks to the Theta community and how Turple solves them. This can include blog posts, infographics, spaces, and whitepapers.
Build partnerships: Identify key partners in our industry and build relationships with them. This can help us gain credibility and reach a wider audience.
Launch and measure the growth.
Potential impacts to Theta 📈
According to various industry reports, the global digital advertising market was estimated to be valued at over $350 billion in 2020. This is an interesting large sector can potentially disrupt the blockchain, and with the advantages we have over existing web2 solutions in the space, we can easily gain traction and well as promote the adoption of theta ecosystem.
Test build guide 🪛
Setup Graph Node: Prerequsite: Start your docker compose
git clone https://github.com/devarogundade/turple-graph-node
npm run codegen
npm run build
npm run create-local
npm run deploy-local
Check http://localhost:8000/subgraphs/name/turple/graphql to confirmed the node is running.
Setup Express.js Node:
git clone https://github.com/devarogundade/turple-server-app
npm install
npm run start
Check http://localhost:8080 to confirmed the node is running.
Setup Vuejs App:
git clone https://github.com/devarogundade/turple-client-app
npm install
npm run dev
Check http://localhost:5173/ to use the dApp. The app can be view here but you to build locally to test it.





Log in or sign up for Devpost to join the conversation.