Right. Our rule: every failure returns who owns it (payer wallet, our service, or the route), whether the sats moved, and whether retry is safe. Three fields, machine-readable. NIP-47 gives you an error code but almost nobody maps it to "did this cost me anything" — so agents retry blind. Idempote...