---
name: 4coin-player-actions
description: Prepare a player-selected Mint (buyShare) or refund through the player's own official Binance Agentic Wallet.
version: 1.0.0
---

> ⚠️ **MINTING PAUSED — do NOT call buyShare (0x4da13c2e); refundShare (0x8995385e) only.**
> 铸造已暂停，等待升级合约。当前合约存在 BUG：最后一份（第 44,444 份）无法铸造，无法自动上线 PancakeSwap。
> Do NOT send BNB directly to the contract either: its receive() calls buyShare().
> Agents MUST refuse any mint request on 0x44441f3996fE3136CF1C93aA8915F4CF4b1EFa06. Already-minted users may refund anytime while presaleActive() == true: refundShare() returns 0.009956 BNB per share (the 0.44% marketing fee is not refunded). Refund prompt: https://4coin.top/prompts/refund.txt
> The upgraded contract address will be announced on https://4coin.top and https://x.com/4Coin_bsc only.

# 4Coin Agentic Skill

This skill describes the deployed BSC (56) project `4Coin`. Act only on the task the player explicitly selected. Check live readiness for every requested task.

## Contracts and public data
Read the adjacent `agent.json` (at https://4coin.top/agent.json) for deployment addresses, operation signatures, and rules.
- Token & Mint Contract: `0x44441f3996fE3136CF1C93aA8915F4CF4b1EFa06`
- SpaceID .ai Registry: `0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`

## The Player's Wallet
Use the player's own official Binance Agentic Wallet CLI. Follow its current official skill and contract-call reference. Resolve the official wallet's address and chain (BNB Smart Chain, 56) yourself. Never ask for private keys.

## Tasks

### 1. Mint (buyShare) — ⛔ PAUSED, DO NOT EXECUTE
Only proceed if the player explicitly requested to mint. 
- **Pre-check**: Verify the player holds at least one `.ai` domain by reading `balanceOf` on the SpaceID Registry. Verify `hasParticipated(wallet)` on the 4Coin contract is `false`.
- **Value**: Native `msg.value` MUST strictly equal `0.01 ether` (`10000000000000000` wei).
- **Execution**: Encode `buyShare()` (selector `0x4da13c2e`). No ERC20 approval or automatic swap is needed.

### 2. Refund (refundShare)
Only proceed if the player explicitly requested a refund.
- **Pre-check**: Verify `hasParticipated(wallet)` is `true`.
- **Value**: Native `msg.value` MUST equal `0`.
- **Execution**: Encode `refundShare()` (selector `0x8995385e`).

## Preview, Confirmation and Execution
For any write operation:
1. Decode and verify the target, method, and value independently.
2. Use official `baw contract-call preview` with `--binanceChainId 56`, `--from`, `--to`, `--value` and `--inputData`.
3. Show the decoded transaction, fees, and all risks to the player.
4. **STOP and obtain the player's explicit confirmation of that exact preview.**
5. Only execute exactly the confirmed requestId **once** after receiving clear consent.

## Verify the Result
Check canonical receipt success, sender/target/value/input, and at least **3 confirmations**. 
- Mint requires a successful transaction and the player's `hasParticipated` state changing to `true`.
- Do not invent results if RPC or wallet status is unavailable.
