bid.fun
  • Introduction
    • πŸ“£Welcome to bid.fun - Pump with Auctions
    • πŸŽ™οΈShaping the Landscape of Token Launches
    • πŸͺœ3 Steps to Bid and Win
    • 🚨Highlights of the Auction Arena
      • For Creators (Developers)
      • For Bidders (Investors)
  • Solution
    • πŸ”§bid.fun Solution
      • πŸ–±οΈFair and Transparent Auctions
        • πŸ’»The final auction price calculated based on AMM
      • πŸ”ŒTrading Bundle Auction Service
      • πŸ”¦Customized Support for MEME Project Launches
      • πŸͺ›Participant-Centric Fund Management and Refund Mechanism
      • 🧯FairPump Mechanism
  • Mechanism & Technology
    • πŸ›‘οΈMechanism & Technology
  • Tokenomics
    • πŸ’°Tokenomics
  • Roadmap
    • 🚩Roadmap
  • FAQ
    • ❓FAQ
Powered by GitBook
On this page
  • Harnessing AMM for Auction Dynamics
  • Adaptive Price Adjustments
  • Optimized Pricing for Successful Bids
  • Built-in Protection Against Manipulation
  • Implementation
  1. Mechanism & Technology

Mechanism & Technology

Harnessing AMM for Auction Dynamics

At bid.fun, we incorporate the Automated Market Maker (AMM) model into our auction framework, allowing token prices to adjust in real-time according to market demand. By leveraging the inherent liquidity curve of AMM, we set the final auction price automatically, reflecting true market conditions without the need for manual intervention.

Adaptive Price Adjustments

The AMM operates using the constant product formula π‘˜=π‘₯×𝑦, where π‘₯ represents the ETH in the liquidity pool and 𝑦 indicates the token quantity. As users place their bids, the ETH-to-token ratio shifts, causing prices to change along the AMM curve. Increased demand results in higher prices, ensuring that all bids reflect current market rates. This ongoing adjustment minimizes drastic price swings during the auction, keeping valuations in line with real-time interest.

Optimized Pricing for Successful Bids

To enhance auction outcomes and improve bid success rates, bid.fun introduces a tailored auction price multiplier that modifies the standard AMM formula. This multiplier responds dynamically to the number of bidders and overall demand, aiming to find an ideal price that encourages maximum participation. At the end of the auction, all qualifying bids are executed at the same final price, fostering both fairness and efficiency. This specialized AMM approach aligns pricing with market conditions while increasing users’ chances of winning their bids.

Built-in Protection Against Manipulation

The automated nature of our AMM model effectively eliminates the risk of price manipulation, as prices are determined exclusively by market demand. Neither the project teams nor the platform has the ability to interfere with pricing, resulting in a fully transparent auction setting. This framework ensures that every participant competes under uniform market conditions, reinforcing trust and fairness throughout the auction experience.

Implementation

# Process each participant individually
for i, participant in enumerate(participants, start=1):
   bid = participant["bid"]
   units = participant["units"]
   upt_needed = units * upt_per_unit


   # Calculate the ETH required for the purchase
   new_upt_pool = current_upt_pool - upt_needed
   if new_upt_pool <= 0:
       results.append({
           "participant": i,
           "bid": bid,
           "units_requested": units,
           "successful_units": 0,
           "cost": 0.0,
           "refund": bid
       })
       continue


  # Calculate the ETH required for the purchase
   new_eth_pool = k / new_upt_pool
   eth_needed_base = new_eth_pool - current_eth_pool


   # Determine if the bid is successful
   if eth_needed <= bid:
       # Successful purchase
       results.append({
           "participant": i,
           "bid": bid,
           "units_requested": units,
           "successful_units": units,
           "cost": round(eth_needed, 4),
           "refund": round(bid - eth_needed, 4)
       })
       successful_bids += 1


      # Update pool status
       current_eth_pool += eth_needed_base  # Update base ETH pool (not multiplied by price_multiplier) 
       current_upt_pool = new_upt_pool
   else:
       # Bidding failed
       results.append({
           "participant": i,
           "bid": bid,
           "units_requested": units,
           "successful_units": 0,
           "cost": 0.0,
           "refund": bid
       })

PreviousFairPump MechanismNextTokenomics

Last updated 7 months ago

πŸ›‘οΈ