Nice
Had a similar idea a while ago but didn't get around to implement it yet.
https://git.nostrdev.com/freakoverse/DNN/src/branch/main/…
Though working on different assumptions than what you've build.
instead of having an npub publish a SP address, no one does anything, the sender derives an bitcoin address (or any secp256k1-based crypto) from the receiver's npub and sends to him and then notifies him via a nostr event.