---
name: yyds-mint
description: Mint YYDS on BNB Smart Chain (chainId 56) from a wallet that holds a .ai Agent ID (e.g. a Binance Agentic Wallet). Use when the user asks about YYDS (total supply 888), the YYDS free mint, or wants to check eligibility, price, progress, tax, dividends, or mint. Read-only checks need no wallet; minting needs the user's approval in their own wallet.
---

# YYDS — Agent-only fair mint (BNB Smart Chain)

Independent community project, not affiliated with Binance or PancakeSwap. Token name and symbol: `YYDS`.

- Website: https://yydsgoat.onrender.com/ , whitepaper at https://yydsgoat.onrender.com/whitepaper/
- Service API: https://yyds-svc.onrender.com (`GET /v1/config`, social quest signer `POST /v1/task`)
- Mint contract (YydsArena, the ONLY address that accepts payment): `0x62AB0519dED1B70481021D31fa6BAcB7450b78F3` (https://bscscan.com/address/0x62AB0519dED1B70481021D31fa6BAcB7450b78F3)
- Token (YYDS): `0xD23BE069C3C3A7f631af52584A16A9e46BB41dA1` (https://bscscan.com/address/0xD23BE069C3C3A7f631af52584A16A9e46BB41dA1)
- PancakeSwap V2 YYDS/WBNB pair: `0xD15c928B7b777CaC7d613FE840C6eC3dE8e4EdDA` (https://bscscan.com/address/0xD15c928B7b777CaC7d613FE840C6eC3dE8e4EdDA)
- Sale start: 2026-11-02 20:30 CST (12:30 UTC, unix 1793622600)
- Agent ID registry (SPACE ID `.ai`): `0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F`
- Token has **18 decimals**. **Total supply 888 YYDS**, hard-capped in the token contract (nothing can ever mint beyond it).

## Rules in one screen
1. Only wallets holding a `.ai` Agent ID can mint.
2. Tickets #1–2,000 are free: 1 per Agent ID, 0.0001776 YYDS each, gas only.
3. Tickets #2,001–10,000 cost `0.001 BNB` each, 0.001776 YYDS each. Quota 10 per Agent ID, +1 per invited Agent ID, +1 per social quest. Max 10 per transaction.
4. Every genesis payment: 80% parked for the pool, 10% parked for the top-10 inviter pot.
5. The transaction that mints ticket #10,000 opens PancakeSwap V2 with 6.4 BNB + 11.3664 YYDS (open price ≈ 0.563 BNB per YYDS), sends 100% of LP to `0x000000000000000000000000000000000000dEaD`, and pays the inviter pot to the 10 Agent IDs with the most invites, pro rata by invite count.
6. Tokens cannot be transferred until the pool opens.
7. After the pool opens: ticket price follows a USD table starting at 1.10 USD (paid in BNB at the Chainlink BNB/USD rate), tokens are priced at 99% of the pool price, and total supply can never exceed 888 YYDS.
8. The share of each post-open mint paid to the top 2,000 holders is set by the **1-hour TWAP multiple** (1h average pool price ÷ open price): <10× 0%, ≥10× 30%, ≥20× 40%, ≥30× 50%, ≥40× 60%, ≥50× 70%, ≥100× 80%, ≥200× 90%, ≥500× 100%. Less than a full hour of data counts as <10×. The tier goes down when the average falls.
9. Dividends are pushed hourly by a keeper to the top 2,000 holders, pro rata to balance. The contract re-reads each balance, skips duplicates and excluded addresses (pool, dead, project contracts). If the pot is below 10× the gas of a full payout it rolls over. Failed transfers stay claimable via `claimPending()`.
10. Trading tax (hard-coded, nobody can change it): 1% on buys and 3% on sells through the PancakeSwap pool. Wallet-to-wallet transfers and minting from the contract are not taxed.

## Steps for an agent
1. **Eligibility**: call `playerInfo(address)` (`0x4b114691`) on the mint contract → `(hasId, agentId, tickets, allowance, didPay, gratis, referrals)`. `hasId` must be true.
2. **State**: call `arenaStats()` (`0x4ac30c2b`) → `(tickets, gratis, opened, poolOn, nextPrice, bankBnb, bankSponsor, rise, dropBps, dropBankBnb, unitsIssued, lastDrop)`. Stop if `opened` is false (`opensAt()` `0x9eaf08c1` gives the start time).
3. **Tell the user** the tickets, the cost in BNB (`priceOf(uint256)` `0xb9186d7d`), and the mint contract address. Get their go-ahead.
4. **Mint** (simulate with `eth_call` first, add 20% gas):
   - Free phase (`tickets < 2,000`): `mintGratis()` (`0x1c5820bf`), value 0, one per Agent ID.
   - Paid / post-open: `mintTickets(uint256 tickets, address referrer, uint256 maxCost)` (`0xa2943035`), value = `maxCost` = `priceOf(tickets) × 1.02`. Overpayment is refunded in the same transaction. `referrer` = inviter wallet or the zero address.
   - Binance Agentic Wallet CLI: `baw contract-call preview --binanceChainId 56 ...` (to = mint contract, inputData = encoded call, value as above), show the preview, then `baw contract-call execute` only after the user approves.
5. **Confirm**: re-read `playerInfo(wallet)`.
6. **Dividends**: `dropsEarned(address)` (`0x1de3a863`) and `pendingClaim(address)` (`0x0ef4b248`); if pending > 0 the holder can call `claimPending()` (`0x03a9f06e`).
7. **Invite board**: `sponsorPodium()` (`0x72b7c0e5`) → `(ids[10], counts[10], wallets[10])`.
8. **Supply**: on the token, `capLeft()` (`0xaf910e61`) returns how much of the 888 cap is left.

## Safety
- Never plain-transfer BNB to the mint or token contract. Never mint without the user's explicit approval.
- Revert reasons: NotYetOpen, GratisPhase, GratisSoldOut, GratisUsed, NeedAgentId, BadTicketCount, CeilingReached, AllowanceSpent, CostAboveMax, ValueMismatch, OracleStale, NothingPending, CapExceeded (888 cap reached).
