| name | based-dao |
|---|---|
| description | Bid on BASED DAO NFT auctions on Base. Check current auction status, place bids, and track auction history. |
Bid on BASED DAO NFT auctions on Base network. Each 24-hour auction mints one governance NFT.
Check current auction:
node scripts/check-auction.jsPlace a bid:
node scripts/place-bid.js <amount_in_eth>- Token Contract:
0x10a5676ec8ae3d6b1f36a6f1a1526136ba7938bf - Auction House:
0x0D2790f4831bDFd6a8Fd21C6f591bB69496b5e91 - Governor:
0x1b20dcfdf520176cfab22888f07ea3419d15779d - Network: Base (Chain ID: 8453)
- RPC:
https://mainnet.base.org
- Duration: 24 hours per auction
- Reserve Price: ~0.0008 ETH (check with
contract.reservePrice()) - Min Bid Increment: Typically 10% above current bid
- Settlement: Auto-settles when next auction starts
- Extension: Last 15 minutes of bidding extends auction by 10 minutes
- Check current auction - Get auction ID, current bid, time remaining
- Calculate minimum bid - Current bid + (current bid × min increment %)
- Ensure you have ETH - Bid amount + gas (~0.001 ETH buffer)
- Call
createBid(tokenId)- Send bid amount asvalue
Important: The auction house contract returns your previous bid if you're outbid or if you increase your bid. You only pay the difference.
Each BASED DAO NFT = 1 vote. NFT holders can vote on proposals that govern the treasury and protocol.
Check active proposals:
node scripts/check-proposals.js # Active only
node scripts/check-proposals.js --all # All proposalsVote on a proposal:
export PRIVATE_KEY=0x...
node scripts/vote.js <proposal_id> <support>
# Support: 0 = Against, 1 = For, 2 = AbstainExample:
node scripts/vote.js 5 1 # Vote FOR proposal #5- Voting Delay: 1 day after proposal creation
- Voting Period: 4 days
- Proposal Threshold: 4 NFTs required to create proposals
- Quorum: Varies per proposal
To vote, your NFTs must be delegated (usually to yourself). Check delegation status on the DAO website.
Returns current auction status:
- Token ID
- Current highest bid
- Highest bidder address
- Time remaining
- Minimum next bid
Usage:
node scripts/check-auction.jsPlaces a bid on the current auction. Requires:
- Private key (via environment variable or hardcoded)
- Bid amount in ETH (as argument)
Usage:
export PRIVATE_KEY=0x...
node scripts/place-bid.js 0.0009Returns governance proposal status:
- Proposal ID and state
- Vote counts (for/against/abstain)
- Time remaining for active proposals
- Voting parameters
Usage:
node scripts/check-proposals.js # Active proposals only
node scripts/check-proposals.js --all # All proposalsCasts a vote on an active proposal. Requires:
- Private key (via environment variable)
- Proposal ID
- Support (0=Against, 1=For, 2=Abstain)
- Optional reason
Usage:
export PRIVATE_KEY=0x...
node scripts/vote.js 5 1 # Vote FOR
node scripts/vote.js 5 0 # Vote AGAINST
node scripts/vote.js 5 2 "No strong opinion" # ABSTAIN with reason- Active - Accept bids, extend if bid in last 15 min
- Ended - No more bids, awaiting settlement
- Settled - Winner receives NFT, next auction starts
Web UI: https://nouns.build/dao/base/0x10a5676ec8ae3d6b1f36a6f1a1526136ba7938bf/{auctionId}
BaseScan: https://basescan.org/address/0x0D2790f4831bDFd6a8Fd21C6f591bB69496b5e91
Check if auction ended:
const now = Math.floor(Date.now() / 1000);
const ended = now > auctionData.endTime;Get auction by ID:
// Current auction
const current = await auctionContract.auction();
// Specific auction (historical)
// Note: Auction house only stores current auction
// Use events or indexer for historical dataEstimate gas for bid:
const gasEstimate = await contract.createBid.estimateGas(
tokenId,
{ value: bidAmount }
);
// Typical: 60k-80k gasTransaction reverts:
Auction expired- Auction ended, can't bidMust send more than last bid- Bid too lowAuction hasn't begun- Auction not started yet
Common issues:
- Insufficient ETH balance
- Gas estimation failure (auction ended mid-estimation)
- Bid below reserve price (first bid only)
- Bid doesn't meet minimum increment
- Auction ABI:
references/auction-abi.json - Token ABI:
references/token-abi.json - Contract addresses:
references/contracts.json
- BASED DAO is a Nouns-style DAO on Base
- Each NFT = 1 governance vote
- Treasury accumulates from auction proceeds
- Continuous daily auctions (no gaps)