An auction portal sells items to the highest bidder under rules everyone can see. With blockchain, the rules, bids and settlement can be enforced by smart contracts instead of trusted to the operator. The key engineering choices are the auction format and whether bids live on-chain, as signatures off-chain, or in a regular database.
Auction formats and how they map to contracts
| Format | How it works | On-chain fit |
|---|---|---|
| English (ascending) | Open bids rise until time runs out; highest bid wins | Good; the standard for one-of-one NFTs |
| Reserve auction | Auction starts only when a bid meets the reserve, then runs for a set period | Good; used by curated art platforms |
| Dutch (descending) | Price falls on a schedule until someone buys | Excellent; one transaction settles it |
| Sealed-bid first price | Bids hidden until close; highest pays their bid | Needs commit-reveal or encryption |
| Vickrey (second price) | Sealed bids; highest wins but pays the second-highest price | Same as sealed-bid, plus more logic |
| Batch or uniform price | Many identical items; everyone pays the clearing price | Good for editions and token sales |
Dutch auctions became popular for NFT drops because they avoid gas wars: there is no race to submit a bid in the first block. Some projects added rebates so early buyers get refunded down to the final clearing price.
Three ways to handle bids
Fully on-chain escrow
Each bid is a transaction that sends funds to the auction contract. When outbid, the previous bidder is refunded (preferably through a withdraw pattern rather than an automatic push, to avoid a malicious bidder blocking refunds). Pros: bids are guaranteed funded and the outcome is trustless. Cons: every bid costs gas, which discourages small increments on expensive chains.
Signed off-chain bids
Bidders sign typed-data offers, and the seller or a settlement contract executes the winning one at close. This is how offers work on most NFT marketplaces. Pros: free to bid. Cons: a bid can fail at settlement if the bidder moved funds or revoked approval, so the portal must check balances and have a fallback to the next bid.
Off-chain with on-chain settlement
A conventional auction engine takes bids in a database (with deposits or pre-authorized payments), and only the final sale settles on-chain. This suits portals for physical goods or tokenized real-world assets, where bidders are identified and KYC'd anyway.
Rules that make auctions fair
- Anti-sniping extension. A bid in the final minutes extends the end time, commonly by 10 to 15 minutes. Without it, bots win by bidding at the last second.
- Minimum increments. A percentage step (for example 5% or 10%) stops one-wei outbidding.
- Reserve prices. Hidden or public; on-chain, a "hidden" reserve is visible to anyone reading the contract unless you use commit-reveal.
- Front-running. Public mempools let bots see bids before they land. Private transaction relays, commit-reveal or batch settlement reduce this.
- Shill bidding. Sellers bidding on their own items is hard to prove on-chain. Identity checks for high-value sales and wallet-clustering analysis help.
Sealed bids on a public chain
Everything on a public blockchain is visible, so sealed bids need a trick. In commit-reveal, bidders first submit a hash of their bid plus a secret, along with a deposit; after the bidding phase they reveal. Bids that are not revealed forfeit or are ignored. The weakness is that the deposit size leaks information and unrevealed bids complicate settlement. Newer approaches use threshold encryption or trusted execution environments, at the cost of extra infrastructure.
Building the portal
- Choose formats based on what you sell: English or reserve auctions for unique items, Dutch or batch for editions.
- Choose a chain where bidding gas is acceptable for your price range, or use signed bids.
- Write the auction contract with escrow, withdraw-pattern refunds, time extensions and settlement that transfers the item and splits proceeds (seller, platform, creator royalty via EIP-2981).
- Build a real-time front end: live bid feed over websockets, countdown synced to block time, outbid notifications.
- Add KYC and payment rails if you sell high-value or real-world items.
- Audit the contracts, then simulate adversarial bidding on a testnet.
Where auction portals are used
Curated art platforms built their identity around reserve auctions; see Foundation-like marketplaces and SuperRare-like platforms. Domain names are a natural auction market, covered in NFT marketplaces for domains. Liquidation auctions are central to NFT lending protocols. Tokenized property and collectibles add legal title and custody questions on top of the auction mechanics.
Frequently asked questions
Which auction format is best for an NFT drop?
For many identical items, a Dutch or batch auction avoids gas wars and finds a fair price. For a single valuable piece, a reserve auction with time extension works well.
Can bids be hidden on a blockchain?
Not by default. Commit-reveal schemes or encryption keep bids secret until the bidding window closes.
How do refunds work when someone is outbid?
Well-designed contracts record the refund and let the previous bidder withdraw it, rather than sending funds automatically, which a malicious contract could block.
What does an auction portal cost to build?
A focused NFT auction contract plus front end is a modest project for a small team, often a couple of months. Real-time bidding at scale, KYC, fiat payments and physical-goods logistics add most of the cost.