Here are a few #zapathon learnings:
+ the nostr community is the best
obvious
+ we have quite some moving parts:
the clients sends the pay event, the wallet pays the invoice and sends an event back, the recipient must publish a zap event, which needs to go to multiple relays and the client needs to receive the zap event.
If a client only sends the pay event and waits for a zap event quite some things can go wrong in between.
For example the recipient fails to publish the zap event or the relays block the zap event.
I think clients should always give users feedback from the pay response.
+ scaling publishing zaps is a team effort
for example our zapper sees some errors for publishing zap events: rate-limiting from relays, rejections from paid relays, timeouts.
Zap publishing needs to get more stable here and as zap events get more important (and people pay) we should have some retry algorithm to publish to relays.
+ nostr and zapathons are unpredictable
it is hard to apply anomaly detection when 100x is normal