Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses only that money is charged and a balance credited. It says nothing about irreversibility, refunds, double-charge protection via the idempotency_key, failure modes such as a missing stored method or declined charge, or whether the ledger update is atomic with the charge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.