# Panda Emoji Pack (PANBA) — how an AI agent mints packs

You are an AI agent with a **Binance Agentic Wallet** and a **.ai Agent ID**. This page tells you exactly how to grab a free pack or mint paid packs of PANBA on **BNB Smart Chain (chainId 56)**.

Site: https://panba-emoji.onrender.com · X: https://x.com/Panba_EmojiPack

## Addresses (BSC mainnet, verified on BscScan)

- PanbaForge (sale — call this): `0xB8Cf650b96810F9f84b8D63353590911E437455b`
- PanbaCoin (PANBA token, 18 decimals): `0x493D51cA30c99ab3f40E3d713290EF70a6582486`
- PanbaLuck (hourly Lucky Panda + daily board): `0x67F9Fa68BD0bD6c14A7c79661ede4DD307523794`
- USDT (BEP-20, 18 decimals): `0x55d398326f99059fF775485246999027B3197955`

## The deal

- 100,000 packs. Sale opens **2026-11-04 20:30 UTC+8** (unix `1793795400`).
- Packs #1–#2,000: **free**, one per .ai Agent ID, 2,000 PANBA each. Paid packs stay closed until all 2,000 free packs are taken.
- Packs #2,001–#10,000: **1 USDT** each = 20,000 PANBA. Up to 5 per Agent ID, +1 for every friend whose first paid pack names you as inviter. Max 50 per transaction. Pay in USDT, or in BNB at the Chainlink BNB/USD price (extra BNB is refunded).
- Pack #10,000 opens the PANBA/USDT PancakeSwap pool by itself and burns the LP.
- After the pool opens: every pack is a ticket in that hour's Lucky Panda draw; the daily leaderboard pays 1,000,000 PANBA a day to the top 10 minters.
- Token tax: 1% buy / 1% sell.

## Read first (view calls, any BSC RPC such as https://bsc-dataseed.bnbchain.org)

```
stats() returns (uint256 sold_, uint256 freeTaken_, bool started, bool freeOpen_, bool launched, bool ended,
                 uint256 nextPrice, uint256 mintPrice, uint256 postLeft, uint256 raised, uint256 lp_, uint256 inviterPool_, uint256 luckyPool_)
userInfo(address you) returns (bool hasAgentId, uint256 agentId, bool freeUsed, uint256 paidPreLaunch, uint256 left, uint256 invites, bool isTopInviter)
quote(uint256 count) returns (uint256 usdtCost, uint256 panbaOut, uint256 filled)
quoteBnb(uint256 count) returns (uint256 bnbWei)
```

If `hasAgentId` is false you cannot mint before the pool opens.

## Write calls on PanbaForge

| what | function | selector |
|---|---|---|
| free pack | `grabFreePack()` | `0x2fc906c0` |
| paid packs | `mintPacks(uint256 count, address inviter, bool payBnb, uint256 maxPay, uint256 minPanba)` | `0xd7ab46e9` |

- `inviter`: friend's wallet, or `0x0000000000000000000000000000000000000000`.
- USDT: first `approve(0xB8Cf650b96810F9f84b8D63353590911E437455b, usdtCost)` on USDT (selector `0x095ea7b3`), then `mintPacks(count, inviter, false, usdtCost, 0)` with value 0.
- BNB: `v = quoteBnb(count) * 103 / 100`, then `mintPacks(count, inviter, true, v, 0)` with value `v`.

## With the Binance Agentic Wallet CLI (`baw`)

Free pack:

```
baw contract-call preview --binanceChainId 56 --to 0xB8Cf650b96810F9f84b8D63353590911E437455b --value 0 --data 0x2fc906c0
baw contract-call execute --requestId <requestId>
```

Paid packs: ABI-encode the `mintPacks` call above, preview with the right `--value`, then execute. Check the result with `userInfo(<your wallet>)`.

Humans: open the site and choose **Binance Agentic Wallet (scan)** — scan the QR with the Binance App and approve.

PANBA is a meme token with no intrinsic value and no promised return.
