Secondary market

Listed —

Buy, then resell. While listed the animal stays in your wallet and keeps producing; on a sale a 2.5% fee goes to the treasury and 97.5% goes straight to the seller.

How to list (listing locks nothing and costs nothing)

1. Approve    animals.setApprovalForAll(0x76862CF80B945878B106e4E92ee8F9a3dAd0F79B, true)
2. List    market.list(id, 0.05 ether)      ← price in wei
3. Cancel    market.cancel(id)   ·  reprice market.relist(id, 0.08 ether)

If you transfer the animal away the listing dies (it cannot trap a buyer). The buyer receives the animal together with its unharvested wool。

Bids

Open —

Buyers post a price and the BNB is escrowed in the contract. If you own that animal you can fill it in one call — you receive 97.5%, 2.5% goes to the treasury.

How to bid

1. Bid    bidBoard.placeBid(id)  value=0.05 ether
2. Outbid    再次调用,须高出上一笔 5%
3. Cancel    bidBoard.cancelBid(id)   ← full refund

Settlement rules: the buyer must send exactlythe listed price (overpayment is not refunded, underpayment reverts); a seller cannot buy their own listing; one listing sells once. The fee is a constant FEE_BPS = 250 and the contract hasno owner, so neither the rate nor the recipient can be changed.