Skip to main content

Overview

Auction sales enable price discovery through competitive bidding, where users submit bids specifying both price and amount. After the auction closes, allocations are computed offchain and settled onchain, with refunds issued for unaccepted bids.

Use Case

  • Price discovery through market-driven bidding
  • Users compete by bidding higher prices for limited supply
  • Offchain auction clearing determines final allocations
  • Automatic refunds for overbid or unaccepted amounts

Contract Implementation

Sonar has an implementation of an English auction contract. See EnglishAuctionSale.sol in the sonar Github repository. You can use this as-is, or use it as a base for customization. The key difference to other sale mechanisms is that investors can commit with a requested price (see the _processBid function). The investors don’t actually receive anything until the auction closes and you will compute the allocations offchain (see the setAllocations function). The minimum and maximum price can be limited by the minPrice and maxPrice fields in the purchase permit. You can contact the Sonar team if you want to use this feature.

See Also