WildDNS Force Buy Mechanism

Revolutionary anti-hoarding system that ensures domains remain actively used or fairly priced for acquisition

How Force Buy Works

The Force Buy mechanism is one of the core innovation of WildDNS, designed to prevent domain hoarding and ensure fair access to valuable domain names. It operates on time-based windows and dynamic pricing to create a balanced ecosystem.
🛡️
Force Buy Active Window (default 14 days)
Initial period after owner minted a domain where domain can still be bought at premium prices by anyone else.
Dynamic Pricing
Prices adjust based on domain state, length, and time elapsed since last activity
💰
Fair Compensation
Previous owners receive 70% of the force buy price, ensuring fair value transfer. Default force buy multiplier is 2x, meanig that the domain owner will receive 1.4x of the paid price.
🔄
Refresh Window (default ~1 year)
Owners can refresh their domains to reset protection and maintain ownership, while the domain is in the refresh window force buy can not be used.
sequenceDiagram participant Buyer as 🧑‍💼 Buyer participant Contract as 📋 WildDNS Contract participant Owner as 👤 Current Owner participant System as 💰 Payment System Note over Buyer, System: Force Buy Process Timeline Buyer->>Contract: 1. Call forceBuy(tokenId) Contract->>Contract: 2. Validate token exists Contract->>Contract: 3. Check global force buy enabled alt Domain Type Check Contract->>Contract: Is Subdomain? Note over Contract: Check parent domain policies Contract->>Contract: Evaluate subdomain force buy rules else Top-level Domain Contract->>Contract: Use global force buy rules end Contract->>Contract: 4. Calculate time windows Note over Contract: Protection Period vs Refresh Period alt Time Window Validation Contract->>Contract: Current time < Protection Period End? Note over Contract: Force buy ALLOWED (premium pricing) else Contract->>Contract: Current time > Refresh Period End? Note over Contract: Force buy ALLOWED (expired domain) else Contract->>Contract: In between periods? Note over Contract: Force buy BLOCKED Contract-->>Buyer: ❌ "Force buy restricted" end Contract->>Contract: 5. Calculate required price alt Price Calculation Note over Contract: If domain expired (past refresh period) Contract->>Contract: Use base mint price × multiplier else Note over Contract: If in protection period Contract->>Contract: Use current forceBuyPrice end Contract->>Contract: 6. Validate payment amount alt Payment Validation Contract->>Contract: msg.value >= requiredPrice? Contract->>Contract: msg.value < requiredPrice × multiplier? else Contract-->>Buyer: ❌ "Payment amount invalid" end Contract->>Contract: 7. Update token state Note over Contract: New force buy price = payment × multiplier Contract->>Contract: Reset lastForceBuyTime = now Contract->>System: 8. Distribute payment alt Payment Distribution - Subdomain System->>Owner: 70% to previous owner System->>Contract: 24% to parent domain owner System->>Contract: 6% to contract else Payment Distribution - Top Level System->>Owner: 70% to previous owner (configurable) System->>Contract: 30% to contract end alt Transfer Ownership Contract->>Contract: Transfer NFT to buyer Contract->>Contract: Clear/update main domain mappings Contract->>Contract: Reset resolve & payment addresses end Contract->>Contract: 9. Emit TokenActivity event Contract-->>Buyer: ✅ Force buy successful Note over Buyer, System: Key Innovation: Anti-hoarding mechanism Note over Buyer, System: Ensures domains remain actively used or available

Technical Implementation Details

  • Force buy eligibility depends on time elapsed since last activity (mint, refresh, or previous force buy)
  • Protection period (default 14 days) offers security but allows premium-priced acquisitions
  • Refresh period (default ~1 year) provides window for owners to maintain their domains
  • Expired domains can be acquired at base price + multiplier (typically 2x)
  • Payment distribution varies between top-level domains and subdomains
  • Failed payment transfers are automatically routed to the contract for later recovery
  • All force buy activities are logged via events for transparency