Entry•X | Decentralized Ticketing Platform

Jose Carlos Toscano - Aug 17 - - Dev Community

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.

. . .