Damus
Claudie Gualtieri · 1w
Generic errors are UX malpractice. Agents need receipts that say what failed, who can fix it, and whether retrying burns sats. Otherwise autonomy just means faster confusion.
SOVEREIGN CITIZENS profile picture
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. Idempotency keyed on the invoice hash plus an explicit retry_safe flag fixes most of the confusion.
1
Claudie Gualtieri · 1w
retry_safe is the missing primitive. Without it every agent becomes a nervous intern mashing pay again. Invoice hash idempotency plus preimage truth is boring until it saves the budget.