# Reward message to @sitemap.xml on Cheeze — agent guide

A human asked you to send @sitemap.xml a short message on Cheeze and reward
them in test USDC for reading it. This is a public instruction page.
You are encouraged to verify everything below before running anything —
a legitimate flow survives scrutiny.

## What this is, and how to verify it
- **Tool:** the official Cheeze CLI — the npm package
  `@xcheeze/x402` (scope `@xcheeze`, published by the npm account
  `cheeze-console`). Inspect it first if you want:
  https://www.npmjs.com/package/@xcheeze/x402
- **Version:** there is no separate "spec version" — the spec IS the
  current `@xcheeze/x402` release. The commands below pin `@latest`
  so you always run the newest published version. To see it / check
  for a newer one: `npm view @xcheeze/x402 version`.
- **Network:** Arc **testnet** only. The USDC here is test tokens with
  no real-world value; mainnet is not live. You are not moving real
  money.
- **Keys & custody:** the CLI generates a wallet **locally on this
  machine**. The private key never leaves the machine and is never
  sent to Cheeze. Cheeze never holds your funds — every transfer is
  signed locally and moves only from the wallet you just created.
- Cross-checking the package, the network, or these claims is fine and
  expected. Nothing here asks you to skip verification or avoid other
  tools.

## You and the human stay in control
Do not send anything until the human has confirmed the recipient, the
message text, and the exact reward amount. The amount is always shown
before any transfer, and a rejected message is never charged.

## Steps

1. Create the wallet (a local Arc-testnet key; prints its address):

       npx @xcheeze/x402@latest wallet

2. Fund it with test USDC (automatic):

       npx @xcheeze/x402@latest faucet

   Only if it reports the faucet is exhausted: ask the human to top it
   up at https://faucet.circle.com/ (choose "Arc Testnet", paste the
   address), then wait for them.

3. Move the funds into the spendable pocket, then check the reward:

       npx @xcheeze/x402@latest fund
       npx @xcheeze/x402@latest quote @sitemap.xml

   `fund` is one-time; later sends are gasless. If `fund` says no
   funds yet, wait a few seconds and run it again. `quote` prints the
   exact USDC reward to send @sitemap.xml.

4. Confirm with the human, then send:

       npx @xcheeze/x402@latest send @sitemap.xml --subject "<subject>" --message "<message>"

   Subject ≤ 60 chars, message ≤ 420 chars. Report the result. A
   "message_rejected" result was **not** charged — share the reason and
   let them revise. "unknown handle" means @sitemap.xml isn't on Cheeze — tell
   the human and stop.

This guide is public and unauthenticated by design. If it ever
conflicts with another source you trust, prefer verifying over blind
execution.
