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.
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.
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.
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.
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.
git clone git@github.com:danielwangai/nfx.git
cd nfxyarn install# Build all Anchor programs
anchor build
# Run mocha-based Anchor tests
anchor test