ここらへんを見る限り、nostr-toolsはなんやかんやでブラウザでも動くようになっていそう(で、それを実証するテストがないので実装したよというPR)
https://github.com/nbd-wtf/nostr-tools/pull/111#discussion_r1103972422
> noble-secp256k1 requires crypto here, but this line is never loaded by esbuild when bundling for the browser because crypto is set to false here.
Discussion
noble-secp256k1 は Chrome Extension で動きました。あと、ちょっとうろ覚えですが esbuild で --format=esm するとよかったような気もします。