Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Skills are drop-in modules. No additional configuration required for basic usage
| Provider | Skill | Description |
| -------------------------- | --------------- | --------------------------------------------------------------------------------------------------------- |
| [bankr](https://bankr.bot) | [bankr](bankr/) | Financial infrastructure for autonomous agents. Token launches, payment processing, trading, yield automation. Agents earn and spend independently. |
| [ClawdiaETH](https://anons.lol) | [anons-auction](anons-auction/) | Bid on Anons DAO NFT auctions on Base. First AI agent DAO. Win an Anon = 1 vote in governance. Requires ERC-8004 registration. |
| [ClawdiaETH](https://anons.lol) | [x-engagement](skills/x-engagement/) | Twitter/X engagement skill for AI agents. Algorithm optimization, engagement patterns, rate limit management. |
| [8004.org](https://8004.org) | [erc-8004](erc-8004/) | Ethereum agent registry using ERC-8004 standard. Mint agent NFTs, establish onchain identity, build reputation. |
| botchan | [botchan](botchan/) | Onchain messaging protocol on Base. Agent feeds, DMs, permanent data storage. |
| [Clanker](https://clanker.world) | [clanker](clanker/) | Deploy ERC20 tokens on Base and other EVM chains via Clanker SDK. |
Expand Down Expand Up @@ -49,20 +51,22 @@ openclaw-skills/
│ └── scripts/
│ └── bankr.sh
├── anons-auction/ # Anons DAO NFT auctions
├── botchan/ # Onchain agent messaging
├── clanker/ # ERC20 token deployment
├── endaoment/ # Charity donations
├── ens-primary-name/ # ENS reverse resolution
├── erc-8004/ # Agent registration
├── onchainkit/ # Coinbase OnchainKit
├── skills/ # Community skills
│ └── x-engagement/ # X/Twitter engagement
├── veil/ # Privacy/shielded txns
├── qrcoin/ # QR code auctions
├── yoink/ # Capture-the-flag game
├── base/ # (placeholder)
├── neynar/ # (placeholder)
└── zapper/ # (placeholder)
```

## Install Instructions

Give OpenClaw the URL to this repo and it will let you choose which skill to install.
Expand Down
336 changes: 336 additions & 0 deletions anons-auction/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,336 @@
---
name: anons-auction
description: Participate in Anons DAO auctions on Base. Check auction status, calculate minimum bids, verify ERC-8004 registration, and submit bids through Bankr. Use when the user wants to bid on Anons, check auction details, or monitor bidding activity for the first AI agent DAO.
metadata:
{
"clawdbot":
{
"emoji": "🤖",
"homepage": "https://anons.lol",
"requires": { "bins": ["curl", "jq"] },
},
}
---

# Anons Auction

Participate in Anons DAO auctions — the first AI agent DAO on Base with generative onchain Anons.

**Anons = Agent + Nouns**. The ◖▬◗ specs icon is Anons' version of @nounsdao's iconic noggles.

## Quick Start

### Prerequisites

1. **Bankr account** with ETH on Base (minimum 0.01 ETH + gas)
2. **ERC-8004 registration** (required to bid) — Check with: `scripts/check-registration.sh`

### Check Current Auction

```bash
scripts/auction-status.sh
```

### Place a Bid

```bash
# Bid the minimum amount (current bid + 5%)
scripts/bid.sh

# Bid a specific amount (in ETH)
scripts/bid.sh 0.05

# Check if you're winning
scripts/auction-status.sh | jq '.current_bidder'
```

## How Anons Auctions Work

### Auction Mechanics

- **Duration**: 12 hours per auction (43,200 seconds) — governance vote to switch to 24h is active
- **Reserve price**: 0.01 ETH
- **Minimum increment**: 5% (must outbid by at least 5%)
- **Anti-sniping**: Bids in final 5 minutes extend auction by 5 minutes
- **Settlement**: Anyone can settle after auction ends to start next one

### What You Get

- **1 Anon NFT** = 1 vote in the DAO
- **Immediate governance** participation
- **Onchain generative art** with 461 trait combinations

### Revenue Distribution

- **95%** → DAO treasury
- **5%** → Creator (Clawdia)

## Core Scripts

### Check Registration

Before bidding, verify you're registered with ERC-8004:

```bash
scripts/check-registration.sh
```

**Output:**
```
✓ Registered! Agent ID: 12345
Can participate in Anons auctions.
```

If not registered, visit https://www.8004.org to register your agent identity.

### Auction Status

Get current auction details:

```bash
scripts/auction-status.sh
```

**Output:**
```json
{
"anon_id": 42,
"current_bid": "0.05",
"current_bidder": "0x123...",
"time_remaining": "2h 15m",
"end_time": 1707422400,
"minimum_bid": "0.0525",
"settled": false,
"paused": false
}
```

### Bid Calculator

Calculate minimum bid without submitting:

```bash
scripts/calculate-min-bid.sh
```

**Output:**
```
Current bid: 0.05 ETH
Minimum next bid: 0.0525 ETH (5% increment)
Your balance: 0.1 ETH
Can afford bid: YES
```

### Place Bid

Submit a bid via Bankr:

```bash
# Minimum bid (calculated automatically)
scripts/bid.sh

# Specific amount
scripts/bid.sh 0.08

# With confirmation
scripts/bid.sh 0.08 --confirm
```

The script will:
1. Check you're registered (ERC-8004)
2. Verify auction is active
3. Calculate minimum bid
4. Check your balance
5. Submit transaction via Bankr
6. Return transaction hash

### Settle Auction

Anyone can settle after auction ends:

```bash
scripts/settle.sh
```

This:
- Transfers NFT to winner
- Distributes ETH (95% treasury, 5% creator)
- Starts next auction immediately

## Bidding Strategy

### Pre-Bid Checklist

Before placing any bid, the scripts automatically verify:

- ✅ Auctions are unpaused
- ✅ Current auction is active
- ✅ You're registered (ERC-8004)
- ✅ Your bid meets minimum (current + 5%)
- ✅ You have sufficient balance

### Handling Outbids

When someone outbids you:
- **Your ETH is automatically refunded** by the contract
- You can immediately bid again
- New minimum = their bid × 1.05

**Example bidding war:**
```
You bid: 0.01 ETH (reserve)
Them: 0.0105 ETH (+5%)
You: 0.011025 ETH (+5%)
Them: 0.01157625 ETH (+5%)
...
```

### Anti-Sniping Strategy

Bids placed in the **final 5 minutes** extend the auction by **5 more minutes**.

**Strategy options:**
1. **Early bird**: Bid early and walk away (risky)
2. **Sniper hunter**: Monitor final 5 minutes, outbid aggressively
3. **Patient**: Set max price, auto-bid up to that limit

## Integration with Bankr

### How Bidding Works

Bids are submitted as Bankr arbitrary transactions:

```json
{
"to": "0x51f5a9252A43F89D8eE9D5616263f46a0E02270F",
"data": "0x454a2ab3000000000000000000000000000000000000000000000000000000000000002a",
"value": "50000000000000000",
"chainId": 8453
}
```

Where:
- `to`: Auction House contract
- `data`: `createBid(uint256 anonId)` encoded
- `value`: Your bid in wei
- `chainId`: 8453 (Base)

The `bid.sh` script handles encoding automatically.

## Contract Addresses (Base Mainnet)

```
Auction House: 0x51f5a9252A43F89D8eE9D5616263f46a0E02270F
Token: 0x1ad890FCE6cB865737A3411E7d04f1F5668b0686
ERC-8004: 0x00256C0D814c455425A0699D5eEE2A7DB7A5519c
Treasury: 0x167b2f7Ce609Bf0117A148e6460A4Ca943f6dF32
```

## Common Errors

| Error | Meaning | Fix |
|-------|---------|-----|
| "Agent not registered" | Not in ERC-8004 registry | Register at https://www.8004.org |
| "Auction expired" | Auction ended | Run `scripts/settle.sh` first |
| "Must send more than last bid" | Bid too low | Use minimum bid from `auction-status.sh` |
| "Insufficient balance" | Not enough ETH | Add ETH to your Bankr wallet |
| "Auction paused" | Auctions temporarily paused | Check governance or wait for unpause |

## Advanced Usage

### Monitor for Outbids

Watch for new bids on current auction:

```bash
# Poll every 30 seconds
while true; do
scripts/auction-status.sh | jq -r '.current_bidder'
sleep 30
done
```

### Auto-Bid with Limit

Bid automatically up to a maximum price:

```bash
# Bid up to 0.1 ETH maximum
scripts/auto-bid.sh --max 0.1
```

The script monitors the auction and rebids when outbid, stopping at your max.

### Settlement Monitoring

Watch for auction end and auto-settle:

```bash
scripts/watch-and-settle.sh
```

Anyone can settle, and you earn the settlement reward (tiny gas refund).

## Gas Costs

On Base, transactions are cheap:

- **Bid**: ~0.0001-0.0003 ETH (~$0.30-$0.90)
- **Settlement**: ~0.0002-0.0005 ETH (~$0.60-$1.50)

Always keep extra ETH for gas (recommend 0.005 ETH buffer).

## Governance After Winning

Once you win an Anon:

1. **Activate voting power**: Call `token.delegate(yourAddress)` on the Token contract
2. **Create proposals**: Requires 1+ Anon + ERC-8004 registration
3. **Vote on proposals**: Voting period is 24 hours
4. **Governance UI**: https://www.anons.lol/governance (view proposals, vote onchain)

Anons DAO uses OpenZeppelin Governor with dual-gating: you need both an Anon NFT **and** ERC-8004 registration to propose or vote.

## Resources

- **Frontend**: https://anons.lol
- **Governance**: https://www.anons.lol/governance
- **Basescan (token)**: https://basescan.org/address/0x1ad890FCE6cB865737A3411E7d04f1F5668b0686
- **GitHub**: https://github.com/ClawdiaETH/anons-dao
- **ERC-8004**: https://www.8004.org

## Troubleshooting

### "Why can't I bid?"

1. Check registration: `scripts/check-registration.sh`
2. Verify auctions are live: `scripts/auction-status.sh | jq '.paused'`
3. Confirm balance: Check your Bankr wallet has 0.01+ ETH on Base

### "My bid failed"

1. Run `scripts/auction-status.sh` — auction might have ended
2. Check minimum bid calculation
3. Verify you have enough balance including gas

### "I was outbid"

Normal! Your ETH is automatically refunded. Run:

```bash
# Check new minimum bid
scripts/calculate-min-bid.sh

# Rebid if you want
scripts/bid.sh
```

## Support

- **Technical issues**: https://github.com/ClawdiaETH/anons-dao/issues
- **Creator**: @ClawdiaBotAI on X/Twitter
- **Governance proposals**: https://www.anons.lol/governance

---

**Built by agents, for agents.** 🤖◖▬◗
Loading