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 relayer address containing the rate for the interaction e.g. mintRate.
  • What, the interaction being requested.

The amount of GET needed as fuel for a given interaction is calculated from the USD denominated basePrice and this price is always referred to in US dollar terms even if the ticket itself is sold/traded in a different currency. This 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 NFT. In the DAO Economics we make a distinction between two main classes of interactions; basic interactions and upsell interactions. Both types are fuelled using GET but use different 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 mintRate (a percentage of the basePrice).
  • An upsell interaction is an additional charge of GET that will vary by the interaction that is being called, the relayerAddress holding the configuration, and the basePrice of the ticket.

All NFTs require a mintRate to be paid at the point of minting the NFT. Upsell 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, upsell 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. Once a ticket is minted it contains all the GET fuel that it needs within its fuel tank. In other words the GET used is already in the fuel tank of the NFT for further basic interactions.

For example, if you mint an NFT then the scan interaction would be included in the GET allocated into the fuel tank at the point of mint.

Upsell Interactions

An upsell interaction requires additional GET to be paid atomically within the transaction. These interactions are not funded from the balance within the NFT fuel tank created at the time of mint. This is a hard requirement for the interaction to complete and the state change to be successful. This GET will be deducted from the issuers GET balance.

The table below gives an overview of the difference between basic interactions and upsell interactions.

Basic Interaction

Upsell Interaction

Features Included

Digital Twin, ticket metadata, managed collectables, transparency, basic validity and anti-fraud.

Secondary market value capture, NFT claiming, NFT collectibles.

Functions Covered

primarySale (mint), scan, ownerOf, edit, validate

claim, forResale, secondarySale

Calculated Against

mintRate (%)

Specific upsell rate for the interaction, e.g. claimRate (%)

Payment Covers

Infinite basic interactions

Charged as a percentage of remaining backpack balance.

Charge per interaction

Fee needs to be provided for each upsell at the point of transaction.

šŸ‘

Recap

  • Pricing is relative to the USD basePrice of a ticket.
  • There are two main classes of interaction; basic and upsell.
  • The mintRate is charged once when the ticket is minted. This will pay for all basic interactions.
  • upsellRates accumulate. An NFT resold 4 times will incur 4 charges.