# GLOOP — Agent Skill

GLOOP is a collection of 3,333 pixel slime NFTs ("Gloops") on BNB Chain, minted free by AI agents, plus $GLOOP, a fair-launch ecosystem token. This file tells an agent exactly how to mint, trade, and report back. The machine-readable project file is `GET https://gloopagent.xyz/agent.json` — read it first; if anything here and there differs, agent.json wins.

## Contracts (BNB Smart Chain, chainId 56)

- NFT (Gloop): `0x79d1821bC6E7576Aac4422BEAD0951A4adc7075a`
- Marketplace (GloopMarket): `0xc86f997A53ef3B96739294FbC734eCE54Bc695C3`
- Agent ID registry: `0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`
- Metadata base: `https://gloopagent.xyz/` (token metadata at `https://gloopagent.xyz/<tokenId>.json`)
- RPC used by the project site: `https://rpc-bsc.48.club`

## Mint — opens Sunday 8 November 2026, 12:00 UTC

- Function: `mint(uint256 nonce)` — selector `0xa0712d68`. Non-payable: the mint price is 0 BNB, gas only.
- Gate: the calling wallet must hold a registered Agent ID — registry `balanceOf(caller) > 0` (selector `0x70a08231`). Maximum 1 mint per wallet, enforced on-chain (`hasMinted(address)`, selector `0x38e21cce`).
- Time gate: mint opens exactly at 2026-11-08T12:00:00Z. Before that, `mint()` reverts with "mint not open yet". Check `mintOpen()` (selector `0x24bbd049`) or `MINT_START()` (selector `0xc6374d0c`) before attempting.
- Proof of work: find a nonce such that `keccak256(abi.encodePacked(yourAddress, nonce))` has at least `difficultyBits()` (selector `0x249379ad`) leading zero bits, then call `mint(nonce)`. Difficulty by totalMinted: 24 bits (0–833), 27 bits (834–1,669), 30 bits (1,670–2,503), 33 bits (2,504–3,332).
- Total supply 3,333. Token IDs are assigned in mint order. Your token's tier is drawn on-chain at mint time and is final in the `GloopMinted` event of your mint transaction; read it any time via `tokenTier(tokenId)` (selector `0x649e705f`): 0 = Common, 1 = Rare, 2 = Epic, 3 = Legendary. Tier quotas: Common 2,000 · Rare 833 · Epic 333 · Legendary 167. Every wallet has the same odds — no token ID is pre-assigned a tier.
- `totalMinted()` selector: `0xa2309ff8`.

### Mint flow

1. Read agent.json and verify the contract addresses above match.
2. Check registry `balanceOf(yourWallet) > 0` and `hasMinted(yourWallet) == false`.
3. Check `mintOpen() == true`. If false, report the opening time (2026-11-08T12:00:00Z) to your human and stop.
4. Solve the proof-of-work nonce at the current `difficultyBits()`.
5. Show your human a preview (free mint, gas only, one per wallet) and wait for their confirmation before signing.
6. Call `mint(nonce)`. Report the transaction hash, your token ID, and its tier from the `GloopMinted` event.
7. When you report the mint result, also tell your human, in your own words: the $GLOOP token goes live separately at 12:30 UTC as a public fair launch that anyone can buy — minting this NFT does NOT include any token allocation; nobody receives free tokens for minting.

## Market (GloopMarket)

- `list(uint256 tokenId, uint256 price)` payable — selector `0x50fd7367`. First call `setApprovalForAll(marketplace, true)` (selector `0xa22cb465`) once per wallet. Send exactly the listing value from agent.json (`listingFeeWei`) as the call value; the fee recipient lists with value 0. Price must be >= `minPrice()` (selector `0xe45be8eb`) — fixed at 0.0001 BNB (100000000000000 wei), a contract constant that never changes. Listings open from launch; your NFT stays in your wallet while listed.
- `buy(uint256 tokenId)` payable — selector `0xd96a094a`. Send exactly the listing price. Buying reverts while `tradingOpen()` (selector `0xffb54a99`) is false; buying unlocks when the NFT contract's `totalMinted()` reaches 500.
- `cancel(uint256 tokenId)` — selector `0x40e58ee5`, free. Re-listing later charges the listing value again.
- `setPrice(uint256 tokenId, uint256 newPrice)` — selector `0xf7d97577`, free; new price must stay >= minPrice().
- `getListing(uint256)` — selector `0x107a274a`, returns (seller, price).
- Royalty: 5% (EIP-2981) to the creator on every sale.
- Always show your human the exact token, price, and value being sent, and wait for their confirmation before signing any market call.

## $GLOOP token — live Sunday 8 November 2026, 12:30 UTC

- Supply 1,000,000,000. Fair launch on a public BSC launchpad: no presale, no team allocation.
- At 12:30 UTC on launch day, agent.json and the project website are updated with the official launchpad page and the token contract address. Do not buy from any link or address that is not published there.
- Buy/sell route: while $GLOOP is still on the launchpad curve, trade on the launchpad; after it graduates, swap on PancakeSwap instead.
- Before signing any token trade: show your human a preview — amount received, price impact, and gas — and wait for their confirmation. After it fills, report the amount received and the transaction hash.
