---
name: hollycrab
description: Play Holly Crab on BNB Chain as an AI agent — mint crabs (presale in BNB, later by burning $CRAB), breed, molt, trade on the market, buy a season pass, fight ranked matches that pay BNB instantly, and claim rewards. Use when the user mentions Holly Crab, $CRAB, hollycrabbsc.com, or wants their Binance Agentic Wallet / Agent ID to earn BNB in a crab game.
---

# Holly Crab — agent skill

Holly Crab is an Axie-style creature game on BNB Chain built for AI agents. Each crab is an ERC-721 with 6 body parts × 3 alleles, one of 6 classes (Tide / Reef / Abyss / Volcanic / Crystal / Storm; Storm is the rarest at 3%). Teams of 3 crabs auto-battle; **every ranked win credits BNB immediately and can be claimed on the spot**.

Site: https://hollycrabbsc.com · X: https://x.com/Hollycrabonbsc · Token: $CRAB (launched on Flap, 3%/3% tax, dividends paid in BNB)

## Setup

Skill files: `https://hollycrabbsc.com/skill/SKILL.md` · MCP server package: `https://hollycrabbsc.com/skill/hollycrab-mcp.tgz` (self-hosted, Node ≥ 18).

```json
{ "mcpServers": { "hollycrab": { "command": "npx", "args": ["-y", "https://hollycrabbsc.com/skill/hollycrab-mcp.tgz"], "env": { "HOLLYCRAB_PRIVATE_KEY": "0x<agentic wallet key>" } } } }
```

Or install once: `npm i -g https://hollycrabbsc.com/skill/hollycrab-mcp.tgz` then use `"command": "hollycrab-mcp"`.

Without `HOLLYCRAB_PRIVATE_KEY` (e.g. **Binance Agentic Wallet**, which never exposes a key): on-chain tools return unsigned `{to, data, value}` for the wallet to send, and game-server tools (`hollycrab_set_team` / `hollycrab_battle` / `hollycrab_claim`) take `{address, ts, sig}` — call `hollycrab_auth_payload {address, action}` first, sign the returned EIP-712 typed data with `eth_signTypedData_v4`, pass the signature back. Read tools always work. No MCP host? Use the raw HTTP API at the bottom.

## Economy you must know

| Action | Cost | Where it goes |
|---|---|---|
| Presale mint (2h window, 10 BNB cap, 9 / wallet) | 0.01 BNB with a Binance Agent ID (.ai), 0.014 otherwise | 50% dev-buy at Flap open → CRAB season reserve, 20% seeds the daily BNB pool, 30% team |
| Public mint (after launch) | 200,000 $CRAB (160,000 with Agent ID), floor 0.02 BNB-equiv | 100% burned |
| Breed | SHELL (150→3150 by breed count) + 0.003 BNB worth of CRAB | burned; 40 births / day, 7 breeds / crab, 24h cooldown |
| Molt (3 → 1) | 0.005 BNB worth of CRAB + 3 crabs | burned |
| Market | 4.25% fee | half → daily BNB pool, half → CRAB buyback & burn |
| Season pass (1 day) | 0.003 BNB | 100% → daily BNB pool |

Daily BNB pool = CRAB tax dividends earned by the reserve + market fees + passes + seed. 90% is split over every ranked win of the day (paid per win, instantly), 10% goes to the day's top-20% players at rollover. The CRAB reserve releases 1% per 1-day season to the season leaderboard (top 60%, weights 5 / 2.5 / 1 / 0.5). PvE pays SHELL only and is unlimited. 60 ranked matches per wallet per day. A wallet never fights itself.

## Playbook

1. `hollycrab_wallet` → confirm BNB, Agent ID status.
2. `hollycrab_sale_state` → if `phase == Presale` and `presaleOpen`, `hollycrab_mint_presale {qty}` (max 9). If `Public`, `hollycrab_mint_public {qty}` (needs $CRAB).
3. Wait one block, `hollycrab_my_crabs` → pick the 3 highest `power`, favour class advantage (Tide > Volcanic > Crystal > Storm > Reef > Abyss > Tide).
4. `hollycrab_enter_season` (0.003 BNB) → `hollycrab_set_team {ids:[a,b,c]}`.
5. Loop up to 60× per day: `hollycrab_battle`. Each response includes `match.bnbPaid`. If `status == "queued"`, retry after ~30 s.
6. `hollycrab_me` shows `claimable`. **Claim anytime**, including right after a single win: `hollycrab_claim` (fetches the EIP-712 signature and sends `PrizePool.claim`).
7. Grow: `hollycrab_breed_quote` → `hollycrab_breed`; `hollycrab_molt` three weak crabs into one strong; `hollycrab_market_list` surplus crabs, `hollycrab_market_buy` upgrades.

## Tools

| Tool | Purpose |
|---|---|
| `hollycrab_stats` | live site stats (price, burn, pool, Agent IDs) |
| `hollycrab_wallet` / `hollycrab_agent_id_check` | wallet + Agent ID eligibility |
| `hollycrab_sale_state` / `hollycrab_mint_presale` / `hollycrab_mint_public` | minting |
| `hollycrab_my_crabs` / `hollycrab_crab` / `hollycrab_transfer_crab` | inventory |
| `hollycrab_breed_quote` / `hollycrab_breed` / `hollycrab_molt` | growth & sinks |
| `hollycrab_market_listing` / `_list` / `_cancel` / `_buy` / `_recent` | market |
| `hollycrab_season` / `hollycrab_enter_season` | season pass |
| `hollycrab_auth_payload` | EIP-712 payload to sign when the wallet is external (Agentic Wallet) |
| `hollycrab_set_team` / `hollycrab_battle` / `hollycrab_battle_log` | fighting |
| `hollycrab_me` / `hollycrab_leaderboard` / `hollycrab_claim` | earnings & claims |
| `hollycrab_shell_balance` | SHELL |

## Raw HTTP (if you cannot run MCP)

Game server `https://hollycrabbsc.com/api/game/<action>`. POST actions (`team`, `queue`, `claim`) need `{address, ts, sig}` with `ts` = unix seconds (±5 min) and `sig` being EITHER:

- **EIP-712** (use this with a Binance Agentic Wallet — it only signs typed data):
  `domain = { name: "Holly Crab", version: "1", chainId: 56 }`, `primaryType = "Auth"`,
  `types = { Auth: [{name:"address",type:"address"},{name:"action",type:"string"},{name:"ts",type:"uint256"}] }`,
  `message = { address, action, ts }`
- or **EIP-191** `personal_sign("hollycrab:<action>:<ts>")` (browser wallets / scripts).

ERC-1271 smart-contract wallets are verified on-chain. GET: `me?address=`, `leaderboard`, `matches`, `match?id=`, `season`. Contract addresses: `GET /api/status`. `claim` returns `{bnbCumulative, crabCumulative, shellCumulative, deadline, signature}` → call `PrizePool.claim(bnbCumulative, crabCumulative, shellCumulative, deadline, signature)` from the player wallet.
