This is a submission for the Build Better on Stellar: Smart Contract Challenge : Build a dApp
The ticketing industry is plagued by high fees, unreliable systems, and widespread fraud, leaving fans frustrated and uncertain. Traditional ticketing processes lack transparency, often prioritizing profits over people. However, by leveraging Soroban Smart Contracts on the Stellar Network, we can restore trust and fairness to the industry.
What I Built
In creating a decentralized ticketing platform, our primary focus was on developing a robust solution tailored to the unique needs of Users (that's all of us), Event Organizers, and Resellers. Each of these groups interacts with the platform differently, so we designed the system to ensure their experiences are seamless, secure, and transparent.
Redefining WYSIWYG (What You Sign Is What You Get)
We couldn't define it better.
Our application leverages the power of the Stellar **Network and **Soroban Smart Contracts to create a transparent and reliable ticketing ecosystem. Every transaction is reviewed and approved through your Freighter Wallet, giving you complete control and security. For the best experience, make sure you've got your browser extension up and running. (Get Freighter)
Secure and Transparent: The Freighter Wallet prompts you to review and approve every transaction, ensuring that what you sign is truly what you get.
Here's how it works:
1. Decentralized Ticketing for Event Organizers
Note that video demo won't display any Wallet Interaction, but you can go and check it out on our live demo
Event organizers can now distribute their tickets with complete control and transparency. Using the platform, organizers issue tickets as digital assets on the Stellar network. Soroban Smart Contracts manage the sale of tickets, enforcing rules around pricing, limits per buyer, and other conditions. This eliminates the need for middlemen and allows organizers to sell tickets directly to their audience.
Experience immediate payments directly to your Wallet.
Transparency and Trust for Users and Resellers
For users, the platform offers a transparent and secure way to purchase tickets. Every ticket is issued as a digital asset on the Stellar Network, which means that when you buy a ticket, you can verify its authenticity at all time. The integration with the Freighter wallet allows users to securely sign transactions, ensuring that all purchases are authorized and that your secret keys never leave your control.
This system not only prevents fraud but also gives you confidence that what you sign is what you get - whether you're buying or selling.
For resellers, the platform provides a fair and transparent marketplace where tickets can be resold through auctions. Soroban Smart Contracts handle all aspects of the auction, from placing bids to executing the final sale. But more importantly, bidders must commit to their offers - no bid is valid without the corresponding transaction.
We are committed to providing trust and transparency at every level, and this principle is the foundation upon which we built our smart contracts. The code below illustrates how we ensure that a bid is only considered valid if a legitimate transaction is made, reinforcing our dedication to secure and fair transactions.
pub fn place_bid(env: Env, auction_id: Symbol, bidder: Address, bid_amount: i128) {
bidder.require_auth();
// ...
// Put your Money where your mouth is $$$
// Transfer the corresponding bid (XLM) from the bidder to the contract address
let native_asset = token::Client::new(&env, &auction.native_address.clone());
let contract = env.current_contract_address();
let xlmAmount = bid_amount.clone() * 100000;
native_asset.transfer(&bidder.clone(), &contract, &xlmAmount);
// Transfer the previous highest bid back to the previous highest bidder
let previous_highest_bidder = auction.highest_bidder.clone();
if previous_highest_bidder.is_some() {
let previous_bidder = previous_highest_bidder.unwrap();
let previous_bid = auction.highest_bid.clone() * 10000000;
native_asset.transfer(&contract, &previous_bidder, &previous_bid);
}
// ...
}
Our goal is not to limit or regulate resellers, but to empower them with full control over how they sell tickets, while ensuring trust and transparency for both parties involved.
We recognize that reselling is a significant aspect of the ticketing industry, and we’re committed to supporting it rather than imposing restrictions. To build trust, we’ve implemented a system where the swap of resources—whether it’s money or tickets—only occurs when all conditions are met. This way, both buyers and sellers can engage confidently, knowing that their transactions are secure and fair.
Leveraging Stellar's Low Fees and Decentralization
In an industry where every cent counts, keeping costs down is crucial for both buyers and sellers. On our platform, each user is responsible for covering their own network fees, but thanks to Stellar's efficient design, these fees are minimal.
By decentralizing the ticketing process, we eliminate the need for middlemen who often inflate prices. Instead, users transact directly with each other through a secure, transparent, and decentralized system.
Demo
Entry•X is Live --> https://www.entryx.me/
Make sure to be connected to the Testnet network
Join Us on This Journey
If you're an event organizer looking to distribute your tickets through a platform built on trust and transparency, we encourage you to become a partner. Join our waitlist today and be part of this revolutionary change. Together, we can make the ticketing experience better for everyone.
As we move forward, we're excited to extend an invitation to the organizers of the upcoming Meridian events. How awesome would it be to showcase the future of ticketing on the very platform that leverages the power of Stellar and Soroban? Let’s work together to ensure that by next year, Meridian 2025 attendees will experience firsthand how secure and seamless ticketing can be. Join us in setting a new standard for the industry.
My Code
Entry•X Decentralized Ticketing and Reselling dApp
Welcome to Entry•X! This platform leverages the power of the Stellar blockchain to create a secure, transparent, and efficient marketplace for event tickets Users can purchase, manage, and resell their tickets with ease, all while ensuring the authenticity of their assets.
Features
- Blockchain-Powered Tickets: Each ticket is a digital asset on the Stellar blockchain, ensuring authenticity and security.
- Freighter Wallet Integration: Securely sign transactions and manage your assets with the Freighter wallet.
- Auction-Based Reselling: Users can resell their tickets on the secondary market through a transparent auction system.
- Smart Contract Enforcement: Soroban smart contracts manage all transactions, ensuring that conditions are met and providing security for both buyers and sellers.
Tech Stack
This is a T3 Stack project bootstrapped with create-t3-app
.
If you are not familiar with the different technologies used in this project, please refer to the respective docs.
Journey
Implementation and Smart Contract Design
Our motivation for this project stems from personal experiences of fraud and unfair pricing in the ticketing industry. It’s about time we take control and drive real change. The smart contracts we’ve implemented are designed to decentralize ticketing, ensuring that money is only exchanged when a valid asset is received.
In many countries, resellers face significant risks, sometimes even engaging in illegal activities, while trust remains low and fraud is rampant in secondary markets. I wanted to address these issues head-on. Additionally, event organizers often rely on third parties for ticket distribution, which can result in long delays before they see their earnings, not to mention the high, often abusive, commissions they’re forced to pay. There are clear areas of opportunity at every stage of the ticketing process.
When designing our contracts, we deliberately avoided becoming intermediaries for payouts and ticket distribution, as these transactions can be handled directly on the Stellar network. Payments go directly to where they need to be at the exact moment they occur, and asset exchanges happen simultaneously. We needed to ensure that our contracts managed and distributed resources exactly this way. Given that we had to interact directly with Stellar Assets, we chose to manage them through Stellar Asset Contracts. This required us to dive deep into understanding and learning how to effectively utilize them.
(Pro tip here: just make sure the SAC are deployed before attempting to use them, even if there's already an address for them)
Our contracts are capable of storing both assets and native currency, making them the sole intermediary where all transactions are atomic and fully traceable. Rust, a powerful language that maximizes the use of network resources, was crucial in this development. We had to learn and apply best practices in Rust to design our contracts effectively. (That was a tough one)
Proud Moments
One of the most rewarding moments was seeing how our Asset Auctions managed to distribute funds to the correct agents and all involved parties. Witnessing how the issuer received the appropriate commissions, how the asset owner got paid for the sale, and how the commissions were automatically taken out and sent to the right addresses was an incredible validation of our work.
Experience with the Ecosystem
Working with the Stellar Network and Soroban Smart Contracts has been a learning-intensive experience, but also incredibly fulfilling. The ecosystem provided the tools and framework necessary to bring our vision to life, particularly in terms of transparency and reliability in ticketing. (Of course, there’s still work to be done—improving documentation, providing more examples—but that’s a responsibility we share as a community.)
Future Plans
We are actively seeking event organizers who are ready to adopt decentralized ticketing. The more users we onboard, the more we can push for wider adoption of web3 services, including wallet usage. One of our major goals is to manage ticketing for Stellar's annual events, as it feels like a natural fit for their ecosystem.
Looking ahead, our next big step is integrating fiat payments to ensure a seamless user experience. We believe that by making the process as straightforward as possible, we can encourage more users and organizers to transition to decentralized ticketing.
Additionally, we recognize a significant gap in the market related to ticket pre-sales and the frequent shortages that leave buyers frustrated. We aim to redefine how these pre-sales are conducted, allowing assets to go directly to where they need to be without the need for virtual lines that result in hours of waiting, only to discover that tickets are sold out. Our vision is to create a more efficient and fair system where everyone has a better chance to secure their tickets without the usual hassle.
Top comments (34)
How do you plan to handle the regulatory complexities of decentralized ticketing, particularly in regions with strict resale laws? Also, given that some ticketing apps offer fee-free transactions for users, how do you justify passing Stellar network fees onto users, and what impact might this have on adoption compared to traditional platforms?
That's a great point to consider, especially given the complexities of decentralized ticketing and regulations. We aim to keep the platform as flexible as possible, allowing event organizers to customize smart contracts to meet specific regulatory needs, like setting resale limits or restrictions. By using Soroban we could also integrate some KYC if required, depending on partner agreements and their regulations requirements.
As for fees, while some platforms offer 'fee-free' , by transparently passing on Stellar's extremely low fees—some of the lowest in the industry—we provide aim to provide a clear and honest pricing model, though we may adapt as users begin adopting the platform
Stellar's feature for Fee Bump transactions may give us some room to play around with regarding transaction fees. We could explore the option of leveraging this feature as an incentive for organizers, allowing them to cover their users' fees when selling through the platform. (Fee bump transactions)
Talk about abussive commissions:
Just today, I purchased a couple of tickets for a soccer match (Go Mexico!), and I was hit with a non-refundable 18% commission on top of the ticket price. This is exactly why I'm driven to find better solutions that bring transparency and fairness to the ticketing industry. There's definitely a lot of room for improvement in this industry.
Great project!!
Everything is well documented and explained. The design is clean and user-oriented, pretty intuitive and that's great when introducing new technologies and approaches to solve a problem. I do believe this project is tackling the resellers in the right way, not many have thought about it but many have struggled with this.
Thanks a lot!!
The reseller aspect of the project is indeed one of the parts that excites us the most. It's an area where we see a lot of potential for impact, and we plan to keep iterating on it based on market needs and feedback. We're looking forward to seeing how it evolves!
wow, nice job, I just think the real challenge will be to get user adoption around the Wallet usage
You're absolutely right! Getting user adoption around not just wallet usage, but embracing 'relatively' new technologies overall, is indeed a significant challenge. But that's precisely the kind of challenge we're eager to tackle head-on.
For wallet adoption you should take a look at the newly introduced smart wallets. They can be created using biometric data such as face-id or finger scan.
That's actually a great idea! It does sound like a promising way to simplify the onboarding process and enhance user adoption. We'll definitely look into how we can integrate these technologies to make the experience as seamless as possible for our users.
Our goal is to make these technologies accessible, intuitive, and beneficial for everyone. Back in the day, interaction with any web3 technology was just available through CLI. Today, the push to develop dApps with user-friendly and intuitive interfaces is key to bridging that gap.
Wow, loved the images you used for the sample events
Thanks! AI had my back over there!!
Update: one of our "live demo" links on the post was broken. Everything is working fine now :)
It’s an amazing project 👏🏻
Thanks for the support ❤️
Woow! Great work!!!!
Thanks!!
Wow, sounds amazing!
Glad you liked it!
Certainly a promising future for online ticketing approaches with your project.
Love it! We're excited to see how this approach evolves into something that event organizers truly value and users can interact with seamlessly. There's still a lot of iteration and development ahead, and we’re eager to continue refining the experience. Any feedback is more than welcome!