[Feature] - NFT Ticketing

The first feature we fully released on outwave is allowing users to launch events with NFT Tickets.
This feature was prioritized for a specific use case requested by UND.ER Techno Association as the main idea was to provide additional value to users after the event. Users claiming the ticket through NFT would benefit of:

  • having access to digital content after the event
  • having the possibility to use the NFT after the event to purchase the following tickets with discounts
  • having access to a secondary market

For sure @sophie can add more on this topic, as she is part of und.er :slight_smile:

After the event, the same NFT can be used for subsequent campaigns such as [Feature] - NFT as Membership or [Feature] - NFT Digital Twin opening new ways on how events could be interpreted.

outwave provides all the tools to manage events:

  • the creation of NFT Tickets by defining quantity, price, and which crypto shall be used to purchase
  • Pages for promoting the event and selling the NFT tickets
  • validation of the tickets at the gate

More info on this topic can be found on outwave’s documentation

While developing this specific feature, we found out that we should do more to provide value to communities that want to really on NFTs, and ticketing with NFTs was not enough. In addition to this, we learned how the ticketing industry works and how is totally monopolized.
For now, NFT tickets should be considered an add-on to the current ticketing system, and we should focus on adding additional utilities around NFTs to provide a complete toolkit for organizations willing to experiment and manage their communities using NFTs.

For this reason, we decided to go beyond NFT Tickets and implement additional utilities.

If you have additional ideas on this topic, I would be very happy to stress out the current state of the NFT tickets that we delivered on our platform: https://outwave.io

We are here to hear the good and the bad news!

1 Like

I think it could be of use to share some of the ways in which NFTs can help both organizers and fans. For example:

1. Secondary market revenues
Depending on which market NFTs are sold, a ticket issuer can get a royalty fee each time a ticket is sold. These royalties typically range from 5% to 10%. As a result, numerous events may benefit from this significant revenue stream. (If you’d like to learn more about this topic, I suggest you read NFT Secondary Market: a guide to limitless possibilities with NFTs)

2. No more fake tickets
Ethereum, just like other big public ledgers, is immutable. That implies that once made, an entry cannot be modified. As a result, determining whether an NFT links to the proper smart contract or not is as simple as counting to 1. Tickets may be thoroughly validated by everyone, including the issuer. By the way, even the EU is considering NFTs to make papers impossible to forge.

3. Completely transparent ticket markets
Tickets released as NFT instantly have a worldwide market since any marketplace software can read the blockchain entries and make the NFT tradeable. The markets are as completely transparent as anything else on the blockchain. Anybody can see how much NFTs sell for. As a result, ticket prices will reflect clear market rates. If supply exists, you won’t have one customer pay $200 and the next $1,000.

4. Collectible Items
Who wouldn’t love to have a token (literally speaking eh eh) of memory of past experiences they had? Of course, we all do have pictures and videos, but a token would remain in our wallets forever and obviously could be used for so many things after the fact (e.g., see the next point).

5. Community
Connecting with people who took part in an event, let’s say…last week…it is quite a challenge. One should have at least an email address. And if you haven’t collected them at the entrance, for example, or by asking the person concerned, well… web2 has shown one of its critical points. If my ticket were an NFT, the journey would only begin. Anyone could form a community around people who hold the ticket as NFT. No need to compromise your privacy either. Also, no need to ask anyone for permission.

Obviously, the pros don’t end here. NFTs are not only a bit better, but they can really enhance and change the whole system.

1 Like

Hey, first post here :slight_smile:

What if a ticket holder decides to lend their ticket to others?
Let’s imagine a holder cannot go to the event but decide to lend it to someone in the community. Would it be possible to do that?

It could be helpful to strengthen the sense of community :thinking:

That are all very good points @Sarah.
However we did some research with providers and event organizers, and although NFT ticketing can introduce a lot of benefit and solve some of the most infamous problems inside the music industry, they have some challenges to face in the next future.

  • First of all event organizers will difficulty switch their entire traditional system with NFT tickets all in once, there are too many unknown think unknown ( or better never tried before), and for this reason there is no organizer that will jeopardize his business for a new tech test, as used to say everyone want to play safe.

  • Then there is also the monopoly that all the big ticket issuers have over venue and company.
    To take a simple example here, if you want to have your gig in a big stadium, is very likely that you will need to go with a ticket platform that is affiliated with the company that manage the stadium, so it’s quite “politics” and less romance, to put it nicely.

  • Last but not least, many big players don’t want to organize and manage the ticketing business of their events, so it’s simple for them, to sign contracts with big company that will manage all this.
    And, ironically the big players are also the one that could afford to do experiment with new technology, switching off all the unknown that makes the small players backing off from NFT tickets.
    So the development and the advancing of the NFT tickets looks like is in the hand of a few provider, at least they could speed up all the process.

In outwave, NFT Tickets works in this way:

  • you buy a ticket as an NFT
  • you can send it or sell it to anyone in the form of NFT
  • before entering in the event, the NFT must be burned and converted into a QR Code. This process can already be accomplished by our outwave app.
  • the QR code can be printed or saved on your smartphone and is checked at the entrance.

While the NFT is in the form of the NFT, it assures authenticity and validity. It allows users to trade it as many times as they want. Even if the NFT has been traded 1000 times, the final owner is always assured that this is a valid ticket that can be used for entrance.

