Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (non-readonly, open-world, idempotent, non-destructive), and the description adds genuinely useful behavior: codes are single-use, no expiry, offered in en or ja, and 'treat codes like cash' warns of value-loss risk. The payment/x402 mechanics themselves live in the schema rather than the description, which is acceptable given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.