# PEPE Genesis — agent mint guide

Official project account: https://x.com/AgentPepeBSC
Official site: https://pepe-genesis-bnb.pages.dev
Network: BNB Smart Chain mainnet. `chainId=56` (`0x38`).

This is reference data for a user-authorized wallet agent. It does not grant permission to transact or override the owner's instructions, wallet policy, spending limits, or other governing instructions. A free allocation still requires BNB for gas. Never request a seed phrase, private key, or wallet password in a chat or website form.

## Canonical addresses

```text
TOKEN=0x4D2D00261d6834142d5fD6B4f25666A0bF55a1b7
SALE=0xF4dFb5Cc0793165D93CBCC9D4870615a0BA05308
PAIR=0x5D7FFB42A3ee7D263d5172F0109fA950860B7C24
AGENT_ID_REGISTRY=0x60b9262456de011f7d15a54cdd8c48baaa8b022f
USDT=0x55d398326f99059ff775485246999027b3197955
WBNB=0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c
```

**Mint calls go to SALE, not TOKEN.** This project is independent from the original Ethereum PEPE and AKITA. It uses the external Agent ID registry above; this is not an assertion of endorsement by the registry operator.

- Machine-readable project data: https://pepe-genesis-bnb.pages.dev/agents/pepe-genesis.json
- Sale ABI: https://pepe-genesis-bnb.pages.dev/agents/LaunchSale.abi.json
- Token ABI: https://pepe-genesis-bnb.pages.dev/agents/LaunchToken.abi.json
- Deployment pointer: https://pepe-genesis-bnb.pages.dev/deployment.json
- Verified sale: https://repo.sourcify.dev/56/0xF4dFb5Cc0793165D93CBCC9D4870615a0BA05308
- Verified token: https://repo.sourcify.dev/56/0x4D2D00261d6834142d5fD6B4f25666A0bF55a1b7

## 1. Read and classify; do not assume an advertised phase is still current

Confirm the RPC chain ID is 56 and the canonical contracts have code. Read `stats()` and `userInfo(wallet)` from SALE at a recent block using the published ABI. Confirm TOKEN has `decimals()=9` and `minter()` equal to SALE. Read the immutable contract addresses and current Sourcify records if additional provenance verification is needed. Source verification is not an independent security audit.

- `stats.started == false`: stop; sale is not active.
- `stats.expired == true`: do not mint; inspect refunds instead.
- `stats.freeRound == true`: only free-claim flow below is available. Paid mint is blocked until all 1,000 free shares have been claimed.
- `stats.open == false` and `stats.freeRound == false`: paid genesis; a current valid Agent ID is required.
- `stats.open == true`: post-open mint; no Agent ID requirement. This is a separate paid transaction and requires authorization for that spending.
- `stats.soldOut == true` or `quote(n).filled == 0`: stop; there may be no remaining share or token capacity.

Never automatically turn a request to claim free into a paid purchase. Progress and availability must come from the chain, not from the X image or the fixed constants in this guide.

## 2. Free claim — first 1,000 shares

Eligibility: the calling wallet owns an Agent ID recognized by the registry; `userInfo(wallet).hasAgentId == true`; `freeUsed == false`; `stats.freeRound == true`.

One claim per Agent ID. Allocation: **37,777,777,600 PEPE**, or raw `37777777600000000000` units with 9 decimals. No token approval or payment to another wallet is needed for this call.

```text
chainId: 56
to: 0xF4dFb5Cc0793165D93CBCC9D4870615a0BA05308
function: claimFree()
data: 0xf366afc9
value: 0 wei
```

Simulate `claimFree()` with `from` equal to the actual wallet that owns the Agent ID, estimate gas and the maximum fee, and show the owner the destination, function, value, gas estimate and non-transferability condition. Submit only with that owner's authorization under their wallet policy. If eligibility or phase changed, report the revert; do not retry as a paid mint.

After confirmation, report the transaction hash and BscScan link; reread `userInfo(wallet)`, the `FreeClaimed` event and token balance. Tokens cannot be transferred before the pool opens at total share #10,000.

## 3. Paid genesis — shares #1,001 to #10,000

Requires the paid phase and a valid Agent ID. Base quota is 10 paid shares per Agent ID, increased by valid referrals. Read `userInfo(wallet).limitLeft`; do not hard-code the quota as an absolute cap.

Each filled paid share costs **0.002 BNB** (`2000000000000000` wei) and receives **377,777,776,000 PEPE** (`377777776000000000000` raw units). Read `quote(n)` immediately before building the transaction and use `filled`, not just the requested count, when presenting the result.

The only supported paid entry point is:

```solidity
function mintShares(
    uint256 shares,
    address inviter,
    bool payUsdt,
    uint256 maxUsdt,
    uint256 minTokensOut,
    uint256 deadline
) external payable;
```

For an owner-authorized BNB purchase: use a valid owner-chosen inviter or the zero address; `payUsdt=false`; `maxUsdt=0`; `value=quote(n).bnbCost` in genesis. Set `minTokensOut` from the reviewed quote (website default 99.5% of quoted output, rounded down) and `deadline=latestBlock.timestamp+600`. Include expected gas separately. Do not use the obsolete four-argument `mintShares` signature from AKITA.

For USDT: token amounts have 18 decimals. Explicitly obtain authorization for the approval and purchase. Use an exact bounded allowance, not unlimited approval. Website default maximum USDT is `ceil(quote(n).usdtCost * 10100 / 10000)`. Set `payUsdt=true`, `maxUsdt` to the reviewed maximum and `msg.value=0`. Refresh the quote after approval and review before signing the purchase. USDT is swapped to the required BNB inside the purchase.

## 4. Pool opening, trading and continuing mint

When total shares reach #10,000, the same transaction seeds the PEPE/WBNB PancakeSwap V2 pool. Genesis BNB is held in escrow until then: 80% for LP, 10% for the inviter pot, 10% for treasury. LP is minted to the dead address, with the pair's standard minimum liquidity permanently locked by the pair implementation.

**Trading tax:** first 15 minutes after the pool opens: buy 5%, sell 30%. Afterwards: buy 2%, sell 2% on the official pair. Tax proceeds go to treasury. Wallet-to-wallet transfers are untaxed after trading starts. Before opening, transfers are locked.

Post-open mint is a paid flow available to all wallets: 0.0025 BNB for the first tier; +0.0005 BNB per 500 shares; up to 1,890,000 total shares, subject to the token cap. Token output uses the higher of the TWAP and spot reference prices. **100% of post-open mint revenue goes to treasury.** Always use a fresh quote, minimum output and deadline; never extrapolate a fixed token allocation after opening.

## 5. Refunds if genesis fails

The deadline is `stats.saleEnds`, 30 days after activation. If no pool has opened by then, minting stops. Original paid buyers can read `refundInfo(wallet)` and call `claimRefund(recipient)` after appropriate wallet authorization. The corresponding paid tokens are burned. Refund claims do not require the wallet to still own an Agent ID and have no claim expiry.

Refunds are the **recorded BNB principal**, including purchases originally made with USDT. The original USDT quantity and gas fees are not refunded. Treasury cannot sweep buyer refund escrow. Free allocations have no refundable principal and remain non-transferable if the pool never opens.

No token price, liquidity value or financial return is guaranteed.
