Interactions & Dynamic Pricing

Usage pricing of the protocol 'depends on' three main factors; the price of the ticket, who is issuing the ticket, and what action is required.

  • Price, represented as basePrice on-chain as USD.
  • Who, the integrator containing the rate for the interaction e.g. primaryRate.
  • What, the interaction being requested e.g. sold, scanned.

The amount of GET needed as fuel for a given interaction is calculated from the USD denominated basePrice of each ticket and the fixed latest price of top-up of an integrator. These prices are always referred to in US dollar terms even if the ticket itself is sold/traded in a different currency and is done to standardise the on-chain accounting to a single currency.

Defining Interactions

At its core an interaction is change of state of the NFT on-chain. This could take the form of minting the NFT to changing the metadata and status of the ticket. We make a distinction between two main classes of interactions; basic interactions and premium interactions. Both types are fuelled using GET but use different fuel accounting mechanisms.

  • A basic interaction is one that is paid for by GET assigned at the time of mint. This GET is added to the 'fuel tank' of the NFT and subsequent interactions will continue to get charged from this fuel tank balance. How much GET needed for minting is determined by the primaryRate (a percentage of the basePrice).
  • A premium interaction is an additional charge of GET that will vary by the interaction that is being called, the integrator holding the configuration, and the basePrice of the ticket.

All NFTs require a primaryRate to be paid at the point of minting the NFT. Premium interactions are always optional and are additional to the base operations for an NFT lifecycle. All basic interactions will be funded from the GET allocated when minting, premium interactions will require additional GET to fund.

Basic Interactions

Because the GET needed to fund all basic interactions for a ticket is allocated up-front (when minting) it means that all basic interactions performed on that ticket after mint will not require additional GET to fund. This is important because it allows cost-predictability that covers the full standard lifecycle of a ticket. In other words the GET required to complete the rest of the lifecycle has already been reserved.

The Primary Sale (Sold) interaction is required to mint a ticket and deducted from Available Fuel.

The current basic interactions are:

  • Scanned
  • Checked-In
  • Invalidated
  • Claimed

Premium Interactions

An premium interaction requires additional GET to be paid atomically within the transaction. These interactions are not funded from the fuel reserved at the time of mint. This is a hard requirement for the interaction to complete and the state change to be successful so attempting to perform these interactions without available balance will fail.

The current premium interactions are:

πŸ‘

Recap

  • Pricing is relative to the USD basePrice of a ticket and the fixed price of an integrators top-up.
  • There are two main classes of interaction; basic and premium.
  • The primaryRate is charged once when the ticket is minted covers all basic interactions.
  • Premium rates accumulate. An ticket resold 4 times will incur 4 charges by its secondaryRate.