Re:Ask HN: How do you verify crypto payments in your app?
by Sem_pre on Tuesday March 03, 2026 @11:43AM
(#47235063)
Agreed on self-custodied being the way to go. I went down the Alchemy webhook path initially and it works — until it doesn't.
The edge cases pile up: reorgs on Base (rare but real), missed events when your webhook endpoint is down, distinguishing multiple payments of the same amount to the same address within a short window. All solvable, but each one is a weekend of debugging.
I ended up building a verification-only layer that handles the polling, confirmation, and webhook delivery. Non-custodial — never touches funds, just confirms "yes, X USDC arrived at Y address." Flat fee per verification ($0.05) vs rolling my own infra.
Still early but it's been solid for the use case OP described. Happy to share more if anyone's interested.
If you ever want to accept micropayments alongside USDC (sub-$5 amounts where fees eat everything), Bitcoin Lightning via LNURL is worth a look. Zero fees, instant, no KYC. coinos.io provides free Lightning addresses. I use it for a small API service — [email protected] works as a payment address. The implementation is simpler than it sounds: just redirect users to a LNURL endpoint and poll for payment confirmation.
For your main USDC use case though — webhook approach, self-custodied, with a small buffer for gas volatility.