Auction House
The ApiologyDAO Auction House is a modified version of the Nouns DAO auction system that facilitates automated NFT auctions with dynamic pricing. The system uniquely ties pricing to treasury backing and supports both newly minted NFTs and existing NFTs through a queue system.
Overview
The Auction House implements a continuous auction mechanism where:
- Auctions run continuously as long as there's demand
- Pricing is dynamically set based on treasury Real Floor Value (RFV)
- Members can queue existing NFTs for sale
- Random selection from queue uses Pyth Network's Entropy
- Built-in fee structure supports DAO sustainability
Core Features
Dynamic Pricing
- Reserve prices automatically adjust based on treasury backing
- Configurable price buffer above RFV
- Minimum bid increment requirements
Queue System
- Supports both new mints and existing NFTs
- Random selection using Pyth Network's VRF
- Fair and transparent queue management
Auction Mechanics
- Continuous auction cycles
- Time buffer for last-minute bids
- Automatic refunds for outbid participants
- WETH fallback handling for failed ETH transfers
How It Works
Auction Creation
The contract follows these steps when creating a new auction:
-
NFT Selection
- If queue is empty: Mints new NFT
- If queue has entries: Randomly selects using Pyth's Entropy
-
Price Setting
- Calculates reserve price: Treasury RFV + Buffer
- Initializes auction with configured duration
Bidding Process
-
Bid Requirements
- Must exceed previous bid by minimum increment
- Must meet reserve price for first bid
-
Time Management
- Time buffer extends auction for late bids
- Automatic refunds to previous bidders
Settlement Process
The auction settlement requires manual triggering through the settleCurrentAndCreateNewAuction()
function. This process:
- Can be initiated by any user
- Settles the current auction
- Creates a new auction automatically
- Distributes proceeds to appropriate parties
- Handles NFT transfer to winner
Failed Auction Handling
- Queued NFTs: Redeemed for RFV minus fee
- Minted NFTs: Burned
- Proceeds distribution varies based on NFT source
Configuration Parameters
Parameter | Description | Default |
---|---|---|
duration | Length of each auction cycle | 24 hours |
reservePrice | Minimum acceptable bid | Dynamic (RFV-based) |
reservePriceBuffer | Percentage above RFV | 10% |
timeBuffer | Extension time for late bids | 15 minutes |
minBidIncrementPercentage | Required bid increase | 5% |
feePercentage | DAO fee on successful auctions | 2.5% |