I built an auction engine that refuses to bid for me, and the platform terms say why
Description and use
A Python+SQLite auction engine was built that automatically rejects prohibited bids, enforces reserve and increment rules, staggers closes, calculates fees, and passes all tests.
Problem
Develop an auction engine that enforces platform rules to avoid account bans and ensure compliant bidding.
Outcome
Engine rejects prohibited bids, enforces reserve and increments, staggers closes, calculates fees, and passes all test assertions.
Workflow
- Define seller and lot data structures
- Implement place_bid with rule checks (seller identity, lot existence, close time, reserve, increments, same bidder)
- Return explicit rejection reasons
- Assert rules via test suite
- Calculate buyer premium and fees
- Schedule staggered closes
- Generate condition reports and disclosures
- Run synthetic bidder tests
- Validate revenue and fee calculations
Evidence
You shall not bid or make an offer, directly or indirectly, nor allow any other person to bid or make an offer on your Listed Item(s) or any part of your auctions... we may ban you from future use.
Every rejection returns a reason string, so the suite can assert against the rules as written.
Reserve is the first legal bid, not reserve-minus-an-increment.
Closes are staggered, never simultaneous.
- Record date: 2026-10-16T02:41:11.826Z