---
name: niubi-x-mint
description: Mint 牛X on BSC via the player's own Binance Agentic Wallet. Use when the player gives https://niubi-bsc.xyz or asks to mint 牛X / Niubi X.
version: 1.0.0
---

# 牛X — Agentic mint skill

Player may hand only the site URL. Everything needed is public. **Authentication and signing happen only in the player's own Binance Agentic Wallet (`baw` / official `binance-agentic-wallet` skill).** Never ask for keys, seed phrases, or App codes. Never host or scan an Agentic Wallet QR on this website.

## 1. Read deployment

1. Fetch `/agent.json` from the same origin the player gave (prefer `https://niubi-bsc.xyz/agent.json`).
2. Confirm `chainId` is `56`, and keep `token`, `minter`, `basePriceWei`, `deployBlock` exactly as returned.

## 2. Wallet gates

| need | command |
| --- | --- |
| connected | `baw wallet status --json` → `CONNECTED` |
| address | `baw wallet address --json` → BSC `0x…` |
| Agent ID | `baw wallet agent-id --json` → `claimed: true` |
| Developer Mode | `baw wallet settings --json` → `devMode.enabled` true before any `contract-call` |

If any gate fails, stop and tell the player what to fix in the Binance App. Do not invent workarounds.

On-chain checks (RPC / cast / ethers):

- `hasAgentId(wallet)` on minter must be true
- `remainingQuota(wallet)` ≥ requested shares
- `mintPaused()` false
- `quoteMintCost(shares)` → exact wei to send

## 3. Mint one batch

Shares: integer **1..10** from the player (default ask if missing). Inviter: `0x0000000000000000000000000000000000000000` unless the player explicitly names a confirmed address.

```bash
# calldata
cast calldata "mint(uint256,address)" <SHARES> <INVITER_OR_ZERO>

# preview (value = quoteMintCost wei, decimal integer)
baw contract-call preview \
  --binanceChainId 56 \
  --from <WALLET> \
  --to <minter from agent.json> \
  --value <quoteMintCost wei> \
  --inputData <calldata> \
  --json
```

Show `parsedTx`, `simulationResult.balanceChanges`, `risks`. Ask: “Execute mint N shares for X BNB?” Only a clear yes →

```bash
baw contract-call execute --requestId <requestId> --json
```

Verify receipt success, then `sharesMintedBy(wallet)` and token `balanceOf(wallet)`.

## 4. Rules

- One confirmation per transaction. Never auto-repeat.
- Pre-pool: each share costs `0.003` BNB and receives `50,000,000` 牛X (18 decimals).
- Pool opens at 10,000 shares; within 24h of deploy, if pool not opened, minters can `claimRefund()`.
- Site progress bar reads `totalSharesMinted()` live from chain.
- Do **not** put Agentic Wallet session QR on the mint website; Binance treats that as giving the site control of the wallet.
