Rewards overview
Rewards are a unique part of the Archway Network. The rewards system is designed to reward developers for building dapps and contributing to the network.
The rewards system has two types of rewards: Gas Fee Rebates and Inflationary Rewards. This guide will explore each of these reward types in more detail and how developers can access them.
Reward types
Contract premiums
Archway enables dapp developers to define custom fees for interacting with their smart contracts. These fees grant developers a versatile alternative to monetize their contracts. Due to the composable nature of smart contracts, these contracts can also be incorporated into other dapps, earning multiple streams of fees from any user base or service that interacts with their contracts.
Transaction fee rebate rewards
Each computation or operation on a blockchain comes with a cost that is referred to as "gas". When a user wants to transact with a smart contract, the user needs to pay this gas fee as a transaction fee.
In most blockchain networks, these fees go to the validator who is responsible for adding the transaction to the blockchain. On Archway, this fee is split between the validator and the dapp developer as a reward.
To understand how gas fee rebate rewards are calculated and split, go to the Calculating Fee Rebate Rewards section.
Inflationary rewards
Following the Cosmos mint module, new coins are added to the Archway network to reward stakers and other participants. Like the gas fee rebates, these rewards are also split between developers and validators.
The number of coins that can be rewarded will change over time as it is connected to the ratio of coins that are being staked on the network. As this amount changes, so does the reward split between validators and developers. For more information on this calculation, go to the Calculating Inflationary Rewards section.
Calculating rewards
Contract premiums
This is a flat fee set by the contract creator that is fully payable to them.
Transaction fee rebate rewards
Calculating gas
The transaction fee rewards are calculated by the amount of gas that a smart contract uses directly or by other contracts calling it. The more gas a contract uses, the bigger the reward.
Each block uses gas to complete the transactions included in the block. Rewards for a contract are calculated only on the execution of that specific contract and not all the contracts that are included in the block.
Transaction fee split
At the launch of the Archway Network, there will be a 50% split between developers and validators of the transaction fee. The network has parameters included where this can be adjusted over time through a governance vote.
Minimum consensus fee
To protect the transaction fees rewarded to developers and prevent spam attacks on the network, there is a minimum consensus fee connected to each new block. This is the minimum amount that a user must pay in gas fees for a transaction.
A transaction will be declined if it has a lower gas price than the minimum consensus fee. This minimum fee is shown in one gas unit, for example, 0.002 uarch. The client should query the fee before submitting a new transaction.
Calculating inflationary rewards
The inflation rate on the Archway Network follows the mint module in the Cosmos Hub. In this module, token supply can be increased between 7% to 20% annually. The increase depends on the ratio of the tokens that are being staked.
Inflationary rewards split
At the genesis block, 25% of the inflation rewards will go to developers and 75% will go to validators. So if the network sees total inflation of 8% then 2% will go to developers and 6% will be given to validators. This split is a configurable parameter so it can change over time through a governance vote by the Archway community.
Reward distribution
After rewards are calculated, rewards are sent to an address on the Archway Network for storage. This storage is used for all the rewards of a certain smart contract. To receive these rewards, a withdrawal operation needs to be executed.
Once a withdrawal is requested, the tokens are sent to the reward_address that was set by the contract's owner.
What next
For more details, see the developer rewards section.