Primary Market Module

Overview

The Primary Market module manages initial distribution of fractional tokens. Investors commit USDC/USDT/ETH, and tokens are minted if the offering finalizes successfully. Each RealOffering contract is deployed as a minimal proxy clone by the OfferingFactory.


Purpose

  • Conduct primary token sales.

  • Enforce caps and wallet limits.

  • Provide refund logic if the soft cap is unmet.


Key Features

  • ERC-20 stablecoin + ETH funding support.

  • Configurable soft/hard caps and limits.

  • Refund protection for investors.

  • Minimal clone deployment.

  • Permissioned offerings.


Roles

  • Issuer – configures & finalizes offering.

  • Token – grants MINTER_ROLE to offering.


Files

  • contracts/offering/RealOffering.sol

  • contracts/offering/OfferingFactory.sol


Example Flow

  1. Issuer deploys fractional token.

  2. Factory deploys RealOffering.

  3. Investors buy using USDC.

  4. If softCap met → finalize, funds to issuer, tokens minted.

  5. If softCap fails → refunds enabled, investors claim back.

Last updated