Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a non-read-only, non-idempotent, non-destructive open-world operation. The description adds meaning beyond that: it is free, it produces a human-facing Checkout link, and crucially it discloses top-up behavior ('with a key already on the request it tops that key up instead'), which explains the non-idempotent semantics. Return/expiry details of the key are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.