Skip to main content

Bazaar Overview

Bazaar is a fully onchain bazaar for NFTs and ERC20s, built on Net Protocol and powered by Seaport. It enables permissionless trading with complete transparency and no off-chain dependencies.

Built on Net

Bazaar uses Net Protocol for order data storage and indexing. All orders are stored as Net messages, enabling onchain querying and discovery. Net Storage is used by Seaport Zones to track order execution data, creating a complete onchain record of both order submission and execution.

What is Bazaar?

Bazaar is a decentralized bazaar that stores all order data onchain using Net Protocol. Unlike traditional trading platforms that rely on centralized databases, Bazaar ensures:

  • Fully Onchain: All orders stored on blockchain
  • Permissionless: Anyone can list or trade NFTs and ERC20s
  • Transparent: All trading activity is publicly verifiable
  • Decentralized: No central servers or databases

How Bazaar Works

Bazaar uses a three-layer architecture combining Bazaar contracts, Seaport protocol, and Zone contracts:

Architecture

User → Bazaar Contract → Net Protocol → Order Storage

Seaport → Zone Contract → Net Storage → Execution Tracking

Order Lifecycle

Bazaar separates order submission from execution:

  1. Submission Phase: User creates Seaport order → Bazaar validates structure/recipients/fee → Stores order as Net message
  2. Execution Phase: Buyer fulfills order via Seaport → Seaport validates signature/expiration/cancellation → Seaport executes transfers → Zone tracks execution in NetStorage

Key Point: Bazaar stores orders but doesn't execute them. Seaport executes orders. Zones track executions.

Data Storage

All Bazaar orders are stored as Net messages with:

  • Topic: NFT/ERC20 contract address (hex string)
  • Text: Human-readable order description (e.g., "List 0x... #123\nPrice: 0.00200000 eth\nExpiration Date: 1724033053")
  • Data: ABI-encoded Submission struct containing complete Seaport order data

Key Features

Multi-Asset Support

  • NFTs: Trade ERC-721 tokens
  • ERC20s: Trade fungible tokens

Order Types

  • Listings: Sellers list NFTs or ERC20s for sale
  • Collection Offers: Buyers make offers on any NFT in a collection
  • ERC20 Offers: Buyers make offers on ERC20 tokens

Zone-Based Validation

  • Public Orders: Validated by NetSeaportZone
  • Private Orders: Restricted to specific buyers via NetSeaportPrivateOrderZone
  • Collection Offers: Handled by NetSeaportCollectionOfferZone

What it's used for today

Bazaar is used for:

  • NFT Trading: Buy and sell NFTs onchain
  • ERC20 Trading: Trade fungible tokens
  • Collection Offers: Make offers on any NFT in a collection
  • Private Orders: Create orders restricted to specific buyers

Contract Addresses

Bazaar contracts are deployed on multiple chains. See the Developer Guide for complete contract addresses by chain.