DEV Community

Cover image for Entry•X | Decentralized Ticketing Platform
Jose Carlos Toscano
Jose Carlos Toscano

Posted on • Updated on

Entry•X | Decentralized Ticketing Platform

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)

Freighter's Sign Request

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);
            }
      // ...
}
Enter fullscreen mode Exit fullscreen mode

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

Join EntryX Image

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 (33)

Collapse
 
danieljancar profile image
Daniel Jancar

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?

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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)

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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.

Image description

Collapse
 
edgar_ossiel profile image
Edgar Ossiel

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.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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!

Collapse
 
nestor_franco_68187593c1f profile image
Nestor Franco

wow, nice job, I just think the real challenge will be to get user adoption around the Wallet usage

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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.

Collapse
 
robeart profile image
Robin Olthuis

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.

Thread Thread
 
josectoscano profile image
Jose Carlos Toscano

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.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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.

Collapse
 
alejandra_gorettifiguero profile image
Alejandra Goretti Figueroa Romo

Wow, loved the images you used for the sample events

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Thanks! AI had my back over there!!

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Update: one of our "live demo" links on the post was broken. Everything is working fine now :)

Collapse
 
mariana_gonzlez_d46fbf6c profile image
Mariana González

It’s an amazing project 👏🏻

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Thanks for the support ❤️

Collapse
 
sergio_garca_0a8b5283603 profile image
Sergio García

Woow! Great work!!!!

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Thanks!!

Collapse
 
carlos_mzaraza_8544e50 profile image
Carlos M. Zarazúa

Wow, sounds amazing!

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Glad you liked it!

Collapse
 
anglica_palacio_91131d1b profile image
Angélica Palacio

Certainly a promising future for online ticketing approaches with your project.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

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!

Collapse
 
estebanpm profile image
Esteban Pérez

Great work! It's exciting to see how Web3 adoption is being integrated seamlessly into the backend, so the end user doesn’t even notice it—no need for wallets or direct interaction with tokens. How do you handle scalability and performance in this kind of implementation? It would be interesting to learn how you ensure the end-user experience without compromising security or speed.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Regarding scalability, we can effectively manage the application's performance as it scales. However, to be completely transparent, we will need to monitor how the Stellar network handles scalability as we grow. This is something we'll address as we expand.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

The goal was indeed to create a seamless user experience where the complexities of Web3 are abstracted away from the end user.

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Thanks a lot

Collapse
 
chielokacodes profile image
Chieloka Madubugwu

Congrats Jose on your win. Amazing project 👍

Collapse
 
koolamusic profile image
Andrew Miracle

Congratulations @jose_carlostoscano_3bb03 this is an incredible project!!

Collapse
 
chielokacodes profile image
Chieloka Madubugwu

Hi @josectoscano , how can I connect with you?

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Hey! Sure, on my profile I have my personal email. Feel free to reach out

Collapse
 
chl03ks profile image
Dan Garcia

Amazing 🤩

Collapse
 
josectoscano profile image
Jose Carlos Toscano

Thanks!!