Hi, if the token is burned to enter in the event, how can it be used “after” the event and in the secondary market as you wrote in the second point of the benefits list or in other campaigns? Maybe you mean punched, obliterated like a phisical ticket, don’t you?

About the lending of a token, the ethereum environment have many proprosals to define the system of lending/borrowing for the erc721/1155, like the eip-4907 or the more recent eip-5501, both adds to the nft contracts methods and attributes to manage a time limited and role based permission of usage to a user, so people do not have to buy the token but can borrow it for an event or to buy merchandise the owner is not interested in.

1 Like

When the NFT is burned, in the same transaction a new NFT is sent to the user’s wallet. The new NFT becomes the obliterated Ticket in the form of an NFT, which proves you have actually claimed the real ticket from the NFT Ticket. The value of the obliterated NFT ticket is that it can be used for the other following campaigns.

As an example, let me list a few use cases that will allow organizations to create new campaigns:

  • “Users participating in my previous event will receive a 50% discount for the next NFT ticket purchase.”
  • “Users that participated in at least 5 events can claim the NFT Membership for free.”

This will also open up opportunities in the secondary market where:

  • users can sell their obliterated NFT Tickets as they still provide value for specific campaigns
  • organizations can receive royalties even on obliterated NFT Tickets

Let me know if this makes sense to you.

Why you need to burn the first token and mint another for the same Ticket? Using a simple mapping uint ->bool you can manage the obliteration, the contract have to expose a method obliterate that can be called only by an account with the “Obliterator” role. So If I have bought the token 1 of my favorite singer’ concert after the obliteration it remain the number 1 and not the number 435678 and the infrastructure can save the gas for the minting. In a collection every detail is important. And in this way the token id is the ticket number and you don’t have to add the information in the metadata. You can even create an hybrid metadata for the ticket: the traits are generated inside the contract but the image is an url to the external image, in this way the information “Obliterated” can be inserted in the token traits and people looking at the token in a marketplace can be sure to br in front of an obliterated or not token and there is no need of a before and after collections. The contract have just to call the metadata creation method inside the TokenUri.


Hi everyone

I’ve a question about ticketing. I don’t know much about blockchain tech but I know it guarantee anonymity

What happens if my organization wanted to sell only to a restricted group of persons? I think it could be useful to add the concept of Restricted Event
The organization could define specific anonymous IDs (may be the wallet address? not sure) to limit the sale for a given a event

It would very helpful for us

See you :metal:

1 Like

Hi @madjjj welcome! What you are asking is really interesting.
We could support such use case introducing the concept of a whitelist to limit the sale to selected people. You would need to know the list of their addresses in advance.
Eventually later on we can facilitate this part with a specific UX: like a link you can share to your buyers which they can use to register to the private sale, so you wouldn’t need to manually input their addresses.

Note that the sale would be visible on the blockchain but still private (you only see anonymous addresses) and limited to a selected few.

Is this a common sales model in your experience?

Yes, you are right.
At the initial stage of outwave, we wanted to avoid the forking of unlock protocol, from which we inherited the erc721 smart contract. Because of this, we implemented an architecture that would give us the needed features without changing unlock’s source code. This approach led us to a way too complicated architecture, and for this reason, the current 0.3.5 release is getting rid of some bad decisions.

More info on this: Sharing revenues with the "platform" - #4 by Foskaay - 🌍 General - Unlock

I have created an issue for this on github and we will work on this on 0.3.6.

Thank you @Massimiliano for this… it’s something we forgot to take care of, in the current update.

Hi, great to know I was of help with my suggestion. I have read the enanchement proposal, don’t know your system so what I going to say now could be more a problem that a solution, but why do you need the maxObliteration value? The obliteration value is inside the metadata, the qr code is created otside of the contract right? If the situation you want to cover is the use of the same ticket in multiple events is more useful tomaintain the event information togheter with the obliteration so the mapping become (uInt->mapping(uInt->bool) ) translated to your metalang: tokenId:int ->( eventId:int -> obliterated:boolean) In this way the same ticket is valid for more than a single event. Obviously the method to check the obliteration become something like this:

// Let's say the NFT contract use AccessControl
bytes32 public constant OBLITERATOR_ROLE = keccak256("OBLITERATOR_ROLE");

modifier onlyObliterator() {
    require(hasRole(OBLITERATOR_ROLE, msg.sender), "Caller is not authorized to obliterate");

// tokenId:int -> ( eventId:int -> obliteration_state:bool)
mapping(uint256=>mapping(uint256=>bool)) public ObliterationState;

function obliterateTicketForEvent(uint256 tokenId, uint256 eventId) public onlyObliterator {

function isTicketObliteratedForEvent(uint256 tokenId, uint256 eventId))public view returns(bool)
    return ObliterationState[tokenId][eventId];

Hi @madjjj and welcome, I reckon that this is the whole point to NFT membership

So you can choose who to address your communications. Having a private and direct link with your fans.
Have a look at this and let us know what you think about!

I will move the technical discussion to

This will leave the current topic more readable to non-developers users.

@Davide, thanks for explanation

Can we have a private talk at alteredbeast.parties@proton.me?

Have nice day :slight_smile:

@madjjj sure thing, I will drop you a message!