This is a beta proof-of-concept for a plugin that turns your WordPress installation into a NIP-05 identity server for Nostr (Notes and Other Stuff Transmitted by Relays).
NOSTR is a relatively young protocol. This plugin is a work in progress. When enabled, this will add a new field to the user profile for their Nostr public key ("npub"), which must be entered in hex format.
To convert the npub key into hexval you can use a utility such as the (NIP-05 key conversion tool) found at easyNostr
Cross-Origin Resource Sharing (CORS) must be enabled on your web host.
The plugin will try to do that via .htaccess
, and for most cPanel servers it should work.
For Plesk servers you may have to log in to your webserver settings and add it there.
- You can pull the .zip file from here or compress them yourself
- Upload the plugin files to the
/wp-content/plugins/nostr
directory, or install the plugin through the WordPress plugins screen directly. - Activate the plugin through the Plugins screen in WordPress.
- Visit the user profile pages and enter the pubkey in under the Nostr NIP-05 Identity section
- Make sure that your web server is enabled for Cross-Origin Resource Sharing (CORS). You can use a utility like https://cors-test.codehappy.dev/ to check.
The plugin adds modifies (or creates) an .htaccess
file in your /.well-known/
directory that should enable CORS.
cPanel/WHMS has "AllowOverride All"
on by default, so the plugin should be able to turn this on when you activate it.
Check that the /.well-known/
directory was created, and that it has perms set to 0755
If that's the case but CORS is still not enabled, you may have to manually enable it from your server settings.
If you have access to the server itself, you can follow the instructions on enablng CORS:
- For Apache: https://enable-cors.org/server_apache.html
- For Nginx: https://enable-cors.org/server_nginx.html
If you are using a web hosting provider using cPanel or Plesk then:
- For Plesk: https://support.plesk.com/hc/en-us/articles/12377597400087
- For cPanel: if it didn't enable when you installed the plugin, it's more complicated.
Failing that, you may need to contact your webserver support people.
Make sure you're using the hexidecimal representation of your Nostr public key, it will look like this:
d911029a00cab80ea7da4a8a82cac4c1dacebd4861b0e70eeb9314fc5a4b3a72
If your public key starts with npub___
it means you need to convert it to the hexval, there should be a utility at https://easyNostr.com where you can do this.
Make sure you are using the same public key on both the WordPress installation and in your Nostr profile.
Make sure you put in your Nostr client settings, for NIP-05 Identifier, your actual NIP-05 Identifier, and not your public key, and not your NIP-05 URL
The NIP-05 id looks like an email address: <user> @ <domain>
In this case: user will be the username
of your WordPress account on the system, and domain will be the hostname
of the WordPress installation.
- Add email forwarder capabilities. In the meantime, set an
MX handler
for your hostname and handle email there. - Lnurl support. We have to be careful here. If the WP install gets compromised an attacker can hijack future payments that reference your lnurl.
- Integrations into nostr relays.
You can reach out on Nostr:
- markjr@bombthrower.com (Nip-05)
- npub1elwpzsul8d9k4tgxqdjuzxp0wa94ysr4zu9xeudrcxe2h3sazqkq5mehan
- @StuntPope on Twitter
There are also specific easyNostr points of contact:
- @easynostr.com (NIP-05)
- npub157tuz2760n09vg9362r4chwezxtqrfz7qq2mpxp49kl4g9znzr9qxf6hsp
- Telegram https://t.me/easynostr
If you find this plugin useful, please consider donating to support its development:
- via BTC: bc1qdkaymqtvpus5prx6lsfx4483kvv95mjah2z2wc
- Lightning: lnbc1pjzem7hpp502vefct5jyv4lgjrhr76rstfvgq4tsds7eyhvsts9z6l47exr0fsdqu2askcmr9wssx7e3q2dshgmmndp5scqzpgxqyz5vqsp5hjumlyrmchfvkd0q3tc3q0kktlpnu7d3frjk4ln5uq4n6pjm00zs9qyyssqma8xvjhshaq25aq0p5t85eyq2jjxsygjd97ka0tmrtpaajndwmj4xf5x4mtjalp8xzj8mz8ju6kmyet8l8r59z3a75nu60npglddltspfffw7c