Auctions
This page explains WebShopX auction behavior from source-level logic: bidding rules, fund freezing, and settlement flow.
In This Page
- Comparison of four auction modes
- Key parameters per mode
- Freeze/refund timing
- Expiry settlement logic
1. Three Things to Know Before Auctioning
- Auctions use
tradeMode=AUCTIONand only allowSELLlistings. - Minimum auction duration is
>= 30 seconds. - Settlement is handled by periodic server tasks and does not depend on whether the page is open.
2. Auction Modes at a Glance
| Mode | Interaction | Price Mechanism | Typical Use |
|---|---|---|---|
ENGLISH_AUCTION_V1 | Manual bidding | Ascending bids | Regular hot-item bidding |
DUTCH_AUCTION_V1 | Direct buy | Price drops over time | Fast inventory clearing |
VICKREY_AUCTION_V1 | Sealed bid | Settled with second-price idea | Avoid public price-pushing |
CANDLE_AUCTION_V1 | Manual bidding | Public duration + random extension | Anti-last-second sniping |
2.1 English Auction
- Public bidding; highest bid leads temporarily.
- At countdown end, highest bidder wins.
- If outbid, your previously frozen funds are refunded automatically.
2.2 Dutch Auction
- Starts from high price and drops over time.
- First buyer accepting current price wins immediately.
- Waiting longer can be cheaper but increases chance someone buys first.
2.3 Vickrey Auction
- Sealed bidding: submit your max willingness; others cannot see it.
- Highest bidder wins after closing.
- Settlement usually follows second-price logic, with reserve constraints if configured.
2.4 Candle Auction
- Public bidding with uncertain real ending time.
- Do not rely on last-second bids; you may miss the close entirely.
3. Key Parameters by Mode
3.1 English
auctionStartPriceauctionMinIncrement(must be > 0)auctionEndAtauctionParams.reservePrice(optional)auctionParams.antiSnipingWindowSeconds(default 30)auctionParams.antiSnipingExtendSeconds(default 30)
3.2 Dutch
auctionStartPriceauctionParams.floorPrice(>0 and not higher than start price)auctionParams.durationSeconds(>=30)
3.3 Vickrey
sealedBid=trueauctionStartPriceauctionEndAtauctionParams.reservePrice(optional)
3.4 Candle
auctionStartPriceauctionMinIncrementauctionParams.baseDurationSeconds(>=30)auctionParams.maxExtensionSeconds(>=0)
4. Bidding and Fund Freezing
When you place a bid:
- System freezes corresponding amount first.
- If outbid or auction fails, funds are refunded by rules.
- In non-sealed auctions, previous leader is refunded immediately when outbid.
5. Unified Settlement Flow (At Expiry)
Each batch settlement cycle handles up to 20 listings:
- Dutch: if no direct buy, it ends unsold and goods are returned.
- English/Candle: no bids or reserve not met => unsold; otherwise highest bid wins.
- Vickrey: settled with Vickrey clearing price; non-winners refunded.
6. Common Error Codes
auction_only_bidauction_only_buyauction_closedbid_too_lowinvalid_auction_startinvalid_auction_incrementinvalid_auction_floorinvalid_auction_end
7. Player Suggestions
- English auctions may extend repeatedly near end; do not focus only on nominal deadline.
- In Dutch auctions, key is target price timing, not bid wars.
- In Vickrey auctions, submit your true willingness-to-pay instead of incremental bidding habits.
- Candle auction endings are random near the end, avoid gambling on final-second timing.