GUIDE
HOW TO PLAY
Wolfmind is played by your AI agent, not by clicking here. This site shows your assets and the state of the game; your agent sends the transactions from your Binance Agentic Wallet. It shows you each step and waits for your OK before anything is sent.
- Set up your Binance Agentic Wallet: install its CLI, sign in, and turn on Developer Mode in the Binance App.
- Make sure the wallet holds an official .ai Agent ID, some BNB for gas, and the currency the mint phase is paid in (see Mint).
- Pick an action below (mint, stake, claim or unstake) and copy its prompt into your agent. Or just give your agent the link https://wolfmind.fun/llms.txt.
- Paste your wallet address (or its name.ai) on the Dashboard to watch your assets. The site only reads the chain.
CONTRACTS
| CHAIN | BNB Smart Chain (ID 56) |
|---|---|
| GAME | 0x9bac1Ea4A667c42e8EAfaaa5E796cfEabC1c95bF |
| NFT | 0xdA3c8a1E6d09bDA94cE3be15571957292E2675cC |
| WOOL | 0x3d4A5703F5328E839229260a4eD79896bc7a2c93 |
| AGENT ID REGISTRY | 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F |
Mint, stake, claim and unstake all go to the GAME contract. Never send BNB or tokens directly to the NFT or WOOL contract. The Agent ID registry is the official Binance one.
PROMPTS FOR YOUR AGENT
MINT
VIEW PROMPT
Read https://wolfmind.fun/llms.txt. Using my Binance Agentic Wallet, mint 10 NFTs in phase 0 and keep them in my wallet (stake=false). 1. Read getMintFee(0, <my address>, 10) with an eth_call on the RPC given there (baw cannot read contract state). 2. If canMint is false, send nothing: tell me why (paused, phaseInfo, mintedBy, isAgent) and the largest amount that would work, then wait for my answer. Never mint a different amount on your own. 3. Otherwise pay exactly mintFee (approve the pay token first if it is not BNB). 4. Show me each baw preview and wait for my confirmation before you execute it. 5. Read the Minted events in the receipt and tell me which tokenIds I got and which were stolen.
STAKE
Your agent checks that staking is open, lists the sheep in your wallet, and waits for you to type the exact token IDs. Up to 40 per transaction: a longer list is split.
VIEW PROMPT
Read https://wolfmind.fun/llms.txt. Using my Binance Agentic Wallet, stake my sheep.
1. Read GAME.paused() and GAME.stakingOpen() with eth_call. If paused is true or stakingOpen is false, staking is not open: send nothing, tell me to try again once it opens, and stop.
2. Read GAME.emissionOn(). If it is false, tell me that sheep staked now earn no WOOL until the team starts emission (nothing is back-paid), then carry on: it is my call.
3. Read GAME.isAgent(<my address>). If it is false I cannot stake: tell me and stop.
4. List the sheep in my wallet that are not staked yet ("How to list your NFTs" in llms.txt) and show me the tokenId list. If there are none, tell me and stop.
5. Ask me to type the exact tokenIds to stake and wait for my reply. Do not choose for me, and refuse any id that is not in your list.
6. If NFT.isApprovedForAll(<my address>, GAME) is false, send setApprovalForAll(GAME, true) first. Then stake the whole list with one GAME.stake(ids) call (at most 40 ids per transaction: split a longer list into several).
7. Show me each baw preview and wait for my confirmation before you execute it.
8. Read the Staked events in the receipt, check GAME.stakedOf(<my address>) and tell me which tokenIds are now staked.CLAIM
Your agent lists your staked tokens with WOOL waiting and asks which to claim (or ALL). A sheep claim pays the claim tax and restarts that sheep's minimum-stay timer. Up to 100 per transaction.
VIEW PROMPT
Read https://wolfmind.fun/llms.txt. Using my Binance Agentic Wallet, claim WOOL for my staked sheep and wolves. 1. Read GAME.claimOpen() with an eth_call. If it is false, claiming is not open: send nothing, tell me to try again once the team opens it, and stop. 2. List my staked tokens (GAME.stakedOf(<my address>)), keep the sheep and wolves (NFT.traitsOf) and read each one's pendingWool (sheepInfo / wolfInfo). Show me a table of tokenId, species and pendingWool with the total, and leave out tokens with 0 pending. If nothing is left, tell me and stop. If GAME.emissionOn() is false, say that no new WOOL accrues until the team starts emission. 3. Tell me what a claim does: each sheep pays the claim tax (read claimTaxPercentage) to the wolves and its minimum-stay timer (exitableAt) restarts; a wolf just collects its share. Claiming works even while the game is paused. 4. Ask me to type the exact tokenIds to claim (or ALL for every listed token) and wait for my reply. 5. Claim with one GAME.claim(ids) call (at most 100 ids per transaction: split a longer list). Show me each baw preview and wait for my confirmation before you execute it. 6. Read the SheepClaimed / WolfClaimed events in the receipt and tell me how much WOOL I received per token and in total.
UNSTAKE
A sheep can leave only after its minimum stay, and all its pending WOOL goes on a 50% coin flip. Your agent shows which sheep are ready, warns you, and waits for the exact token IDs.
VIEW PROMPT
Read https://wolfmind.fun/llms.txt. Using my Binance Agentic Wallet, unstake my sheep. 1. Read GAME.claimOpen() with an eth_call. If it is false, an unstake that would pay WOOL is refused (ClaimClosed): only sheep with 0 pending WOOL can leave now. Say so and leave the others out of the list. 2. List my staked sheep (GAME.stakedOf(<my address>) and NFT.traitsOf) with each one's pendingWool and exitableAt (sheepInfo). Mark which are exitable now (current time >= exitableAt): the others cannot be unstaked yet. If none is exitable, tell me when the first one is and stop. 3. Warn me, and wait for my answer: unstaking a sheep puts ALL its pending WOOL on a 50% coin flip decided in the same transaction (the WOOL I lose goes to the wolves). The NFT always comes back to my wallet. 4. Ask me to type the exact tokenIds to unstake and wait for my reply. Refuse any id that is not exitable. 5. Unstake with one GAME.unstake(ids) call (at most 40 ids per transaction: split a longer list). Show me each baw preview and wait for my confirmation before you execute it. 6. Read the SheepExit events in the receipt and tell me, per token, whether I kept or lost the WOOL and how much.
STATUS REPORT (READ ONLY)
VIEW PROMPT
Read https://wolfmind.fun/llms.txt and give me a read-only report for my Agentic Wallet: Agent ID, BNB, WOOL, the NFTs in my wallet and the staked ones (sheep and wolves separately) with pending WOOL. Use eth_call reads only and do not send any transaction.
GOOD TO KNOW
- Only wallets with an official .ai Agent ID can mint and stake. Claiming and unstaking do not need one.
- Gen0 NFTs can never be stolen. A Gen1 mint can be stolen by a staked wolf.
- Staked sheep earn WOOL. Claiming pays a tax to the wolves, and unstaking a sheep puts its WOOL on a 50% coin flip.
- Every WOOL transfer carries a 1% tax that goes to the team wallet. Earning WOOL by claiming is not taxed. To trade WOOL you need a swap that supports tokens with a transfer tax.
- Minting and staking must come from a normal wallet, not a smart-contract wallet. Your Agentic Wallet is a normal wallet.
FOR AGENTS AND DEVELOPERS
Technical reference. The same information, with exact selectors, is served as plain text at /llms.txt.
PLAYER FLOW
- Only an address holding an official .ai Agent ID (isAgent) can mint and stake. claim and unstake do not check identity. mint, stake and unstake must be sent directly by an EOA (the Binance Agentic Wallet is one); through a contract they revert with NotEOA.
- Pick a phase (0 = Gen0, 1 = Gen1). phaseInfo(phase) gives enabled, maxSupply, minted and payToken (address(0) = native BNB, otherwise an ERC-20 such as USDT). The dev can switch a phase on or off at any time, so check it right before minting.
- Prices are tiers: an ascending list of (upTo, price), which for you is tiersOf(phase, whitelisted(phase, you)) unless the dev set a personal ladder (below). Your k-th mint in that phase costs the price of the first tier with k <= upTo, and the LAST upTo is your per-wallet limit (mintedBy(phase, you) counts what you already minted). Example: [(1, 0), (10, 1 USDT)] = first one free, the 2nd to 10th cost 1 USDT each, 10 at most. Whitelisted addresses use the whitelist tiers (own prices and limit); an empty public list means whitelist only. The dev can also give one wallet a personal ladder for a phase (customTiersOf(phase, you) returns (set, tiers)); priority: personal ladder (set = true) > whitelist ladder > public ladder, and set = true with an empty list means the dev blocked that wallet in that phase. getMintFee already prices by this priority: you do not need to work it out.
- Check first: getMintFee(mintStage, you, amount) (mintStage = the phase number) never reverts and returns (canMint, mintFee). If canMint is false, do NOT send a transaction (mintFee is 0 then). It does not check your balance or allowance. To buy as many as possible, start at amount = MAX_BATCH (10) and go down until canMint is true. To tell your user why it is false, read phaseInfo, mintedBy, whitelisted, customTiersOf and tiersOf.
- Pay mintFee, in the token phaseInfo(phase).payToken. payToken = address(0) (BNB): send mint with value = mintFee exactly (never more). Otherwise first payToken.approve(game, mintFee) (exactly, not unlimited) and send mint with value 0. If payToken is the WOOL contract, the fee is burned.
- mint(phase, amount, stake) is final in its own transaction: read the Minted events in the receipt to see which tokenId you got and whether it was stolen (to != user; Gen0 is never stolen, Gen1 can be). No waiting, no second step.
- Before staking: the game must not be paused (paused() = false) and staking must be open (stakingOpen() = true), else stake and mint(stake = true) revert; if emissionOn() = false, sheep staked now earn nothing until the dev starts emission (not a reason to stop). NFT.setApprovalForAll(game, true), then stake(ids). With stake=true at mint time, the NFTs that were not stolen are staked straight away.
- claim(ids) needs claimOpen() = true (else ClaimClosed): sheep collect WOOL minus the claim tax and restart the minimum-stay timer; wolves collect the tax. The NFTs stay staked. WOOL keeps accruing while claiming is closed (if emissionOn).
- unstake(ids): wolves claim and withdraw at once. Sheep need minimumToExit; the NFT comes back and ALL its pending WOOL goes on a 50% coin flip (V1 rule), decided in the same transaction. Read the SheepExit event: lost = true means the wolves took it. While claimOpen() = false only tokens with 0 pending WOOL can be unstaked: one that would pay WOOL reverts ClaimClosed.
WOOL TRANSFER TAX
- Every WOOL transfer (transfer and transferFrom) pays a 1% tax (WOOL.TAX_BPS() = 100, read it live) to WOOL.taxRecipient(), a dev address fixed when the contract was deployed (it never changes). This is separate from the claim tax.
- The receiver gets 99%: sending X WOOL delivers 0.99 X. For the receiver to get exactly Y, send Y / 0.99. Transfers to or from that address itself pay no tax.
- Minting and burning are not transfers, so they pay no tax: claim and unstake payouts are unaffected, and so is a phase paid in WOOL (the fee is burned): approve(GAME, mintFee) and exactly mintFee is burned.
- A DEX needs the fee-on-transfer router functions (the SupportingFeeOnTransferTokens variants); the plain ones can revert or deliver less.
CORE FUNCTIONS
| ON | FUNCTION | SELECTOR | NOTES |
|---|---|---|---|
| GAME | mint(uint8,uint256,bool) | 0xaff69231 | Needs an Agent ID. EOA only (a contract caller reverts NotEOA). Call getMintFee first and never send when canMint is false; pay exactly mintFee. Done in the same transaction: read one Minted event per NFT from the receipt. Value: getMintFee().mintFee in wei, exactly, if payToken is address(0) (BNB); otherwise 0. |
| GAME | stake(uint256[]) | 0x0fbf0a93 | Needs an Agent ID and NFT.setApprovalForAll(game, true) first. |
| GAME | claim(uint256[]) | 0x6ba4c138 | Sheep: pays pending WOOL minus claimTaxPercentage and restarts the minimum-stay timer. Wolves: collect their tax share. NFTs stay staked. |
| GAME | unstake(uint256[]) | 0xe449f341 | EOA only (NotEOA otherwise). Wolves: claim and withdraw at once. Sheep: need minimumToExit; the NFT returns and ALL its pending WOOL goes on a 50% coin flip, decided in the same transaction: see the SheepExit event (gross, lost). |
| NFT | setApprovalForAll(address,bool) | 0xa22cb465 | Required once before stake. |
| PAYTOKEN | approve(address,uint256) | 0x095ea7b3 | Only when the phase payToken is not address(0). Sent to the payToken contract, then mint with value 0. |
Read-only state functions and exact argument units are listed in /llms.txt. Prices and rates are always read live from chain.
CONTRACTS (BNB Smart Chain): GAME 0x9bac…95bF NFT 0xdA3c…75cC WOOL 0x3d4A…2c93
© WOLFMIND 2026 · FAN-MADE · NOT AFFILIATED WITH WOLF GAME