JUST F*CKING
USE FLOW.

The only L1 built for consumer apps.
Gasless UX, Resource-oriented security, and 1-second finality.

THE ONBOARDING SPEEDRUN

From zero to Testnet deployment.

01

Install Flow CLI

$ sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)"
02

Initialize Project

$ flow init
03

Generate Testnet Key

$ flow keys generate --network=testnet
04

Deploy Your Contract

$ flow project deploy --network=testnet

CADENCE 1.0 RECIPES

Battle-tested snippets for modern Flow.

Minimal NFT Contract

The core logic for a Flow Resource-based NFT.

access(all) contract MinimalNFT {
    access(all) resource NFT {
        access(all) let id: UInt64
        init(id: UInt64) { self.id = id }
    }

    access(all) fun createNFT(id: UInt64): @NFT {
        return <- create NFT(id: id)
    }
}

Send a Transaction

How to move resources (assets) between accounts.

import NonFungibleToken from 0xNFTADDRESS

transaction(recipient: Address, withdrawID: UInt64) {
    prepare(signer: auth(Withdraw) &Account) {
        let col = signer.storage.borrow<&Collection>(from: /storage/NFTCol)
        let nft <- col.withdraw(withdrawID: withdrawID)
        getAccount(recipient).capabilities.get(/public/NFTReceiver).borrow()!.deposit(token: <-nft)
    }
}

WHY NOT JUST USE ETHEREUM?

Resource Oriented

Assets are real objects in storage, not just a line in a mapping. It's impossible to 'double spend' logic.

Native UX

Multi-sig, account recovery, and gasless transactions are built into the protocol, not hacked on top.

Scalability

Separation of collection and consensus allows high throughput without sharding headaches.