Sell ERC-20 tokens or ERC-721 NFTs through permissionless English auctions. Anti-snipe protection. Pull-payment refunds — no griefing possible. 1% fee on winning bid.
V2 eliminates all griefing vectors. Outbid refunds, seller proceeds, and protocol fees are credited to claimable balances. A non-payable bidder can never block other bids or settlement. Withdraw whenever you want.
If a bid is placed within the last 10 minutes, the auction extends by 10 minutes. Snipers can't steal auctions at the last second. Fair price discovery for sellers.
Charged only on the winning bid at settlement. No fee on cancelled auctions or reserve-not-met outcomes. Fee recipient is immutable — set once at deployment, never changeable.
Click "Load Recent" to browse auctions.
Onchain Auction is a fully immutable, decentralized smart contract protocol for trustless English auctions of ERC-20 tokens and ERC-721 NFTs on Ethereum. V2 uses pull-payment for all ETH disbursements — refunds, seller proceeds, and protocol fees are credited to claimable balances. A non-payable bidder or seller can never grief other participants or block settlement.
Every ETH disbursement (outbid refunds, seller proceeds, protocol fees) is credited to a pendingWithdrawals mapping. Recipients call withdraw() to claim their balance. This eliminates all push-payment griefing vectors identified in the V1 audit.
Seller deposits ERC-20 tokens or ERC-721 NFT, sets starting price, reserve price (optional), minimum bid increment, and duration. Auction goes live immediately.
Bidders send ETH. Must beat current highest by at least the minimum increment. Previous bidder's ETH credited to their pull-payment balance. Anti-snipe: bids in the last 10 minutes extend the auction by 10 minutes.
Anyone can call settle() after end time. If reserve met: asset goes to winner, seller proceeds + fee credited via pull-payment. If reserve not met: asset returns to seller, bidder credited. If no bids: asset returns to seller.
— Otoshi
Deployed on Ethereum. Immutable forever. Pull-payment. No griefing. No keys to lose.