Repeat checks are safe
Verification is idempotent: asking about the same transaction twice always converges on the same stored answer, which is what makes polling safe.
How it works
No black box. Here is every step, including the four checks that must pass before a payment is allowed to say Paid.
For merchants
Connect a wallet and sign a plain message. It is not a transaction and cannot move funds — it just proves you control the address that will receive payments.
Pick ETH or USDG, enter an amount, optionally attach an invoice id and description. You get a link and a QR immediately.
The dashboard shows every link and its status. When the chain confirms a payment, the row flips to Paid with the transaction hash attached.
For your customer
They see the amount, the asset, the network, your receiving address and a QR code. No account and no signup.
Scan the QR, or connect and press Pay. Their wallet shows the transaction; they approve it. Droppy never touches their keys.
The page tracks the transaction and updates itself as confirmations arrive, ending with the hash and an explorer link.
Verification
All four run on the server, against the chain. A wallet reporting that it submitted a transaction is never treated as evidence of payment, because a browser can claim anything.
Edge cases
Verification is idempotent: asking about the same transaction twice always converges on the same stored answer, which is what makes polling safe.
A hash recorded against a link cannot settle another, enforced in the application, in a locking transaction, and by a unique database index.
Expiry is derived when a link is read, so a link that has passed its window reports as expired even if nothing swept it.
Create your first payment link in under a minute. No signup form, no API key.