Skip to main content


Has the lowest gas costs, however, bids can only be placed in ETH and no other auction features are supported.


All deployed addresses can be found on the Auctions introduction page.

Check out the Key Considerations 🔑 section before getting started.

Auction Structure#

  • seller: The address of the seller
  • reservePrice: The reserve price to start the auction
  • sellerFundsRecipient: The address where funds are sent after the auction
  • highestBid: The highest bid of the auction
  • highestBidder: The address of the highest bidder
  • duration: The length of time that the auction runs after the first bid is placed
  • startTime: The time that the first bid can be placed
  • firstBidTime: The time that the first bid is placed
struct Auction {    address seller;    uint96 reservePrice;    address sellerFundsRecipient;    uint96 highestBid;    address highestBidder;    uint32 duration;    uint32 startTime;    uint32 firstBidTime;}



Implements EIP-165 for standard interface detection.

function supportsInterface(bytes4 _interfaceId) returns (bool)


Creates an auction for a given ERC-721 NFT. There can only be one auction at a time for a given NFT.

function createAuction(    address _tokenContract,    uint256 _tokenId,    uint256 _duration,    uint256 _reservePrice,    address _sellerFundsRecipient,    uint256 _startTime) 


Updates the auction reserve price for a given NFT

function setAuctionReservePrice(    address _tokenContract,    uint256 _tokenId,    uint256 _reservePrice)


Cancels the auction for a given NFT.

function cancelAuction(address _tokenContract, uint256 _tokenId)


Places a bid on the auction for a given NFT. The bid percentage difference must be greater than or equal to 10% of the previous bid.

function createBid(address _tokenContract, uint256 _tokenId)


Ends the auction for a given NFT by sending the NFT to the highest bidder and the funds to the seller. Note, that this module honors royalty payouts.

function settleAuction(address _tokenContract, uint256 _tokenId)