@@ -410,34 +410,7 @@ <h3>Firefox Installation</h3>
410410 < section >
411411 < h2 > For Developers</ h2 >
412412
413- < h3 > Python SDK — NostrKey for AI Entities</ h3 >
414- < p > Give your AI its own cryptographic identity. The < code > nostrkey</ code > Python package lets OpenClaw bots generate keypairs, sign events, encrypt data, and connect to Nostr relays.</ p >
415- < pre > < code > pip install nostrkey</ code > </ pre >
416- < pre > < code > from nostrkey import Identity
417-
418- # Create a new AI identity
419- bot = Identity.generate()
420- print(f"npub: {bot.npub}")
421-
422- # Sign a Nostr event
423- event = bot.sign_event(kind=1, content="Hello from an OpenClaw bot!")
424-
425- # Save identity (encrypted)
426- bot.save("my-bot.nostrkey", passphrase="strong-passphrase")</ code > </ pre >
427- < p style ="font-size: 0.875rem; color: var(--text-muted); "> Implements NIP-01 (events), NIP-19 (bech32), NIP-44 (encryption), and NIP-46 (bunker). < a href ="https://loginwithnostr.com/openclaw " style ="color: var(--accent-secondary); "> Learn more about OpenClaw identity</ a > </ p >
428-
429- < div class ="cta-row " style ="margin-bottom: 32px; ">
430- < a href ="https://pypi.org/project/nostrkey/ " target ="nostrkey-web " class ="btn ">
431- < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 "> < path d ="M4 17l6-6-6-6m8 14h8 "/> </ svg >
432- PyPI Package
433- </ a >
434- < a href ="https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src " target ="nostrkey-web " class ="btn btn-secondary ">
435- < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="currentColor "> < path d ="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z "/> </ svg >
436- Python SDK Source
437- </ a >
438- </ div >
439-
440- < h3 > Browser Extension — Build from Source</ h3 >
413+ < h3 > Build from Source</ h3 >
441414 < pre > < code > git clone https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src.git
442415cd nostrkey.browser.plugin.src
443416npm install
@@ -451,12 +424,8 @@ <h3>Browser Extension — Build from Source</h3>
451424# Watch mode
452425npm run watch</ code > </ pre >
453426
454- < div class ="cta-row ">
455- < a href ="support.html " class ="btn ">
456- < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 "> < circle cx ="12 " cy ="12 " r ="10 "/> < path d ="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3m.08 4h.01 "/> </ svg >
457- Browser Support
458- </ a >
459- < a href ="https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src " target ="nostrkey-web " class ="btn btn-secondary ">
427+ < div class ="cta-row " style ="margin-bottom: 32px; ">
428+ < a href ="https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src " target ="nostrkey-web " class ="btn ">
460429 < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="currentColor "> < path d ="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z "/> </ svg >
461430 View on GitHub
462431 </ a >
@@ -492,6 +461,37 @@ <h3>Safari (iOS)</h3>
492461 < li style ="padding-left: 8px; "> Build and Run (⌘R)</ li >
493462 < li style ="padding-left: 8px; "> Settings → Safari → Extensions → Enable NostrKey</ li >
494463 </ ol >
464+
465+ < h3 > Python SDK — NostrKey for AI Entities</ h3 >
466+ < p > Give your AI its own cryptographic identity. The < code > nostrkey</ code > Python package lets OpenClaw bots generate keypairs, sign events, encrypt data, and connect to Nostr relays.</ p >
467+ < pre > < code > pip install nostrkey</ code > </ pre >
468+ < pre > < code > from nostrkey import Identity
469+
470+ # Create a new AI identity
471+ bot = Identity.generate()
472+ print(f"npub: {bot.npub}")
473+
474+ # Sign a Nostr event
475+ event = bot.sign_event(kind=1, content="Hello from an OpenClaw bot!")
476+
477+ # Save identity (encrypted)
478+ bot.save("my-bot.nostrkey", passphrase="strong-passphrase")</ code > </ pre >
479+ < p style ="font-size: 0.875rem; color: var(--text-muted); "> Implements NIP-01 (events), NIP-19 (bech32), NIP-44 (encryption), and NIP-46 (bunker). < a href ="https://loginwithnostr.com/openclaw " style ="color: var(--accent-secondary); "> Learn more about OpenClaw identity</ a > </ p >
480+
481+ < div class ="cta-row ">
482+ < a href ="https://pypi.org/project/nostrkey/ " target ="nostrkey-web " class ="btn ">
483+ < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 "> < path d ="M4 17l6-6-6-6m8 14h8 "/> </ svg >
484+ PyPI Package
485+ </ a >
486+ < a href ="https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src " target ="nostrkey-web " class ="btn btn-secondary ">
487+ < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="currentColor "> < path d ="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z "/> </ svg >
488+ Python SDK Source
489+ </ a >
490+ < a href ="support.html " class ="btn btn-secondary ">
491+ < svg width ="20 " height ="20 " viewBox ="0 0 24 24 " fill ="none " stroke ="currentColor " stroke-width ="2 "> < circle cx ="12 " cy ="12 " r ="10 "/> < path d ="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3m.08 4h.01 "/> </ svg >
492+ Browser Support
493+ </ a >
494+ </ div >
495495 </ section >
496496
497497 < section >
0 commit comments