Flow is a fast, decentralized and permissionless blockchain that anyone can access, everyone can trust, and no-one can censor or block. Leverage Flow to create limitless Web3 apps for mainstream adoption.
Thanks to its unique, multi-role architecture, Flow is designed to horizontally scale without sharding, allowing for massive improvements in speed and throughput while preserving a developer-friendly environment, all whilst having some of the lowest transaction costs and environmental impact of any blockchain.
- Protocol level Account Abstraction: Flow provides native support for key use cases that are enabled by Account Abstraction, empowering developers to deliver mainstream-ready user experiences like walletless onboarding.
- Account linking: Flow’s native Account Abstraction also makes it possible to share ownership over accounts. This allows apps to offer seamless user onboarding while letting users maintain secure (and self-custodial) asset ownership.
- Multi-role architecture: Flow's node architecture allows the network to horizontally scale to serve billions of users without sharding or reducing the decentralization of consensus.
- Resource-oriented programming: an improved security model as well as a better user and developer experience. Smart contracts on Flow are written in Cadence, an easier and safer programming language specifically designed for digital assets and apps. Cadence has a familiar syntax and uses a strong, static type system to minimize runtime errors, and allows all methods, interfaces, and transactions to include pre- and post-conditions to enforce expected behavior. This has resulted in a language that is easier to learn, significantly easier to audit, and ultimately much more productive than any current alternatives.
- Developer ergonomics: Flow is designed to maximize developer productivity. Examples range from upgradeable smart contracts, native multi-sig support, and scripted transactions which allow a single transaction to interact with any number of smart contracts.
- Native on-chain randomness: randomness is hard, and it’s even harder on-chain. Flow introduces a breakthrough ‘randomness beacon’ which generates an unbiased, unpredictable, and verifiable source of secure pseudo-randomness in a fully decentralized manner. This is essential for things like Gaming, DeFi and prediction markets without needing to rely on external Oracles.
Coming from other blockchains like Ethereum? Check out our comparison guide
Choose your path:
Build on Flow
-
[Hello World] I want to start with a Hello World on Flow
-
[Quickstart] I want to jump in and build a simple Dapp on Flow
-
[Course] I want to follow a course on how to build a Dapp on Flow
Learn how to write Smart Contracts with Cadence
Contributing
Roadmap
Bridging
Developer Resources
-
Flow CLI: The Flow CLI is Flow’s primary development and testing environment, similar to Hardhat and Foundry for developers familiar with writing in Solidity.
-
Clients:
- Flow GO SDK
- Flow Client Library (JS, SWIFT, iOS, Python)
- Flow SDK for Unity
-
Wallets: Flow has several wallets to choose from, including the Flow Reference Wallet that any developer can fork and extend to build their own.
Learn more about:
- Roadmap
- Account Abstraction on Flow
- Account linking
- EVM on Flow
- Flow Reference Wallet
- Bridging
- Comparison with other blockchains
Community channels:
Community:
- Flowdiver: the Flow block explorer
- Flowverse: a community-run ecosystem portal
- Emerald City DAO: a community of Flow builders
- Increment.fi: Swap, lend, stake and more
- Flowty: NFT Lending and Renting
- Evaluate Market: NFT Trading