Skip to content

danielwangai/nfx

Repository files navigation

NFX

NFX is a modern NFT marketplace for sellers to put their NFT up for sale. We aim to help creatives and sellers earn revenue from the sale of their art. The protocol earns a percentage of the sale as well.

Architectural Overview

Sequence Diagram for NFX

User Stories

1. Initialize Marketplace

As the admin I want to initialize the marketplace once so that protocol parameters and the fee treasury are locked in before trading starts.

Acceptance Criteria

  • I can create the marketplace PDA and treasury with my admin wallet.
  • I must provide the initial protocol fee rate during initialization.
  • Attempting to initialize again fails because the marketplace already exists.

2. List NFT

As a creator I want to list an NFT it on the marketplace so that collectors can discover and purchase my work.

Acceptance Criteria

  • I can define listing details like price before listing.
  • I can list NFTs that belong to my wallet.

3. Purchase NFT

As a collector I want to buy an NFT from the marketplace so that I can own the digital asset.

Acceptance Criteria

  • I can initiate a purchase directly from the listing.
  • The transaction debits my wallet, credits the seller, and transfers NFT ownership atomically.
  • Marketplace fees are applied per listing configuration.
  • The listing automatically closes after a successful purchase.

4. Manage Active Listings

As a seller I want to cancel my listings before purchase if I change my mind.

Acceptance Criteria

  • NFT is returned from my vault to the wallet.
  • Unauthorized wallets cannot modify or cancel my listings.

Setup & Installation

Clone Project

git clone git@github.com:danielwangai/nfx.git
cd nfx

Run

yarn install

Build & Test the Program

# Build all Anchor programs
anchor build

# Run mocha-based Anchor tests
anchor test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors