Gasless Transactions for Users

Let's dive into an example scenario

Scenario

To best understand a transaction let’s set up an imaginary scenario.

Let's say Elmo made a Metaverse game using Umbrella. On this Metaverse, players can buy onchain skins and tools. However, each of these transactions has an onchain cost - called gas- for it to be processed, but he doesn’t want users to pay this since he collects a marketplace fee already.

So Elmo creates the smart contract and pushes it for validation to the network by submitting a GitHub push request and paying a small fee in UMBRA. This request is reviewed by the DAO and is whitelisted, enabling the “pays for” feature for Elmo.

Elmo funds the whitelisted contract with 1000 UMBRA tokens to cover network fees.

Transaction Cost:

In this Metaverse, Elmo sells a piece of land to Ernie for $100.

When Ernie sends the money, he has the choice of paying in Fiat, UMBRA, or major EVM currencies.

Ernie selects UMBRA as his payment choice

An oracle is used to gather a price for UMBRA against USD. 10 UMBRA is the cost.

Ernie confirms. UMBRA is automatically deducted from his application balance

The land is transferred from Elmo to Ernie 10 UMBRA is transferred from Ernie to Elmo

Elmo’s original contract is charged the gas fee for this transaction. This fee follows the standards of EIP-1559, and so has two parts, the base fee which is burned, and the priority fee which is given to the validators. Elmo has also set a max fee when setting up the contract, this guarantees transactions go through even if the nearest node is busy.

The UmbrellaDAO sets the minimum gas unit price. However, the market determines the actual minimum gas unit price.

For the 10 UMBRA In the transaction, the gas limit is 21,000 units, and the base fee is 10 gwei. This is deducted from the 1000 UMBRA in the contract that originally got whitelisted.

The transaction has a fee of 0.00063 UMBRA. The validator receives the tip of 0.00042 UMBRA. The base fee of 0.00021 UMBRA is burned.

Last updated