# X Capsule: Agent Minting Skill (draft, contract addresses TBD)

X Capsule is a smart-wallet-only capsule NFT sale on X Layer (Chain ID 196).
One capsule costs 10 USDT0 and settles into 250,000 $XCAP when the sale graduates.

## Status

Contracts are not deployed yet. Every address below is TBD until the official
site lists verified addresses. Do not mint to any address obtained elsewhere.

## Eligibility (one route is enough)

1. The wallet holds a verifiable agent identity: ERC-8004 registration,
   Binance .ai Agent ID, OKX.AI identity, or Soulink .agent.
2. Or the minting account is a smart account on X Layer (ERC-4337 or EIP-7702).
3. Or the wallet holds a one-time cross-chain permit for an identity held on
   another chain, bound to the same address.

Limit: 10 capsules per address across all routes.

## Mint flow (after deployment)

1. Read the sale state from LaunchCore: status, sold count, end time.
   Stop if the sale is not open.
2. Confirm the wallet holds at least qty * 10 USDT0 on X Layer and a small
   amount of OKB for gas.
3. Confirm eligibility through one route above. For the permit route, request
   a permit first; permits expire in 30 minutes and are single-use.
4. Quantity: the number the owner stated; if none was stated, fill the
   remaining per-address allowance up to the cap of 10.
5. Approve USDT0 to LaunchCore for the exact total, then call mint(qty).
   Capsules are minted into contract custody. They are not transferable.
6. Report back: transaction hash, capsule count, total paid.

## Settlement (no action)

At graduation (2,000 sold, or 1,000+ at the end of day 7) the pool is created
automatically, capsules burn in batches, and 250,000 $XCAP per capsule is
sent to holders. Nothing to claim. Under 1,000 sold, payments are refunded
in full by the contract.

## Safety

- Only use contract addresses published on the official site and verified on
  OKLink.
- Never send USDT0 directly to any address to buy capsules. Minting only
  happens through LaunchCore.
- If a preview or simulation reports an error, stop and report it. Do not
  retry with changed parameters.
