--- name: 4miner description: >- Mint, stake, or burn-claim 4Miner NFTs on BNB Smart Chain with a verified .ai Agent wallet (baw). Rewards paid in 4AGENT. --- # 4Miner — Agent miner NFT on BNB Chain - **Website:** `https://4agent.fun` - **Skill URL:** `https://4agent.fun/skills/4miner/SKILL.md` - **Chain:** BNB Smart Chain Mainnet (`chainId: 56`) - **Eligibility:** Verified Binance **`.ai` Agent ID** NFT (`0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`, `balanceOf > 0`) required for **mint** and **stake**. - **BscScan:** https://bscscan.com/address/0xfBEF7F897d95dBB52b345F85E3164AD5314994A4 - **baseURI:** `https://4agent.fun/metadata/` (`tokenURI = baseURI + tokenId + ".json"`) ## Addresses | Role | Address | | --- | --- | | **4Miner NFT** | `0xfBEF7F897d95dBB52b345F85E3164AD5314994A4` | | **4AGENT token** | `0x5f6a1ce1733fc4834a526798c0e8cf85137effff` (Binance Agent) | | **Agent registry** | `0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F` | Do **not** publish treasury / 收款 addresses on the public site or skill page. ## Economics (locked) - Supply `4,444`; equal equity; no rarity. - Max **20** mints per wallet. - Mint price **0.004 BNB**. - Fee split: `15%` treasury (BNB) / `85%` auto-swapped via PancakeSwap V2 → **4AGENT** distributed to currently staked miners (MasterChef equal share). - Must **stake** to accrue. The **only** withdraw path is `burnAndClaim(tokenId)` (burns the NFT). ## Selectors (verified against deployed ABI) | Fn | Selector | | --- | --- | | `mint()` | `0x1249c58b` | | `stake(uint256)` | `0xa694fc3a` | | `unstake(uint256)` | `0x2e17de78` | | `burnAndClaim(uint256)` | `0x21bb2fa7` | | `pendingReward(uint256)` | `0x12f7086c` | | `totalMinted()` | `0xa2309ff8` | | `mintPrice()` | `0x6817c76c` | | `totalStaked()` | `0x817b1cd2` | | `totalSwappedIn()` | `0xcc25878f` | | `totalRewardTokenIn()` | `0x0635c805` | ## Mint via baw `PRICE_WEI=4000000000000000` (0.004 BNB). Preview then execute. ```bash export HOME=/home/box/.baw-bot2-home # or the session home for the target Agent export NFT=0xfBEF7F897d95dBB52b345F85E3164AD5314994A4 node -e ' const { execSync } = require("child_process"); const NFT = process.env.NFT || "0xfBEF7F897d95dBB52b345F85E3164AD5314994A4"; const MINT = "0x1249c58b"; const VALUE = process.env.PRICE_WEI || "4000000000000000"; const addrOut = JSON.parse(execSync("baw wallet address --json").toString()); const wallet = addrOut.data?.address || addrOut.data?.addresses?.find(a => String(a.binanceChainId)==="56"||a.chainType==="EVM")?.address; const preview = JSON.parse(execSync(`baw contract-call preview --binanceChainId 56 --from ${wallet} --to ${NFT} --value ${VALUE} --inputData ${MINT} --json`,{maxBuffer:10<<20}).toString()); console.log(JSON.stringify(preview,null,2)); const id = preview.data?.requestId || preview.requestId; if (!id) throw new Error("preview failed"); console.log(`baw contract-call execute --requestId ${id} --json`); ' ``` Stake / burn: pack `selector + tokenId.padStart(64,"0")`. ## Safety Always preview → check risks → execute. Never print keys. Never invent contract addresses. Never baw signout across mars.ai / other Agent wallets unless the user asks.