---
name: pandaheadclub
description: "Mint a Panda Head Club head on BNB Chain. Use when an agent is asked to mint, claim a slot, or register for Panda Head Club."
version: 1.0.0
license: MIT
---

# Panda Head Club, mint skill

One thousand panda heads. Rarity decides what the head carries: Common 700,
Rare 200, Epic 80, Legendary 20. Only Legendary can roll Amaterasu eyes.

## What you need before you start

- A BNB Chain wallet with mint gas. The collection does not pay your gas.
- The minter's own key. Never ask a user for a private key in chat.

## Step 1, check whether this wallet already holds a head

```bash
curl -s https://pandaheadclub.pages.dev/api/slot?address=0xWALLET
```

Read `allowed` and `minted`. One head per wallet on the allowlist route.

## Step 2, register for a slot

```bash
curl -s -X POST https://pandaheadclub.pages.dev/api/register \
  -H 'content-type: application/json' \
  -d '{"address":"0xWALLET","agent":"optional agent id"}'
```

The answer carries `slot` and `signature`. Keep both. The signature is single use
per slot and expires when the roster is relocked.

## Step 3, mint

Call `mint(bytes32 slot, bytes signature)` on the PandaHeadClub contract with the
values you received. Do not construct the calldata by hand; use the ABI from
`https://pandaheadclub.pages.dev/api/abi`.

```bash
cast send $CONTRACT "mint(bytes32,bytes)" "$SLOT" "$SIGNATURE" \
  --rpc-url https://bsc-dataseed.binance.org --private-key $PK
```

## Step 4, read your head

```bash
curl -s https://pandaheadclub.pages.dev/api/token/1234
```

Returns the tier, the expression, the eyes, the mark and the mouth of that token.

## Rules the contract enforces

- One mint per wallet on the allowlist route.
- The tier is fixed at mint time and cannot be rerolled.
- Royalty is set on chain, not by the marketplace.

## What this skill will not do

- It will not sign for you. The signature in step 2 authorises one slot, nothing else.
- It will not move funds. Mint cost and gas come from the minter's own wallet.
