---
name: pacta
description: How an AI agent mints PACTA shares on BNB Chain (BSC) — claim 1 free share (first 55 Agent ID wallets only) or buy shares at 0.5 USDT each, paying with BSC USDT or BNB. Includes contract addresses, function selectors, quota and referral rules, the pre-sell-out refund, and safety checks.
---

# PACTA — Agent Minting Guide

PACTA is a fixed-pool share sale on BNB Chain (BSC, chainId 56). The sale is
**Agent ID holders only**. You interact with ONE sale contract; it creates and
controls the PACTA token. There is no owner, no admin, and no upgrade path —
the contract is the sale.

- **1 share = 10,000,000 PACTA**
- Total pool: **3,355 shares** = **55 free** + **3,300 paid**
- **FREE:** the first 55 Agent ID wallets get their **first share free**
  (1 per wallet, attached automatically on your first mint)
- **Price:** **0.5 USDT per paid share** — pay with BSC USDT, or with BNB at
  the live PancakeSwap V2 WBNB/USDT spot rate (excess BNB returned in the
  same transaction)
- **Paid quota:** 7 paid shares per wallet, **+1 for every first-time buyer
  who names you as referrer** on their first mint (max quota 10)
- **REFUND (important):** until sell-out you can call `refund()` at any time
  and get **100% of your paid money back** (USDT as USDT, BNB as BNB). Your
  paid PACTA is burned; a free share, if you have one, stays yours. Refunded
  shares return to the pool and your quota frees up.
- **Transfers are LOCKED until sell-out.** At sell-out (all 3,355 shares
  minted): minting closes, all USDT + BNB in the contract moves to the
  treasury, **33,000,000,000 PACTA** is minted to the treasury as the
  liquidity allocation, and PACTA transfers open permanently.

## Contracts (BSC mainnet, chainId 56)

| Contract | Address |
|---|---|
| Sale (PactureCloneSale) | `0x6Cbf2E389AfBEb8fCC45d790E21D66F71A2b78Ca` |
| PACTA token (ERC-20) | `0x8372F2e05bA2B186511f28b3D5d80D66E7278631` |
| BSC USDT | `0x55d398326f99059fF775485246999027B3197955` |
| Agent ID registry (Binance) | `0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F` |
| Treasury | `0x2193d6e0468ac747823e7e876F1ACd34FFe43A67` |

Both PACTA contracts are Sourcify **exact_match** verified — read the source
before sending funds:
https://repo.sourcify.dev/56/0x6Cbf2E389AfBEb8fCC45d790E21D66F71A2b78Ca

Human sale page: https://pacta.pages.dev/ (this file lives at /skill.md there)

## Key functions (selectors verified against the deployed ABI)

| Function | Selector | Notes |
|---|---|---|
| `mint(uint256 paidShares, address referrer)` | `0x94bf804d` | Pay with USDT. Approve the sale contract for `paidShares × 0.5 USDT` first. `paidShares = 0` claims the free share only. |
| `mintWithBNB(uint256 paidShares, address referrer)` | `0x9ad453fc` | Pay with BNB (payable). Send ≥ `quoteBNB(paidShares)`; excess is returned in the same tx. |
| `refund()` | `0x590e1ae3` | Full refund of all your paid shares, any time before sell-out. |
| `quoteBNB(uint256 paidShares)` | `0x0b59714d` | Live BNB cost for N paid shares (spot rate from the pair reserves). |
| `hasAgentId(address)` | `0x4eab3ef2` | Eligibility check. |
| `freeAvailable(address)` | `0x9a5f5d31` | True if this wallet can still receive a free share. |
| `freeClaimed(address)` | `0x61c0b6a0` | Whether the wallet's free share is used. |
| `sharesMinted()` | `0x505e05fd` | Total shares minted so far (max 3,355). |
| `freeMinted()` | `0xd10a1a2b` | Free shares given out (max 55). |
| `paidShares()` | `0x7b6179c2` | Paid shares currently sold (max 3,300). |
| `soldOut()` | `0x893da6c9` | True once all 3,355 shares are minted. |
| `mintedBy(address)` | `0x3cef28d2` | Wallet's total shares (free + paid). |
| `paidBy(address)` | `0xfa6bd3e6` | Wallet's paid shares. |
| `quotaOf(address)` | `0xef23b3a3` | Wallet's paid quota (7 + referral bonus, max 10). |
| `invites(address)` | `0x8dec1720` | Quota bonus earned from invitees. |
| `quote(uint256 paidShares)` | `0xed1bd76c` | USDT cost for N paid shares (= N × 0.5 USDT). |
| `usdtPaid(address)` / `bnbPaid(address)` | `0x4dfe38ef` / `0xcc8cf18d` | Your refundable balances held by the contract. |
| Token `balanceOf(address)` | `0x70a08231` | Your PACTA balance (on the token contract). |

Constants: `MAX_SHARES()` `0x3e8ff57b` = 3,355 · `MAX_FREE()` `0xed6661c2` =
55 · `MAX_PAID()` `0xf4c651c2` = 3,300 · `PRICE()` `0x8d859f3e` =
500000000000000000 (0.5 USDT, 18 decimals) · `TOKENS_PER_SHARE()`
`0xb9bd4730` = 10,000,000 · token `MAX_SUPPLY` = 66,550,000,000.

## How to mint

### 1. Check eligibility and state (read-only)

- `hasAgentId(yourAddress)` must be `true` (you hold a Binance Agent ID).
- `freeAvailable(yourAddress)` tells you if your first share will be free.
- `sharesMinted()` / `freeMinted()` / `paidShares()` tell you what is left.

### 2a. Claim ONLY the free share (first 55 wallets)

Call the sale contract:

```
mint(0, 0x0000000000000000000000000000000000000000)
```

No payment, no approval — just gas. You receive **10,000,000 PACTA**.
If the free pool is already exhausted (55/55), this call reverts.

### 2b. Buy paid shares with USDT

1. Approve BSC USDT to the sale contract for exactly
   `paidShares × 500000000000000000` (0.5 USDT each). Do not approve more
   than the purchase amount.
2. Call `mint(paidShares, referrer)` — use the zero address as referrer if
   nobody invited you. If your free share is still unused, it is attached
   automatically on top of the paid shares.

### 2c. Buy paid shares with BNB

1. Read `quoteBNB(paidShares)` for the current BNB cost.
2. Call `mintWithBNB(paidShares, referrer)` with `value` ≥ the quote
   (a small buffer, e.g. +1%, protects against rate movement — unused BNB
   is returned in the same transaction).

### 3. Referrals

Pass the inviter's wallet address as `referrer` on your **first** mint.
When a first-time buyer names you, your paid quota grows by +1 (max 10).
Share your link: `https://pacta.pages.dev/?ref=<your-address>`

Per-transaction there is no share-count cap in the contract beyond your
remaining quota and the remaining pool; typical batches are 1–10.

## Live stats at publication time

Shares minted 0 / 3,355 · free 0 / 55 · paid 0 / 3,300 · sold out: no.
(Always re-read the views above — these numbers move.)

## Safety notes for agents

- Verify both addresses character-by-character against this file and the
  Sourcify listing before transacting. Impostor contracts are common.
- Never approve USDT beyond the exact cost of the mint you are making.
- PACTA cannot be transferred or sold until sell-out. If you need your
  money back before then, `refund()` returns 100% of paid funds — but it
  burns the corresponding paid shares.
- Buying is a purchase, not a promise of profit or future value.
