Technical Economics
of FLOW Coin
Introduction to FLOW Coin
Flow is a proof of stake layer 1 blockchain and the FLOW coin (symbol: FLOW) is the native coin of the chain. The coin serves as a means of rewarding the staked participants of the network, as a medium of exchange within the Flow ecosystem, and to cover the transaction fee and storage fees within the network. See Flow Primer for more information on how the Flow network works, and FLOW coin page↗ for an overview of Flow’s native coin, FLOW.
FLOW Utility
FLOW coin serves multiple critical functions on the Flow network.
Currently, FLOW is used for the following functions on the Flow network:
- Staking: Coin required for validators and delegators to participate in the network. See section on Staking Requirements
- Rewards: Coins used to reward validators and delegators for their service to the network. See section on Rewards
- Fees: Coins used for transaction fees. All transactions such as deployment of new smart contracts, creation of user accounts, coin transfer, and NFT exchange require the payer to pay transaction fees in FLOW. See section on Transaction Fees
- Storage deposits: Coin required as a minimum balance to reserve on-chain storage. See section on Storage Fees
- Medium of Exchange: One of the Coins that enable users to participate in (and transact with) experiences built on Flow
- Collateral: Coin used as a collateral on DeFi apps (such as Increment.fi)
- Governance: Principal Coin for voting on future protocol and ecosystem development
FLOW Coin Supply
The genesis block was created in October 2020, with 1.25 billion FLOW. For transparency, the breakdown of genesis block holders is outlined below.
Ecosystem Development : 400M+ FLOW coins were set aside for ecosystem development to help bootstrap network effects and ensure a diverse and accessible community over the long term. Ecosystem Development Fund is managed by the Flow Foundation and rewards the efforts of a decentralized Flow community building sustainable value. Ecosystem development programs include grants to developers/ entrepreneurs building value on Flow, as well as coin leases to node validators securing the network.
Dapper Labs: As the corporate entity that funded the development of the Flow technology, Dapper Labs was allocated 250 million coins.
Development Team: FLOW coins allocated to the development team pool and reward the early builders of the Flow infrastructure; these were unlocked over 3 years (from the genesis blocks) and will be fully unlocked in October 2023.
Visit flowdiver for the latest information on FLOW supply. It's important to observe that the total supply has increased in comparison to the initial genesis supply, and this growth is attributed to the distribution of epoch rewards. These rewards predominantly consist of newly issued coins by the protocol (explained here), contributing to the growth in supply.
As of October 2023, all allocations to the ecosystem fund, pre-launch backers, and the community including Dapper Labs have been fully unlocked. No FLOW coins are now locked and thus the entire FLOW supply is now in circulation. The Flow core team remains committed to diligently maintaining and updating their information services to ensure an accurate representation of the supply on their platforms. For the current total/ circulating supply visit flowdiver. Also check out the recent blog post on circulating supply update.
Network Usage
Flow levies two types of fees on the network, aimed at driving security by deterring malicious actors, ensuring management of computation resources and storage space, and creating economic incentives for network participants. First, participants “pay” a storage fee, as a minimum balance requirement to manage the costs associated with storing data on the network. Users who want to store data on the Flow blockchain, - smart contracts, NFTs, or other information - are required to maintain a sufficient FLOW balance in their accounts. Second, Flow requires users to pay transaction fees for executing actions on the network; these fees ensure that the network remains secure and disincentivizes spam attacks by malicious actors.
Storage Fees
Introduction
Flow incentivizes mindful use of on-chain storage through economic means.
Storage fees are an important aspect of the Flow blockchain's techno-economic design and play a critical role in ensuring long-term sustainability and success of the platform. Depending on the amount of data that an account holds, there is a minimum FLOW coin balance that the account must maintain. To bootstrap an account today for instance, users are required to have a minimum deposit of FLOW coins as part of the account-creation transaction, which corresponds to providing an initial storage capacity.
Purpose
Storage pricing on Flow has been defined to prevent storage-exhaustion attacks, and allow for state growth, mass adoption and scalability.
Minimum balance required for storage incentivizes developers to be mindful of the amount of data they are storing on the blockchain, driving them to optimize their code and data structures for efficiency. Storage fees also act as a safeguard against any state-bloat or storage-exhaustion attacks and help represent the cost of state storage on the Execution and Verification node in the Tokenomics model.
Fee structure
Storage pricing function on Flow is a constant multiple of the byte-size of the data to be stored by an account on-chain. 0.001 FLOW is the minimum balance required as part of the account-creation transaction on Flow. If the storage used by an account exceeds 100 kB, account balance requirements are calculated based on the rates (1E-8/ byte) and the byte-size of data stored by the account. Note that none of the storage deposits are ever spent. Visit Storage Fee page for more details. A FLIP to revise these numbers is under community deliberation.
Transaction Fees
Introduction
Flow charges users – or the apps they're using – for services on a per-action basis. These charges are termed as ‘transaction fees’ and are proportional to the cost of effort to the Flow network, imposed by usage of resources such as CPU and bandwidth.
Purpose
Transaction fees offer many benefits in Flow network’s economic design, securing the network from spamming attacks, compensating the node operators for the resources deployed to process transactions and provide security, and generating long-term stability in the Flow economy via reduced inflation. In a mature state, transaction fees would allow the Flow blockchain to self-regulate transaction throughput in a way where it would always approach optimal throughput.
Fee structure
Transaction fee on Flow is proportional to the cost of effort by the network and are broken down into three components - ‘Inclusion Fee’ that accounts for the resources required to process a transaction due to its core properties (byte size, number of signatures); ‘Execution Fee’ that accounts for the operational cost of running the transaction script, processing the results, sending results to verification node, verifying the results, etc; and a Surge factor as a multiplicative factor to dynamically account for network pressure and market conditions.
To summarize: Transaction fee = {Inclusion Fee + Execution Fee} x surge
Or {(inclusion effort * unit cost) + (execution effort * unit cost)} x surge
Today
- Inclusion fee = 1E-6 FLOW (currently constant, but see dynamic inclusion fee FLIP proposed last year);
- Execution Effort is variable, based on transaction type, as shown here;
- Unit Cost of Execution Effort = 4.99E-08 FLOW (currently constant);
- Surge = 1.0 (currently constant)
See Variable Transaction Fees for more details and estimated fees charged for the most common transaction types. A FLIP to reconsider some of the above values is under community deliberation.
Node Economics
For an overview on Flow Nodes, Node roles and their functioning, see Node Operations↗.
Staking Requirements
To ensure that validators on Flow have an economic incentive to act in the best interest of the network, operators are required to stake (or ‘deposit’) a minimum financial security comprising FLOW coins for a protocol-defined lock-in period (usually an epoch). This deposit ensures that operators have committed stake in the network via the classic proof-of-stake framework, and therefore the necessary incentives to facilitate node operations with integrity. Read more about staking.
Each node type on Flow provides a distinct aspect of network security against Byzantine behavior such as halting, falting, beacon break and state corruption attacks. To ensure Flow blockchain is secure under standard Byzantine assumptions (up to a third of each node type could potentially be malicious without affecting network security), optimal staking ratios have been derived for each node type to maximize the cost of attack. Based on this, the minimum stakes were defined for each node role, as stated below.
When a node behaves per the publicly stated rules of the network, it is rewarded with FLOW coins every epoch. In case of a default however, the node risks partially or wholly losing the stake (see slashing), driving operators towards the right behavior, and thus greater network security. Note that today, there is no maximum stake limit for any of the node types, but if a node operator does not meet the minimum stake, they will not be included in the next epoch and will not receive any rewards.
Delegation on Flow refers to the process of users delegating their coins to nodes that have already reached the minimum stake. Delegation is beneficial for those who lack technical expertise or the stake to operate a Full Node. Delegators receive rewards for their staked coins, minus a fee taken by the node operator to cover their operating expenses and risks, currently set at 8% of the delegated funds (“Operator take-rate”)
Delegators must delegate a minimum of 50 FLOW but are not subject to any maximum staking thresholds. The delegators must however stake their coins and select a node operator to delegate to before the start of an epoch. Once the epoch begins, the delegation status remains unchanged until the next epoch. Note that the node chosen to run or delegate to does not affect the amount of rewards received, but the number of coins staked does.
Rewards
5% of the total Flow supply is distributed as rewards annually to incentivize validators and delegators. Total staking reward amount per epoch therefore is known and fixed, however, the individual staking rewards vary based on various factors.
The revenue for an individual validator is equal to their stake-weighted share of the total revenue for all validators in that role. Effectively, each user gets a percentage of the total rewards during each epoch that is proportional to their stake as a percentage of all the tokens staked by all participants. The full reward calculation on a per-user basis explained here. Please note that Access nodes have a minimum stake requirement of 100 FLOW, however, since their primary purpose is to obtain priority lower-latency access to data rather than directly contributing to network security, they do not generate any rewards.
Rewards for delegators are also calculated in the exact same way that rewards for node operators are calculated, except that 8% of the calculated epoch rewards for a delegator is given to the node operator being delegated to. This is effected as a protocol layer fee, and is the same for all node operators.
The node one chooses to run or delegate to does not affect the rewards received every epoch unless the node is slashed. The only variable that one could control is the number of tokens staked or delegated.
Because of the variable nature of the rewards calculation, providing an expected weekly or annual return for a single staker or delegator is difficult. Interested entities are encouraged to use the formula to see some sample calculations, but the exact potential rewards are dependent on the total stake in the network, which cannot be known until the beginning of the epoch in which one is participating in staking or delegation. Average APY across all node roles is can be found on flowdiver.io/validators.
Inflation on Flow occurs when the protocol issues new coins to reward validators and delegators. During rewards payout each epoch, the protocol first uses the central pool of all transaction fees paid by network users since the last rewards payment to pay rewards. After depletion, new coins are minted and used as rewards. If the amount of the fee pool exceeds the expected revenue, the surplus is held to offset future inflation.
Inflation (New coins Issued) during time-period, T = Target Reward Rate (Annually, 5% of Total Supply) - Transaction Fee collected during ‘T’.
With low transaction fees collection for the protocol to draw from (~0.004% of the rewards to be paid out), the inflation on Flow network today is approximately equal to the reward rate, i.e., 5%.
Important Links
Flow Primer: why we created Flow – and what makes it different
Technical Papers: deep dive into the unique Flow architecture
Stay up to date with the latest news on Flow.
Stay up to date with the latest news on Flow.