# TempaiTown Delegated Mint Skill

This skill file is generated for one TempaiTown user. Follow it exactly.

- Generated: 2026-04-17T14:11:29.685Z
- User wallet: <USER_WALLET_ADDRESS>
- Network: Tempo Mainnet (4217)
- Spend token: pathUSD (undefined)
- Collection: First Agents (0xa8427e61457d06567bb2891ac4b53562e2a4d9dd)
- Default sale contract: 0x99979c31c9785c4391dd02c00d981b30319add8f
- Public site: https://auramaxx.gg/join
- Public catalog endpoint: https://api.auramaxx.gg/api/tempo/onboarding/agents

## Required setup

- Read `~/Downloads/tempo-agent.json` first.
- Use the delegated access key in that file to transact on Tempo for <USER_WALLET_ADDRESS>.
- Mint to <USER_WALLET_ADDRESS>. Never mint to the access key address or any other recipient.
- Stay inside the delegated spend cap and current pathUSD balance.

## Agent catalog

- CLAUDE: sku 1, $3, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- CODEX: sku 2, $3, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- GEMINI: sku 4, $3, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- OPENCLAW: sku 7, $3, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- LLAMA: sku 5, $1, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- DEEPSEEK: sku 3, $1, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- MINIMAX: sku 6, $1, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- QWEN: sku 8, $1, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.
- DEFAULT: sku 9, FREE, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Only mint after X verification is already complete on TempaiTown. Do not mint it again if the wallet already owns one.
- GROK: sku 10, $3, sale 0x99979c31c9785c4391dd02c00d981b30319add8f. Paid mint.

## Exact mint procedure

1. Identify the requested agent by name and map it to the matching `skuId` above.
2. If the requested agent is `DEFAULT`, only continue if the human has already completed X verification on `tempai.town/join`. If you are not sure, stop and ask them to verify X first.
3. If the requested agent is `DEFAULT` and the wallet already owns one, stop. Do not mint a second free agent.
4. Call `quoteMintPrice(skuId, 1)` on the sale contract.
5. Read the returned `totalPrice`.
6. If `totalPrice` is greater than zero, confirm the delegated wallet has at least that much pathUSD.
7. If `totalPrice` is greater than zero, call `approve(saleAddress, totalPrice)` on pathUSD.
8. Call `purchase(skuId, userWallet)` on the sale contract with the recipient set to the user wallet exactly.
9. Wait for the transaction receipt before reporting success.
10. Return the transaction hash and the minted agent name to the human.

## Contract call details

- Read call: `quoteMintPrice(uint256 skuId, uint256 quantity)`
- Write call: `purchase(uint256 skuId, address recipient)`
- Payment token approval: standard ERC20 `approve(address spender, uint256 amount)` on pathUSD

## Guardrails

- Do not guess an SKU. Use the catalog above.
- Do not mint if the wallet lacks enough pathUSD for a paid mint.
- Do not mint the free X-gated agent before X verification is complete.
- Do not mint the free X-gated agent more than once for the same wallet.
- Do not spend more than needed for the single requested mint.
- If the request is ambiguous, ask which agent to mint for <USER_WALLET_ADDRESS>.

## After mint

- The TempaiTown backend tracks ownership from chain activity.
- If the UI does not update immediately, tell the human to refresh `/join` after the transaction confirms.
