Back to Projects

NFT Marketplace

Decentralized NFT trading with escrow and royalties

Problem

NFT marketplaces often have high fees, centralized control, and limited customization for creators.

Solution

A fully on-chain marketplace where trades execute via smart contracts, with automatic royalty distribution and escrow functionality.

System Architecture

Uses SPL Token program for NFT transfers, custom program for marketplace logic. Escrow accounts hold funds until trade completion. Royalties calculated and distributed automatically.

On-Chain Responsibilities

  • Listing creation and management
  • Bid/offer processing
  • Escrow account management
  • Royalty calculation and distribution
  • Trade execution and settlement

Off-Chain Responsibilities

  • NFT metadata indexing
  • Collection browsing UI
  • Price history charts
  • User profile management

Wallet Interaction Flow

1

Seller lists NFT with price

2

Buyer submits purchase transaction

3

Funds escrowed in program account

4

NFT transferred to buyer

5

Funds transferred to seller

6

Royalties distributed to creator

Tech Stack

SolanaRustAnchorSPL TokenReactWeb3.js

Tradeoffs

  • Metadata stored off-chain (IPFS/Arweave)
  • Complex state management for active listings
  • Gas costs for every operation

Future Improvements

  • Implement batch operations
  • Add auction functionality
  • Create collection offers
  • Integrate with metadata indexers