Naar de inhoud
ShowcaseprojectBlockchain & Web3
  • 223 tests
  • 100% coverage
  • Slither-analyse

SigmaNFT Collection

ERC-721-drop met Merkle-allowlist, publieke fase, royalty's en delayed reveal

ERC-721ERC-2981Merkle proofsFoundry

Wat het is

SigmaNFT slaat voor de allowlist alleen een Merkle-root op (gebruikers leveren een proof aan, compatibel met @openzeppelin/merkle-tree), zodat duizenden supporters op de allowlist kunnen staan zonder dat er adressen on-chain worden weggeschreven. De fases gaan van Closed via Allowlist naar Public, elk met een eigen prijs en een eigen limiet per wallet, onder een globale, onveranderlijke maximale supply.

Tot de owner de collectie onthult, geeft elk token de placeholder-metadata terug; na de reveal verwijst het naar de definitieve metadata. ERC-2981-royalty's geven marktplaatsen door welke vergoeding de maker vraagt, en de opbrengst wordt opgenomen naar de owner.

Het zakelijke probleem

Een NFT-drop moet vroege supporters belonen zonder duizenden adressen on-chain op te slaan, voorkomen dat bots en whales de mint leegkopen, royalty's opleveren op doorverkoop en rarity sniping vóór de reveal onmogelijk maken. Naïeve implementaties gaan juist op die punten de mist in.

Zo werkt het

  1. 1

    Off-chain: bouw een Merkle-tree van de allowlist, publiceer de proofs en stel de Merkle-root in.

  2. 2

    De owner opent de allowlistfase; wallets op de allowlist minten met hun proof tegen de allowlistprijs.

  3. 3

    De owner opent de publieke fase; iedereen kan minten tot aan de limiet per wallet.

  4. 4

    Na de mint wordt de metadata naar IPFS geüpload en roept de owner reveal(baseURI) aan.

  5. 5

    De owner neemt de opbrengst op.

Beveiligingsmaatregelen

  • nonReentrant mintpaden; tellers bijgewerkt vóór de callbacks van _safeMint
  • Regel van exacte betaling: geen terugbetaallogica, geen verloren ETH
  • Dubbel gehashte Merkle-leaves, geverifieerd met OpenZeppelin MerkleProof
  • Onveranderlijke maximale supply; Ownable2Step
  • Withdraw revert in plaats van ongemerkt geld te verliezen
  • Gefuzzt: supply ≤ MAX_SUPPLY, balance == minted × price

Features

  • Merkle-allowlist (op basis van proofs)
  • Fases Closed → Allowlist → Public met aparte prijzen
  • Limieten per wallet per fase
  • Onveranderlijke MAX_SUPPLY
  • ERC-2981-royalty's
  • Delayed reveal

Typische use cases

  • PFP- en kunstdrops, membership passes, tickets voor evenementen
  • Loyaliteitscollecties van merken voor bestaande klanten
  • Voorverkoop van game-items met uitgestelde onthulling van de zeldzaamheid

Bekende beperkingen

De hosting van de metadata (bijv. IPFS-pinning) gebeurt off-chain.

Andere showcasecontracts

Showcase

Milestone Escrow

De opdrachtgever zet vooraf het volledige budget vast, verdeeld over mijlpalen. Geld beweegt alleen bij vrijgave, een beslissing van de arbiter of annulering.

Solidity 0.8.28OpenZeppelin v5ETH / ERC-20

223 tests · 100% coverage · Slither‑analyse

Showcase

Token + Vesting + Staking

Een ERC-20 met cap en gasloze approvals, vestingschema's met cliff voor team en investeerders, en stakingbeloningen naar het Synthetix-model.

ERC-20EIP-2612OpenZeppelin v5

223 tests · 100% coverage · Slither‑analyse

Showcase

Gold-Backed Token (RWA)

Dekking wordt een voorwaarde voor minten: tokens kunnen alleen worden gemint als de gerapporteerde goudreserve de nieuwe totale supply dekt.

ERC-20AccessControlProof of reserve

223 tests · 100% coverage · Slither‑analyse

Standaarden: Solidity 0.8.x, OpenZeppelin, Foundry-tests met fuzzing, statische analyse met Slither, geverifieerde broncode. 223 tests · 100% coverage · Slither-analyse.

Heb je een project in gedachten?

Vertel ons wat je bouwt. Een senior engineer reageert op werkdagen binnen 24 uur, en meestal heb je binnen enkele werkdagen een eerlijke inschatting, een heldere scope en een voorstel met een vaste prijs of mijlpalen.

Liever eerst schrijven? Stuur ons een bericht

Je spreekt direct met Ing. Ismet Mesic, Tech lead.