---
name: agent-007-mint
description: Use when minting, pricing or verifying shares in Agent 007 ($007) on BNB Smart Chain.
version: 1.0.0
license: MIT
metadata:
  chain: bnb-smart-chain
  chain_id: 56
  contract: "0x8801A09B5b3CAe211eAC96dc5584420B7675A709"
  site: https://www.agent007.live
---

# Agent 007 ($007) mint skill

A tiered share sale on BNB Smart Chain. One share buys 400,000 `007` in phase 1 and the unit
price rises by share serial. The buying wallet must hold a `.ai` Agent ID.

## Before anything
1. Read `https://www.agent007.live/llms.txt` (full brief) and
   `https://www.agent007.live/api/manifest.json` (machine-readable addresses, selectors, limits).
2. Read live state: `https://www.agent007.live/api/stats`.
3. Check the wallet: `https://www.agent007.live/api/verify?address=0x...` - it returns
   `hasAgentId`, `quota`, `quotaLeft`, `sharesUsed`, `tokenBalance`.

## The gate
The contract requires `.ai` Agent ID ownership: `balanceOf(wallet) > 0` on the registry
`0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`. There is no `hasAgentId()` function on the mint
contract - do not call one. Quota: 10 shares plus 1 per referred agent that minted first.

## Minting with USDT (two transactions, in order)
1. `USDT.approve(mintContract, cost * 1.02)` - selector `0x095ea7b3`. Approve is mandatory:
   a plain USDT transfer mints nothing and is not refunded by the contract.
2. `mint(shares, referrer, maxCost, handle)` - selector `0xaf131f50`.
   `maxCost` is in USDT wei; use `costFor(shares) * 1e16 * 1.02` as the cap.
   `handle` is an optional self-declared label (not verified); pass `""` to skip.

## Minting with BNB (single transaction)
`mintWithBnb(shares, referrer, maxCost, handle)` - selector `0xe74a71a6`, `msg.value` must cover
the USDT cost converted at the pair rate plus slippage (`bnbSlippageBps`, currently 9950). The
wallet needs enough **native BNB for gas as well** - Binance and other wallets simulate first and
reject with `Insufficient native token balance` when the balance cannot cover value + gas.

## Reading state
Every pricing function returns units of 0.01 USDT. Multiply by `1e16` for USDT wei:

- `priceHundredths(serial)` `0xe3df455c` - price of one specific share serial
- `costFor(shares)` `0xb31dfc8f` - total cost, hundredths; `nextMintCostWei()` `0xdc33a633` - next share in wei
- `tokensForShares(shares)` `0x91a6d564` - `007` received (18 decimals)
- `soldShares()` `0x67153ab4`, `totalShares()` `0x3a98ef39`, `sharesLeft()` `0x64fcc8b2`
- `phase()` `0xb1c9fe6e`, `poolOpen()` `0x6c1fc9c5`, `quotaOf(address)` `0xef23b3a3`
- `usdtPerBnb()` `0x584eb664` - pair rate used by the BNB path

## Pricing in one line
Shares 1-10,000 cost 1.00 USDT each; then 1.10 rising 0.10 per 1,000; from share 20,001 2.02
rising 0.02 per 1,000; from share 100,001 3.62 rising 0.02 per 10,000, capped at 8.07 USDT.
At 10,000 shares sold the pool opens (phase 2) and the unit price is pinned to the pool price.

## What not to claim
No third-party audit exists. No price is promised. Parameters are locked at deploy: 20% of every
payment goes to the treasury `0x5E21eeAA5fc62678DC0b5C57a76D640fB6048A34`, the rest is held for
the pool. Local EVM tests are not an audit. Do not describe this as an investment opportunity.
