Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog

Release notes and version history for nft-storefront are tracked via GitHub Releases:

- https://github.com/onflow/nft-storefront/releases

For user-facing changes per version, see the Releases page.
18 changes: 18 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cff-version: 1.2.0
message: "If you use nft-storefront in your research or reference it, please cite it as below."
title: "nft-storefront: Cadence marketplace contract standard for NFTs on the Flow network"
authors:
- name: "Flow Foundation"
website: "https://flow.com"
repository-code: "https://github.com/onflow/nft-storefront"
url: "https://flow.com"
license: Unlicense
type: software
keywords:
- flow
- flow-network
- cadence
- nft
- marketplace
- storefront
- royalties
40 changes: 38 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# NFT Storefront Contract Standard
# nft-storefront — NFT Marketplace Contract for Flow

The NFT Storefront contract standard is a cornerstone of the Open Marketplace ecosystem on Flow. An open market ecosystem promotes the
free flow of NFT listings across the network, emitted as events and consumed by other marketplaces (or any other consumer). Marketplaces may filter
listings consumed based on commission rates they may receive. Listings may be created with variable commission, royalties or other fractional revenue, paying to multiple accounts. NFT listings are not NFTs, they are Resources which can be transacted with using the `purchase` [function](https://github.com/onflow/nft-storefront/blob/jp-update-structure/contracts/NFTStorefrontV2.cdc#L300) to obtain the token indicated by the listing.

The `NFTStorefrontV2` contract lets you create a non-custodial NFT marketplace to simplify integration with off-chain applications/UIs. The contract supports sellers who want to list and manage NFTs for sale simultaneously across any number of marketplaces. Listing expiry, orphaned and ghost listing cleanup are also of value for integrators to minimize overheads and ensure the best UX.

Marketplaces and sellers also benefit from the robust security guarantees of Flow's account model when trading NFTs. Through this standard a NFT trade takes place from peer-to-peer, directly from the Storefront Resource in the sellers account to the purchasers account. At the same time, the standard ensures that marketplaces or other recipients may receive royalties, fees or commissions with no risk to the seller.
Marketplaces and sellers also benefit from the robust security guarantees of the Flow account model when trading NFTs. Through this standard a NFT trade takes place from peer-to-peer, directly from the Storefront Resource in the sellers account to the purchasers account. At the same time, the standard ensures that marketplaces or other recipients may receive royalties, fees or commissions with no risk to the seller.

Sellers or marketplaces can optionally configure their NFTStorefront to be limited or closed. However, those wishing to participate in the Open Marketplace ecosystem on Flow are required to use the NFTStorefront standard.

Expand Down Expand Up @@ -59,3 +59,39 @@ Marketplaces and other aggregators can watch for `Listing` events
and list items of interest.

See further docs and examples on [the developer docs site](https://developers.flow.com/build/core-contracts/nft-storefront).

## TL;DR

- **What:** NFT Storefront V2. Cadence marketplace contract for the Flow network with royalties and cross-marketplace composability.
- **Who it's for:** developers and teams building on or interacting with Flow.
- **Status:** see [Releases](https://github.com/onflow/nft-storefront/releases) for the latest version.
- **Related repos:** [flow-go](https://github.com/onflow/flow-go) · [cadence](https://github.com/onflow/cadence) · [flow-cli](https://github.com/onflow/flow-cli) · [fcl-js](https://github.com/onflow/fcl-js)
- The reference NFT marketplace contract for the Flow network, open-sourced since 2021.

## FAQ

### What is nft-storefront?
nft-storefront is the reference NFT marketplace contract for the Flow network. It defines a reusable `NFTStorefront` Cadence contract that lets any app create listings to sell NFTs for fungible tokens, without building their own marketplace logic.

### How does this relate to Flow?
Flow is a Layer 1 blockchain for consumer applications, AI agents, and DeFi. This repo is part of that broader ecosystem. Details in the [About Flow](#about-flow) section below.

### Where do I learn more about Flow?
- [developers.flow.com](https://developers.flow.com) — developer portal
- [cadence-lang.org](https://cadence-lang.org) — Cadence language
- [flow.com](https://flow.com) — main site

### Where can I ask questions?
The [Flow Discord](https://discord.gg/flow) is the fastest place to get an answer. Long-form questions go to [forum.flow.com](https://forum.flow.com).

### How do I report an issue?
Use this repo's Issues tab.

## About Flow

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.

- Developer docs: https://developers.flow.com
- Cadence language: https://cadence-lang.org
- Community: [Flow Discord](https://discord.gg/flow) · [Flow Forum](https://forum.flow.com)
- Governance: [Flow Improvement Proposals](https://github.com/onflow/flips)
Loading