Flow is the blockchain for open worlds.
Developed by the team behind some of the most successful crypto applications on the Ethereum network, Flow is a blockchain re-designed from the ground up to be user- and developer-friendly as well as modular and future-proof.
Flow’s novel four-node architecture achieves massive improvements in speed and cost that scale with hardware capacity without compromising decentralization or breaking up the network into shards or “layer two” solutions. To learn more, visit Primer page
The FLOW token (“FLOW” or “𝔽”) is the native currency for the Flow network and the keystone for a new, inclusive, and borderless digital economy. If blockchains are digital infrastructure, the Flow token is the fuel that powers the network.
FLOW has several important characteristics that make it the ideal currency for a new generation of games, consumer applications, and the digital assets that will power them:
Each of these is explained in more detail below.
FLOW is the native currency for apps, games, and smart contracts built on top of the Flow blockchain, and thus is the currency guaranteed to be available for developers and users to transact with on the network. Developers can easily build FLOW directly into their apps for peer-to-peer payments, charging for services, or enabling consumers to earn rewards for the value they create. FLOW can also be held, transferred, or transacted by users peer-to-peer.
Token holders can earn rewards by staking their FLOW as a security deposit and working to secure the network through running validator nodes – or delegating their stake to professional operators to run validator nodes on their behalf. Validator nodes receive staking rewards and transaction fees in exchange for providing the security, computation, and storage services the network needs.
Small amounts of FLOW token are also required for every activity on the network – from new user accounts to storage for assets and smart contracts. As the network matures, FLOW token holders will be able to use their FLOW in an evolving number of ways:
The perfect payment experience is seamless for all parties: buyers pay in any currency they have; sellers price and receive in any currency they want. Applications on Flow can tap into this reality. Flow has high throughput, low fees, and full ACID guarantees, allowing developers to implement decentralized exchanges (DEXs) that act as a clearing house between tokens. Flow has the ability to use frequent batch auctions to defeat front-running attacks on these DEXs.
FLOW token’s ubiquity on the network makes it the obvious “bridge asset” for currency exchanges between thinly traded token pairs. As the number of secondary tokens on Flow becomes large, the number of possible trading pairs increases exponentially, meaning that some swaps will require an intermediary asset like FLOW.
Importantly, FLOW is required for the creation and usage of all other tokens on the network – to pay for storage and/or serve as collateral. These details are outlined in the technical details section below, and will be fully specified in future whitepapers. The economic impact is that as more value is created on top of the Flow blockchain, more demand is generated for FLOW token.
The distribution of the native token is critical to the network’s decentralization and long-term success. Centralized control over the token supply prevents easy access by developers, who require the native token to deploy new smart contracts and pay for transaction fees (“gas”) as well as cover storage and account deposits on the network.
For Flow to achieve its full potential, a safe and sustainable distribution strategy is critical: we must get FLOW token into the right people’s hands. Alongside technical capability and crypto-economic security, we recognize that a healthy and sustainable distribution strategy is essential for making the Flow blockchain successful in the long term.
FLOW will be the catalyst for diverse new communities to access blockchain and decentralized applications, building and benefiting from real use-cases rather than speculation. Good user experience design will make owning and using FLOW seamless. Ultimately, FLOW will bring all of the communities building on the network together to create and share value.
Flow is pioneering several large scale engagement programs:
Thanks to robust technology, an amazing community, and strong incentive design, FLOW will enable today’s early adopters to build tomorrow’s open worlds.
Blockchains like Flow are powered by decentralized communities running the computer hardware (“validator nodes”) that support the activity and secure the value of assets on the network. Other blockchains rely heavily on creating and distributing new tokens (“monetary inflation”) in order to attract validator node operators to their networks.
Unfortunately, as in all economies, monetary inflation has a cost: the newly-created supply of tokens acts as a tax on holding or day-to-day usage by diluting all token holders. This is why Flow has a cap on monetary inflation. In fact, inflation on Flow will go down as network fees increase.
In its steady state, Flow guarantees a set payout to node operators and only issues new tokens as necessary to make up the difference between transaction fees and that guaranteed payment. As transaction fees approach this payout amount, new issuance approaches 0%. If transaction fees exceed the payout amount, they are held in an escrow account and used to offset future inflation indefinitely.
In the first year of operation, monetary inflation will be higher to incentivize greater levels of staking while the collateral, payments, and other complementary parts of the Flow economy mature.
As a decentralized network, Flow charges users – or the apps they’re using – for services on a per-action basis, similar to the way Amazon Lambda charges for processing power today.
There are two types of fees on the Flow network:
Especially in the early days of the network, transaction fees will be low, starting at 0.001 FLOW, or 1 mF (milli FLOW).
As a proof of stake network, the Flow blockchain requires validator nodes to lock a security deposit denominated in FLOW tokens in order to participate as part of the infrastructure that runs the blockchain. This is known as staking. Staking prevents low cost “sybil” attacks (where one actor masquerades as many individuals to gain undue influence over the network) and acts as a bonded deposit that can be seized if the validator attempts an attack on the network.
Flow distributes a fixed portion of the total FLOW token supply each year as rewards to validator node operators through a combination of new issuance (inflation) and transaction fees (when combined with inflation, the “total reward”). The total reward will be chosen carefully to be as small as possible while preserving the security of the network (currently contemplated to be set at 3.75% of the total token supply per annum). Excessive inflation can create a range of unintended consequences and makes the token less attractive for non-staking uses.
To ensure that stakers are incentivized to move into the node roles that are most needed at any given time, the total revenue assigned to each role is adjusted through a set of multipliers known as the reward coefficients. These values are adjusted by the protocol automatically: if a particular role is consistently under-staked relative to the others, the protocol will increase the payouts to that node type until the actual staking balance converges on the target ratio. The initial split between node pools (calculated to optimize security) on the graphic below:
Flow nodes follow the procedures defined in the protocol (based on their role) in order to receive rewards. Any deviation from the protocol can result in decreased reward payments or punishments. This reward and punishment structure is designed to guarantee the security of the protocol and optimize performance over time.
Severe infractions, which undermine the safety of the network, can lead to some or all of the staked tokens being confiscated from the offending node(s) and destroyed. This is known as “slashing”. This document outlines the most severe infractions against the protocol which result in slashing (“slashing conditions”). Enforcing these conditions is critical to the cryptoeconomic security of the protocol. Flow considers only severe threats to safety and liveness to be slashable conditions and as such, there are no performance-related slashing penalties.
Storage on Flow can be associated with individual user accounts, rather than to smart contracts: this is a subtle capability with significant positive impact on the user experience of Flow applications. On blockchains without this capability, any non-payment of “state rent” on behalf of the smart contract developer could cause all users’ assets to get wiped. On Flow, a user’s assets can never disappear or be purged without their consent.
Flow covers the cost of on-chain storage on a per-account level simply by requiring a minimum balance as a locked deposit (in FLOW): this deposit is never spent, but is held out of circulation, increasing staking rewards to the validator nodes providing the storage.
The minimum balance of a Flow account at launch will be a fraction of one FLOW, enough to cover most initial activities. To make onboarding easier, this minimum balance can be provided by developers on behalf of users in cases where the developer has a defined business model (e.g. charging users subscription fees or selling in-game items). Developers that don’t have access to FLOW can borrow from token-holders directly or through setting up their own secondary token and exchanging it for FLOW from the community: a form of decentralized, trustless, crowdfunding.
A higher FLOW balance means the user or developer has access to more storage capacity. It is expected that storage capacity per unit of FLOW locked will increase dramatically over time as validators achieve economies of scale and cost of storage falls.
The Flow Ecosystem Reserve has the mandate to distribute over 10 million accounts in the first few years of the network, working with a broad alliance of community organizations. This ensures accessibility onto Flow for anyone that wants to use or build on it.
While storage requirements for fungible tokens are very small, the on-chain storage – and associated minimum balance of FLOW – required for NFTs can be significant since every one is unique. Power users can maintain their own balance to access higher storage capacities.
In the long term, user agents (wallets) and dapps can in turn help their users “recycle” storage on the network by deleting resources or, just as easily, backing them up to off chain or archival chain solutions (e.g. Filecoin, arweave, or equivalent solutions built on Flow directly).
An emerging new business model for decentralized applications, service protocols (also known as middleware protocols) are smart contracts that provide services that are used by applications across the network. Chris Burniske explains:
Others have called these service-layer protocols, as they focus on providing a specific service to the interface layer, be they financial, social, technological, etc. Financial services include things like exchange, lending, and risk-management; social services offer functionality like voting structures, arbitration, or legal-contract management; technological services include components like caching, storage, location, and maybe the granddaddy of them all, a unified OS for protocol services to be neatly bundled to the interface layer.
Service protocols are open source, so their code is easy to move across blockchains. The value that’s hard to replicate lies in the state they coordinate: the network effects between all the various ecosystem participants as well as the end-users of the service.
On other blockchains, this state will have to be broken up or bridged across shards, adding complexity, cost, latency, and potential for errors in applications that use them. Sharding throws a wet towel on the network effects that give service protocols value in the first place.
On Flow, service protocols always exist in the same shared, ACID-compliant, state as every user, app, and other smart contract on the network. This makes them much more likely to be built on by other developers, accelerating their network effects.
On blockchains today, most service protocols use secondary tokens that do not accrue value back to the ecosystem they’re built on. As a result, they have different incentives compared to the blockchains whose security they depend on. On Flow, we incentivize key service protocols to “infuse” their tokens through a bonding curve mechanism with the native FLOW token.
Bonding curves were originally developed as a mechanism for providing robust price discovery and liquidity to tokens, even when they are thinly traded. For example, an infused token INF would be controlled by a smart contract that allows anyone to mint a new INF token if they provide the appropriate amount of FLOW at the current exchange rate, while also very slightly increasing the exchange rate for the next trader (resulting in a price that increases with demand). Conversely, that same smart contract would allow an INF holder to redeem their holdings for FLOW at the current price (minus a small spread), pushing the exchange rate slightly lower. (these two posts provide a great introduction to bonding curves.)
Infused Tokens take this idea one step further and note that, if the Reserve Token has a security and governance function, the tokens locked under the bonding curve can be used to allow the service protocol to support the security of the underlying chain while directly and actively participating in protocol governance.
As such, an infused token combines four key benefits to its holders:
Flow may contribute a large portion of its ecosystem fund to bootstrap early service protocols that benefit the entire network, including at least one decentralized stablecoin. These funds would never be released directly into circulation: instead they would be used to backstop and subsidize protocols that themselves generate activity across the network.
Stablecoins are cryptographic tokens whose value is stabilized relative to a given fiat currency – or basket of currencies.
The value of stablecoins in consumer applications and games is that, especially initially, mainstream consumers (and the businesses that serve them) may prefer to transact in their local currency. Similarly, businesses that need to make forward commitments will value predictability and the ability to book revenue in the same currency as their costs.
Stablecoins are simple to implement on Flow – and several are already on the way. There are generally two kinds of stablecoins; both require FLOW tokens to pay for their network resources:
Over time, as users learn to value FLOW for its functionality on the network, the native token may start being preferable as a medium of exchange based on its inherent liquidity and direct usage.
At launch, the Flow protocol will have informal off-chain governance: the development team will operate independently, with the mandate to build for the decentralized community. Similar to Bitcoin or Ethereum today, anyone will be able to submit improvement proposals on the Flow GitHub repo, which are then reviewed by a core development team led by Flow’s Chief Architects, Dieter Shirley & Alex Hentschel. Protocol upgrades will be proposed to node operators who then make independent decisions on adoption.
Starting in late 2020, driven by community efforts, on-chain voting will begin as a signaling mechanism: votes will not be binding, but they will be visible to the entire community and will guide the development teams’ efforts.
Additionally, over the first year, various ecosystem development efforts will be dispersed across decentralized autonomous organizations (DAOs) which will require FLOW or ‘FLOW-infused’ tokens for voting. Service protocols built on top of the Flow network (e.g. stablecoins) will be the first major components of the protocol to be transferred to fully on-chain governance.
Over time, the Flow community will be asked to help define and provide feedback on network upgrades implementing on-chain governance. Initially, FLOW stakeholders will vote for a representative council that can make day-to-day decisions. The council’s vote acts as a “default” that every token-holder can accept by doing nothing – or actively override.
Proposals can be brought on a public forum with full transparency to anyone with access to the blockchain. In practice, we expect the majority of decisions to be made by the council, without the need for token stakeholders to vote. That said, all decisions will be made publicly, and any stakeholder will have the opportunity to organize grassroots action by token stakeholders to veto specific decisions or to vote to replace council members.There will be three kinds of decisions made via the governance process:
As the founding team, we wish to record in this document a philosophical commitment to several key principles that we intend to vigorously defend, even when the network has transitioned to community governance. We encourage future community members to proceed with great caution if they consider acting against any of these principles:
Even before launch, the Flow network, its associated tooling and components, and the content being developed on top has been a collective effort by over 100 developers, designers, and product people across multiple companies and countries.
With the product fully open sourced, the token minted, and the mainnet fully functional, a new generation of entrepreneurs, developers, designers, and creators can get involved in Flow.
Flow is designed for mainstream adoption. The applications already in development on the network serve built-in fanbases in the billions. This presents an opportunity for the community to build new kinds of products and services, experimenting with new business- and funding models as well as community-driven governance and eventual ownership.
Flow is a sandbox for rapid experimentation as well as a dependable and future-proof foundation that can evolve with time.
The FLOW token in turn will jumpstart entirely new business models for developers and onboard millions of early adopters into their first interactions with dapps. Ultimately, FLOW will bring all of the communities building and using the network together, creating and sharing value.
Flow’s mission is to make the world a more open, transparent, and delightful place. Join us!
Here are several key resources that can help creators get started: