Frequently Asked Questions
What is ticket attestation?
A ticket attestation is a cryptographic proof issued by event organiser to ‘*attest*’ that you are a genuine ticket holder. Ticket attestations allows the permissionless verification of a ticket, for granting access or other privileges/rights to a genuine ticket holder.
Ticket attestations can be used by any service provider to validate that you are ticket holder and integrate their services. Attestations can be used by both web2 (non-blockchain) and web3 (blockchain) services, allowing for universal integrations.
One of the key benefits of attestations is that, it can allow for these universal integrations between any web services while preserving privacy of the user. The web-services only need to know that you are a genuine ticket holder, without having the knowledge about what is in your wallet or your identity.
What are attestations?
Attestations are actions that can be taken to provide proof. Examples of things that you may need to attest to include; ownership of a car, entry to a music event, login to a social network, attendance of a work training event, or a high score you achieved on a video game.
Attestations vary depending on type/s of proof required. Entry to a music event may require proof of age and ownership of the ticket, where proof of a high score achieved can be attested by sharing your gamerID.
What can I do with the ticket attestation?
Traditionally a ticket will only have a single-use purpose; it could be used to enter a cinema, or to attend a concert event and is almost exclusively used by the event organisers. Now with ticket attestations, tickets can be used by both the ticket issuer and 3rd party service providers.
As ticket attestations can be verified permissionlessly by anyone, it can be used for a variety of different use cases. Any third-party who wants to connect with the ticket holders can use ticket attestation, extending the utility of the original ticket. The use cases can range from offering access to VIP lounges, claiming free meals from food trucks, enrolling into NFT competitions, redeeming discounts etc.
Is this an NFT? Why not use NFTs?
Attestation is not an NFT, however attestations can be used to express an NFT off-chain. Also, attestations can be used to mint NFTs on-chain.
The key benefits of using attestation instead of NFT are privacy, flexibility and saving gas costs.
-
Privacy: Ticket attestations are sent as MagicLink urls through emails. Event organisers does not have to know your wallet address. Also, since you don’t hold an NFT, your wallet cannot be identified as an event attendee’s wallet.
Moreover, using TokenNegotiator to recognise attestations can preserve the privacy of both your wallet and email address to the web-services that validate you as a ticket holder. If NFTs are used, all the information your wallet information will have to be shared with the service provider at a minimum.
-
Flexibility: Attestations are usable by both web2 (non-blockchain) and web3 (blockchain) systems. Attestations are blockchain agnostic. Also attestations can be bound with web2 identity such as email, Twitter ID, phone number etc. In addition, attestations can also be converted into NFT, on any chain, at any point of time.
-
Gas Cost: As attestation can be generated and used off-chain, there is huge cost savings in terms of gas costs. On chain transactions are only needed if the user wants to interact with blockchain.
How can I use ticket attestations to provide my services to ticket holders ?
Any one can permissionlessly authenticate genuine ticket holders and provide services based on that
If you have an online service, in order to integrate ticket attestations you will have to get your web development team to install and configure TokenNegotiator NPM package. More information about TokenNegotiator and its implementation can be found in the ‘For Developers’ section of this FAQ.
For offline, in-person interactions, the attestation QR code can be used to verify valid tickets. Based on this verification, you can then proceed to provide the ticket holder access to an event or merchandise etc. The QR code scanner MVP is available here: https://testshop.antopolbus.rv.ua/qrscanner/. You can configure and test the app using this document.
What integrations and use cases I could build?
There are many things that you could dream up using the ticket attestation. Imagine them as perimissionless integration points to valid tickets. Sharing some examples to get you started.
Some of the integrations could be to authenticate ticket holders, for entering an after-party or an exclusive club. May be a similar system can be used to redeem first free beers at your bar?
Games and events are another avenue for integrating ticket attestation. It can be used to enter exclusive raffle or participate in Trivia. Ticket attestations may be integrated into treasure hunts where users will have to prove that they are ticket holders without revealing their identity? May be to use attestations to join a exclusive Discord group?
For e-commerce applications you can use attestations to offer Discounts to event participants, or claiming vouchers. Or may be the attestation can be used to access exclusive offer page or catalogues for ticket holders.
For more advanced use cases, ticket attestation can be combined with social logins to create custom web experiences. For example combine social login, such as Twitter, with Ticket attestation to claim free annual subscription for a service. It can also be used to collect Twitter autographs on your Tickets? The possibilities are only limited by your imagination.
How does it work?
Ticket attestation is sent to ticket holders as a MagicLink, a URL that contains the encoded attestation. Clicking this URL opens up a webpage, that decodes this MagicLink and stores an initial attestation inside the browser (local storage).
This the attestation/s can be learnt by the client applications that have installed and configured TokenNegotiator NPM module. Depending on the configuration of TokenNegotiator the tokens can be learnt by the website directly, or using the overlay configuration, the end user will have full control over which tokens are learnt by the website they are visiting.
The token data itself contains various properties that can be used to create different kinds of experiences, these could be tiered or custom based on the ticket metadata. To attest full ownership of a token, a client side event can be triggered which will provide the end user steps to complete verify their email and hence to acquire full proof.
What is TokenNegotiator?
The token-negotiator is an NPM package designed to connect tokens and attestations with dapps, apps and websites. More details about TokenNegotiator can be found in the links below:
NPM: https://www.npmjs.com/package/@tokenscript/token-negotiator
GitHub: https://github.com/TokenScript/token-negotiator
Examples: https://tokenscript.github.io/token-negotiator-examples/
Is there a Quick Start to speed up implementation?
The easiest way to use attestations is to use it with TokenNegotiator on a website. TokenNegotiator will recognise the attestation in browser’s local storage and allow you to integrate services based on attestations.
Please refer to the integration guide for steps to install & configure TokenNegotiator and backend verification of attestations.
Advanced configuration options for TokenNegotiator can be found in the npm package readme.
Are there any Demos?
- Claim discounts for room reservations
- Claim free shuttle services
What is the difference between attestations and NFTs?
Critera | NFT | Attestation |
Privacy | Fully public on Ethereum | Privacy preserving until used on-chain |
Flexibility | Suitable for both blockchain and non-blockchain applications. | Most suitable for blockchain applications |
Gas Cost | Can do transactions off-chain and only pay gas fee for on-chain transactions | Ethereum Gas fee for most transactions |
Distribution | Transferrable through traditional web2 communication channels. | Transferrable using wallet address |
Transferrability | Usually non transferable, as issued against identity. And if transferable, often needs issuer to transfer. | Can be transferred peer-to-peer, unless specifically developed not to. |
Who are Smart Token Labs?
Smart Token Labs is the team behind AlphaWallet and TokenScript. Founded in 2017 as AlphaWallet, the team went on to create the most popular fully opensourced Ethereum wallet for the crypto-community with more than 400 forks used by enterprises and small projects alike.
Smart Token Lab’s mission is to enable a frictionless market through the implementation and adoption of Web3 technologies. To achieve its mission, we at Smart Token Labs are constantly working with new ideas and applications that are at the frontier of what’s possible with blockchain. We had created one of the first sports NFT when we experimented with NFT tickets for FIFA 2018. We have also implemented several real world use cases on NFTs such as Car Tokens, Door Tokens etc.
What is TokenScript?
TokenScript is a framework which improves functionality, security and usability of blockchain token in multiple ways. TokenScript is a JavaScript / XML framework for blockchain token which creates a layer between a blockchain and user devices.
TokenScript allows token issuers and other trusted authorities to enrich a given token with a wide set of information, rules and functionalities. With TokenScript wallets and web services can easily, securely and privately implement a token with all its functions, both on-chain and off-chain, without the need to understand the underlying smart contract.
If you are a token issuer, TokenScript allows you to package and deliver the HTML/JavaScript code which is needed to access the token contract. Wallets can run the token as a mini dapp, and websites can integrate its full functionality. You can add any app, information and rules to your token, without the need to care about the restrictions of a smart contract. You can even render the token functionality due to the circumstances and create interoperabilities with other tokens.
TokenScript addresses the trust, interoperatibility, privacy and security issues that arises when you need to make your users access your token in their wallets or from a 3rd party website. It creates an environment in which token can be used more securely and more privately, and in which token and other services can easily and securely interoperate without trust problems.
For further information about TokenScript please visit: https://tokenscript.org/.
What is MagicLink?
In this context, MagicLinks are attestations expressed as URIs. In other words they are action-triggering links that contain cryptographic information. MagicLinks can be opened by relevant webpages to decode and store the attestation in the browsers local storage.
This attestation can then be used to enable some specific transactions, depending on the nature of the attestation. For more info, check out: https://www.tokenscript.org/docs/concept/magic-link/