|
1 | | -# Flow Non-Fungible Token Standard |
| 1 | +# flow-nft — The Flow NFT Standard |
| 2 | + |
| 3 | +[](./LICENSE) |
| 4 | +[](https://github.com/onflow/flow-nft/releases) |
| 5 | +[](https://discord.gg/flow) |
| 6 | +[](https://forum.flow.com) |
| 7 | +[](https://flow.com) |
| 8 | +[](https://cadence-lang.org) |
| 9 | + |
| 10 | +## TL;DR |
| 11 | + |
| 12 | +- **What:** The canonical non-fungible token (NFT) standard for [the Flow network](https://flow.com), written in [Cadence](https://cadence-lang.org). |
| 13 | +- **Who:** Contract authors, wallets, marketplaces, indexers, and any application that mints, holds, or moves NFTs on Flow. |
| 14 | +- **Why:** Resource-oriented NFTs that live directly in user accounts, with built-in metadata views and royalties for cross-app compatibility. |
| 15 | +- **Status:** Production. Already deployed on Emulator, Testnet, and Mainnet at well-known addresses (see [Import Addresses](#import-addresses)). |
| 16 | +- **License:** [Unlicense](./LICENSE). |
| 17 | +- **Related repos:** [`onflow/flow-ft`](https://github.com/onflow/flow-ft) (fungible token standard), [`onflow/nft-catalog`](https://github.com/onflow/nft-catalog), [`onflow/nft-storefront`](https://github.com/onflow/nft-storefront) |
| 18 | +- The reference NFT standard for the Flow network, open-sourced since 2020. |
2 | 19 |
|
3 | 20 | This standard defines the minimum functionality required to |
4 | 21 | implement a safe, secure, and easy-to-use non-fungible token |
5 | | -contract on the [Flow blockchain](https://flow.com/) |
| 22 | +contract on [the Flow network](https://flow.com/). |
6 | 23 |
|
7 | 24 | ## What is Cadence? |
8 | 25 |
|
@@ -228,3 +245,45 @@ The works in these files: |
228 | 245 | - [ViewResolver.cdc](contracts/ViewResolver.cdc) |
229 | 246 |
|
230 | 247 | are under the [Unlicense](LICENSE). |
| 248 | + |
| 249 | +## FAQ |
| 250 | + |
| 251 | +### What is `flow-nft`? |
| 252 | + |
| 253 | +It is the canonical NFT standard for the Flow network. It defines the `NonFungibleToken` contract interface plus the `MetadataViews` and `ViewResolver` contracts that wallets, marketplaces, and indexers rely on for a consistent view of any NFT on Flow. |
| 254 | + |
| 255 | +### Do I need to deploy `NonFungibleToken`, `ViewResolver`, or `MetadataViews` myself? |
| 256 | + |
| 257 | +No. They are already deployed on Emulator, Testnet, and Mainnet at the addresses listed in [Import Addresses](#import-addresses). Import them from those addresses in your own contracts. |
| 258 | + |
| 259 | +### How is this different from ERC-721 / ERC-1155? |
| 260 | + |
| 261 | +NFTs are [Cadence resources](https://cadence-lang.org) that live in a user's account storage rather than in a central contract mapping. That removes `approve` / `transferFrom` flows, makes accidental loss to contracts impossible, and enables atomic batch transfers inside a single transaction. See [Comparison to other standards on Ethereum](#comparison-to-other-standards-on-ethereum). |
| 262 | + |
| 263 | +### Which metadata views should my NFT implement? |
| 264 | + |
| 265 | +At a minimum, implement the views marked as **Core views** in the [List of views](#list-of-views) table: `Display`, `Serial`, `Royalties`, `ExternalURL`, `NFTCollectionData`, `NFTCollectionDisplay`, and `Traits`. These are the views consumed by the [Flow NFT Catalog](https://nft-catalog.vercel.app/) and most Flow wallets and marketplaces. |
| 266 | + |
| 267 | +### Where do I learn Cadence first? |
| 268 | + |
| 269 | +Start with the [Cadence tutorials](https://cadence-lang.org/docs/tutorial/first-steps) and the [Flow developer docs](https://developers.flow.com). The [metadata views guide](https://developers.flow.com/build/advanced-concepts/metadata-views) is the primary reference for implementing views on your NFT. |
| 270 | + |
| 271 | +### How do I propose a change to the standard? |
| 272 | + |
| 273 | +Open an issue or a pull request in this repo, or file a [Flow Improvement Proposal (FLIP)](https://github.com/onflow/flips) for larger changes. See the [Feedback](#feedback) section for the kinds of questions we actively want input on. |
| 274 | + |
| 275 | +## Community |
| 276 | + |
| 277 | +- [Flow Discord](https://discord.gg/flow) — chat with core contributors and other Flow developers. |
| 278 | +- [Flow Forum](https://forum.flow.com) — longer-form discussion, RFCs, and announcements. |
| 279 | +- [Flow Improvement Proposals (FLIPs)](https://github.com/onflow/flips) — the governance venue for protocol and standard changes, including this one. |
| 280 | +- [Flow on GitHub](https://github.com/onflow) — source for the Flow network, SDKs, and ecosystem tooling. |
| 281 | + |
| 282 | +## About Flow |
| 283 | + |
| 284 | +This repo is part of the [Flow network](https://flow.com), a Layer 1 blockchain built for consumer applications, AI Agents, and DeFi at scale. Flow powers NBA Top Shot, NFL All Day, Disney Pinnacle (built by Dapper Labs), and Ticketmaster NFT ticketing, all in live production. |
| 285 | + |
| 286 | +- Developer docs: https://developers.flow.com |
| 287 | +- Cadence language: https://cadence-lang.org |
| 288 | +- Community: [Flow Discord](https://discord.gg/flow) · [Flow Forum](https://forum.flow.com) |
| 289 | +- Governance: [Flow Improvement Proposals](https://github.com/onflow/flips) |
0 commit comments