Skip to main content
GET
Returns every auction the market’s auction venue still holds open, with its live declining price. That covers auctions that are running and auctions past their end time that nobody has settled yet. Check phase before acting: only a RUNNING auction takes bids, and an EXPIRED one waits for Settle Expired Auction. Auctions do not run on the market contract. They run on a per-market auction venue, which the market admin binds after adoption, and a market without one has no auctions. Liquidation opens an auction only while the market’s useDutchAuction switch is on, and that switch cannot be turned on before a venue is wired. See Get Auction Module.

Path Parameters

string
required
The market’s record ID, as id on List Markets, not its contract address. See Market IDs.

Response Fields

object

How the Price Moves

The venue fixes the schedule once, when the auction opens, from the oracle price the liquidation was priced at. The price then falls linearly from that price times auctionStartPremium to that price times auctionMinPremium, across auctionDuration. A market configured at 13000 and 9500 basis points opens at 1.3 times that price and reaches 0.95 times at the end time. Oracle updates after the auction opens do not move its schedule. currentPrice reflects the moment of the request. Quote it fresh, since what a bid costs changes between reading and submitting. expired, biddable, settleable and phase are computed against the API server’s clock, while the venue judges by the block timestamp. Within seconds of endTime the two can disagree, so a bid sent at the last moment can still revert.
An empty array is also what a market with no auction venue returns, and what a failed read of the venue returns. An auction whose own read fails is left out without an error. If a market has known auctions and this returns nothing, check two things. Get Auction Module says whether a venue is wired, and Get Market Metrics carries an activeAuctions counter.

Error Codes