Dutch Auction Logic¶
Trestle uses an automated Dutch Auction system for digital goods and freelance services. This model eliminates the need for complex order books and continuous on-chain writes.
How It Works¶
The price of an item starts at a startingPrice and decreases linearly over time until it is claimed or reaches a floorPrice.
Price Formula¶
function getPrice(uint256 startTime, uint256 discountRate) public view returns (uint256) {
uint256 timeElapsed = block.timestamp - startTime;
uint256 priceDrop = discountRate * timeElapsed;
uint256 currentPrice = startingPrice - priceDrop;
// Ensure price doesn't drop below floor
return currentPrice < floorPrice ? floorPrice : currentPrice;
}
Vertical Markets¶
| Market | Description |
|---|---|
| Digital Goods | E-books, licenses, templates: high initial price dropping to floor |
| Freelance Services | Milestone escrows: peak rate decreases until buyer engages |
| Digital RWAs | Fractional property: auction finds fair market value |
Key Benefits¶
- Gas-efficient - Single on-chain write at listing and purchase; reads are off-chain
- No order books - Price discovery via time decay
- Testnet-first - Operations run on Polygon Amoy with faucet-funded gas