Simple account storage for Nostr identities.
Noas is primarily an API that stores NIP-49 encrypted keys, relay lists, and profile images. Keep your private key safe and encrypted, retrieve it when you need it, and manage your account in one place.
Create New Account
Register with username + email + password. Verification is sent to your account email.
Next Step
Open your verification email and continue at /verify?token=....
Account Portal
Sign in to retrieve your encrypted key, update relays, or delete your account.
Account Details
No profile picture uploaded
—
—
—
—
Update Account
Each account update is handled separately.
Delete Account
Deleting your account is permanent. Make sure you have saved your private key somewhere safe before continuing.
Register
Create account and send verification email.
POST /api/v1/auth/register
Verify (GET/POST)
Preview token and verify using password hash. Verify responses include relay_allow summary for NIP-86 allowpubkey relay sync.
GET /api/v1/auth/verify
POST /api/v1/auth/verify
Resend
Resend verification link; UI clients apply cooldown locally.
POST /api/v1/auth/resend
Sign in
Authenticate with your password hash and retrieve your encrypted key.
POST /api/v1/auth/signin
Update
Rotate password, pubkey, and encrypted key together, or update relays separately.
POST /api/v1/auth/update
Delete
Remove your account after confirmation.
POST /api/v1/auth/delete
Profile Picture
Set a profile image during registration or account update, then fetch it by pubkey or username with Last-Modified caching.
POST /api/v1/auth/register (optional picture fields)
POST /api/v1/auth/update (updates.profile_picture_*)
GET /api/v1/picture/:pubkey
GET /api/v1/picture/:name
NIP-05
Verify usernames with standard NIP-05 lookups.
GET /.well-known/nostr.json
Health
Check service status.
GET /api/v1/health
NIP-46
Remote signer discovery, connection bootstrap, and encrypted request handling for active accounts.
GET /api/v1/nip46/info
GET /api/v1/nip46/connect/:username
POST /api/v1/nip46/request
POST /api/v1/nip46/nostrconnect
Example
Registration payload (auto-generate keypair):
{
"username": "alice",
"password": "securepassword123",
"redirect": "https://nodex.example.com"
}
Registration payload (client-provided keypair):
{
"username": "alice",
"password_hash": "sha256_hex_of_password",
"public_key": "64-char hex pubkey",
"private_key_encrypted": "ncryptsec1...",
"redirect": "https://nodex.example.com"
}
NIP-86 note: when NIP86_RELAY_URLS is configured, verification triggers relay JSON-RPC allowpubkey calls for the verified pubkey.
NIP-46 note: remote signing only works for accounts created through signup with a raw password that Noas stored for later key unlock.