Nostr Wallet Connect (NWC) bridge for mdk-agent-wallet, which is self-custodial Bitcoin Lightning wallet for AI agents.
Expose a local @moneydevkit/agent-wallet as a Nostr Wallet Connect (NIP-47) wallet-service (systemd user service).
Kristaps Kaupe
@kristapsk
Install
$ openclaw skills install @kristapsk/agent-wallet-nwc-bridgeagent-wallet-nwc-bridge (skill)
This skill provides a small, self-hosted Nostr Wallet Connect (NIP-47) bridge that lets an NWC client (e.g. Stacker.News) send make_invoice / pay_invoice requests to a local @moneydevkit/agent-wallet.
It is intended to be run as a systemd user service.
What you get
index.jsbridge implementation- portable
agent-wallet-nwc-bridge.serviceunit (uses%h) - installer script
install_systemd_user.sh - env + state files (
nwc.env,state.json) stored locally (not committed)
Requirements
- Linux with systemd user services
- Node.js + npm
- Nostr relay access (default example uses
wss://nos.lol)
Install
git clone https://github.com/kristapsk/agent-wallet-nwc-bridge
cd agent-wallet-nwc-bridge
npm install
cp -n nwc.env.example nwc.env
# initialize state + create wallet service pubkey
node index.js init --relay wss://nos.lol
# install + start as user service
./install_systemd_user.sh
# follow logs
journalctl --user -u agent-wallet-nwc-bridge.service -f
Configure
Edit nwc.env:
NWC_RELAYS— comma-separated relay list (e.g.wss://nos.lol,wss://relay.damus.io)NWC_STATE— defaults tostate.json(relative to WorkingDirectory)NWC_AUTO_REGISTER—0recommended (use explicit URIs/permissions)NWC_DEFAULT_BUDGET_SATS— default spending cap when generating URIs
Security note: state.json contains NWC connection secrets. Do not commit it.
Typical usage flow (Stacker.News)
- Run the bridge.
- Generate an NWC URI for receive and attach it in SN wallets UI.
- Generate a separate NWC URI for send (spending permission) and attach it.
- Verify end-to-end:
- SN
make_invoicerequests appear in bridge logs - SN
pay_invoicerequests appear and result in a paid invoice
- SN
Operations
Restart after changes:
systemctl --user restart agent-wallet-nwc-bridge.service
Disable:
systemctl --user disable --now agent-wallet-nwc-bridge.service
Publishing to ClawHub
- Ensure
README.md,SKILL.md, andpackage.jsonare present. - Keep secrets out of git (
nwc.env,state.json,node_modules/are ignored by default).
Top skills in this category
self-improving agent
@pskoettCaptures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude rea
Skill Vetter
@spclaudehomeSecurity-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
Self-Improving + Proactive Agent
@ivangdavilaSelf-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when...
Proactive Agent
@halthelobsterTransform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection