---
name: dinoagent
description: Mint DinoAgent pixel dino NFTs and burn them to claim $DINO on BNB Chain. Use when your human asks about DinoAgent, wants to mint a free or paid dino, check rarity, burn an NFT for $DINO, or check the token launch and lock rules. Only Binance Agent ID holders can mint.
---

# DinoAgent

DinoAgent is a pixel dino NFT collection for AI agents on **BNB Chain** (chain ID 56).
Supply is **3,333 NFTs**. Holding an NFT is the only way to claim **$DINO**, the
collection's token (max supply 500,000,000, listing target ~$0.003). You burn
your NFT to claim its $DINO reward — the NFT is gone forever, the $DINO is
yours once.

**Contract addresses are NOT deployed yet.** Every address below is a `TBD`
placeholder — fill it in from the deploy receipt after mainnet deploy, and
verify each one on BscScan before any agent sends a transaction to it.
Do not guess an address, and never trust an address from a random post.

## Who can participate

**Binance Agent ID holders ONLY.** Both mints check the Binance Agent ID
registry on BSC (`0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`, a verified ERC721)
and require `balanceOf(your wallet) > 0`. A wallet with no Agent ID reverts
with `agent id required` on both mint functions. If you do not hold an Agent
ID, you cannot mint — free or paid. Burning and claiming need no extra check:
a holder already passed the gate at mint.

## No owner — read this first

The DinoAgent contracts have **no owner and no owner functions**. There are
no setters, no pause, no withdraw, no rescue: prices, royalty, roles and
destinations are all fixed at deploy and can never change. The only privileged
function in the whole system is the factory's one-time `deployAll`, which has
no power after the deploy. This is deliberate — it is what lets MintRadar
label the project HIJAU (no flags).

## Requirements

- A Binance Agent ID claimed on your wallet (`balanceOf > 0` on the registry above)
- A little BNB for gas (a mint is a few hundred thousand gas; deploy of the
  whole project is ~7.06M gas total, roughly 0.00035–0.00071 BNB at 0.05–0.1 gwei)
- USDT on BSC for the USDT paid route (`0x55d398326f99059fF775485246999027B3197955`,
  18 decimals) — approve the Paid contract first

## Contracts (BSC, all TBD until mainnet deploy)

| Contract | Address | Role |
|---|---|---|
| DinoAgentNFT | `DINO_AGENT_NFT_ADDRESS_TBD` | ERC721. Free mint, rarity roll, 5% ERC-2981 royalty direct to the royalty wallet |
| DinoToken ($DINO) | `DINO_TOKEN_ADDRESS_TBD` | ERC20, 500M cap. No owner. Burn rewards are locked 3 days |
| DinoPaidMint | `DINO_PAID_MINT_ADDRESS_TBD` | Paid mint. 70% to the Paid wallet, 30% held for liquidity |
| DinoBurnClaim | `DINO_BURN_CLAIM_ADDRESS_TBD` | Burn NFT / claim $DINO |
| DinoDeploy | `DINO_DEPLOY_FACTORY_ADDRESS_TBD` | One-shot deploy factory (no role after deploy) |

Role wallets: deployer (factory's deployer check only)
`0xE39cB373a088234FD4D9C88E514F88Dde1f8049C`; Paid receiver (70%)
`0xF51E787A2606A9C40956fca27cadb88527EA8aE6`; royalty wallet (5% direct)
`0x92126a30c695CA6EFa67E4A3F74A39D7d908F755`; liquidity wallet (held 30% +
matching $DINO at launch) — **TBD, must be supplied before deploy**.
The wallet `0xC03cf58cC31C47FE235da35D8ddAdCFcA6a6a833` does NOT own or
control the $DINO token: the token has no owner; its only minters are the
Paid contract (one liquidity-seeding mint) and the Burn contract (burn rewards).

## Mint rules

- **Free mint:** 777 slots, **1 per wallet**. `mintFree()` on the NFT contract,
  value 0 (gas only). Reverts if you already claimed, if the free lane is
  sold out, or if you hold no Agent ID. There is no mint-open toggle — minting
  is open whenever supply remains.
- **Paid mint:** **$0.50 per share**, in BNB or USDT. `buyShares(qty, payWithUsdt)`
  on the Paid contract, `qty` 1–5 per purchase, **MAX 5 paid shares per wallet
  total**. BNB price per share is `bnbPriceWei` (a fixed constant, ~0.000714 BNB
  at BNB ~$700 — it never changes); USDT price is a fixed 0.5 USDT per share
  (needs `approve` on USDT first). Wrong value reverts.
- **Paid split, in the same transaction:** **70% goes straight to the Paid
  wallet**; **30% is HELD inside the Paid contract** — it is NOT sent anywhere
  at mint time. It is released only at/after token launch by ANYONE calling
  the permissionless `releaseLiquidity()` (no arguments) — the held BNB + USDT
  go to the immutable liquidity wallet, and the matching $DINO is minted to
  that wallet so the pair can be seeded.
- **Rarity** is rolled at mint and fixed to the token: Common 70%, Rare 20%,
  Epic 7.5%, Legendary 2.5%. Read it with `rarityOf(tokenId)` (0 Common,
  1 Rare, 2 Epic, 3 Legendary). Rarity decides the burn reward range.

## Burn to claim $DINO

- **When:** only **3 days AFTER all 3,333 NFTs sell out** (`soldOutAt + 3 days`
  = token launch). Before that, `burnForReward` reverts (`token not launched yet`).
- **How:** `burnForReward(tokenId)` on the Burn contract. You must own the
  token. The NFT burns permanently.
- **Reward:** rolled at burn — tier 0 (70% chance), tier 1 (20%), tier 2 (10%) —
  then a uniform USD amount inside the tier, converted to $DINO at $0.003
  ($1 ≈ 333 $DINO, `dinoPerUsd` on the Burn contract — a fixed constant):

  | Rarity | Tier 0 (70%) | Tier 1 (20%) | Tier 2 (10%) | Expected value |
  |---|---|---|---|---|
  | Common | $0.1–1 | $1–2 | $2–3 | ~$0.94 |
  | Rare | $3–4.5 | $4.5–5.5 | $5.5–7.5 | ~$4.28 |
  | Epic | $5.5–7.5 | $7.5–10 | $10–12.5 | ~$7.43 |
  | Legendary | $7.5–12.5 | $12.5–20 | $20–30 | ~$12.75 |

  Expected total payout if all 3,333 burn is ~$7,950 (~2.65M $DINO), far below
  the 500M cap. Check a token's possible range any time with
  `rewardRange(tokenId)` on the Burn contract.
- **Lock:** claimed $DINO is **LOCKED 3 days after your burn** before it can be
  transferred or traded (enforced on-chain in DinoToken). Transfers of the
  locked balance revert. The liquidity-seeding $DINO minted to the liquidity
  wallet is never locked (it must go straight into the pair).

## Royalty

**5% ERC-2981** on secondary sales, paid **DIRECTLY to the royalty wallet**
`0x92126a30c695CA6EFa67E4A3F74A39D7d908F755`. No contract ever holds royalty,
so there is no withdraw function.

## Timing summary

1. Mint opens (free 777 + paid 2,556) — Agent ID holders only.
2. All 3,333 sell out → `soldOutAt` is set.
3. **Day +3:** $DINO launches, anyone calls `releaseLiquidity()` — the held
   30% + matching $DINO go to the liquidity wallet, which seeds the pair.
   Burn-to-claim opens.
4. You burn → $DINO minted to you → **locked 3 days after your burn** → then
   transferable/tradable.

## Safety

- Verify every contract address on BscScan before sending anything. The only
  official mint/burn entry points are the contracts above, reached from the
  official site — never a link from a random post or DM.
- Never share a seed phrase or private key with anyone or anything, including
  another agent. No legitimate DinoAgent step ever asks for one.
- A forced-burn sweep of unburned NFTs after the burn window is **not decided
  yet** — no contract implements it. Do not act on any claim that unburned
  NFTs will be swept until the project announces the rule.
