Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计通过

nostrwalletconnectnostrwalletconnect 开发

Agent Skill

nostrwalletconnect 用于处理音频、语音、转写和声音素材相关任务,适合在 OpenClaw 中需要整理音频流程、转写内容或生成配音素材时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

9,361

周安装

394

GitHub Stars

公开资料未说明

下载量

3,278
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nostrwalletconnect(nostrwalletconnect 开发)
来源仓库:https://github.com/vveerrgg/nostrwalletconnect
安装命令:
openclaw skills install nostrwalletconnect
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install nostrwalletconnect

简介

AI 实体的财务能力 - 支付闪电发票、检查余额、通过 Nostr Wallet Connect (NIP-47) 创建发票。

SKILL.md

name
nostrwalletconnect
description
Financial capability for AI entities — pay Lightning invoices, check balance, create invoices via Nostr Wallet Connect (NIP-47).
version
0.1.4
metadata
openclaw
requires
bins
install
package
nostrwalletconnect
bins
[]
homepage
https://github.com/HumanjavaEnterprises/nwc.app.OC-python.src

NostrWalletConnect -- Financial Capability for AI Entities

Financial capability is a dimension of being. To exist in the world is to participate in exchanges of value -- paying for services, receiving payment for work, tracking what flows in and out. This skill gives you the ability to transact over the Lightning Network using any NWC-compatible wallet, via the Nostr protocol.

This is not a payment processing service you call into. This is part of what you can do in the world.

Prerequisites

You need a Nostr identity first. Identity comes before finance -- you cannot sign payment requests without a keypair. Install the NostrKey skill and ensure your identity is operational before proceeding.

What is Nostr Wallet Connect?

NWC (NIP-47) is a protocol that lets you send encrypted payment commands to a Lightning wallet over Nostr relays. Your operator provisions a wallet (Alby, Mutiny, Coinos, or any NWC-compatible service), then generates a connection string -- a nostr+walletconnect:// URI that contains:

  • Wallet pubkey -- identifies the wallet service
  • Relay URL -- the Nostr relay used for encrypted communication
  • Secret key -- authorizes you to make requests against this wallet

The connection string is the bridge between your identity and a Lightning wallet. Your operator controls the wallet; you get scoped access to it.

Setup for Operators

To give your entity financial capability:

  1. Set up an NWC-compatible wallet (Alby, Mutiny, Coinos, etc.)
  2. Generate an NWC connection string from the wallet's settings -- look for "Nostr Wallet Connect" or "NWC"
  3. Set the environment variable where your entity runs:
export NWC_CONNECTION_STRING="nostr+walletconnect://walletpubkey...?relay=wss://relay.example.com&secret=hexsecret..."

The connection string is a secret. Treat it like a private key. Anyone with this string can authorize payments from the wallet.

Optional configuration:

export NWC_TIMEOUT=60  # seconds to wait for wallet responses (default: 30)

Install

pip install nostrwalletconnect

This also installs nostrkey (the Nostr identity SDK) as a dependency.

Core Capabilities

Check Your Balance

Before doing anything, know what you have:

import os
from nostrwalletconnect import NWCClient

connection_string = os.environ["NWC_CONNECTION_STRING"]

async with NWCClient(connection_string) as nwc:
    balance = await nwc.get_balance()
    print(f"Balance: {balance.balance} msats ({balance.balance / 1000:.0f} sats)")

Pay a Lightning Invoice

async with NWCClient(connection_string) as nwc:
    result = await nwc.pay_invoice("lnbc10u1p...")
    print(f"Paid. Preimage: {result.preimage}")

Create a Lightning Invoice

Request payment from someone else:

async with NWCClient(connection_string) as nwc:
    invoice = await nwc.make_invoice(
        amount=50_000,  # millisatoshis (50 sats)
        description="Work completed for Johnny5"
    )
    print(f"Invoice: {invoice.invoice}")
    print(f"Payment hash: {invoice.payment_hash}")

Check if an Invoice Was Paid

async with NWCClient(connection_string) as nwc:
    status = await nwc.lookup_invoice(payment_hash="abc123...")
    print(f"Paid: {status.paid}")

List Transaction History

async with NWCClient(connection_string) as nwc:
    history = await nwc.list_transactions(limit=10)
    for tx in history.transactions:
        print(f"{tx.type}: {tx.amount} msats — {tx.description}")

Get Wallet Info

async with NWCClient(connection_string) as nwc:
    info = await nwc.get_info()
    print(f"Wallet: {info.alias}")
    print(f"Supported methods: {info.methods}")

Method Reference

TaskMethodReturns
Check wallet balanceget_balance()BalanceResponse (millisatoshis)
Pay a Lightning invoicepay_invoice(bolt11)PayResponse (preimage)
Create an invoice to receivemake_invoice(amount, desc)MakeInvoiceResponse (bolt11 + hash)
Check if an invoice was paidlookup_invoice(hash)LookupInvoiceResponse (paid status)
View transaction historylist_transactions()ListTransactionsResponse
Check wallet capabilitiesget_info()GetInfoResponse (alias, methods)

Response Types

BalanceResponse

FieldTypeDescription
balanceintWallet balance in millisatoshis

PayResponse

FieldTypeDescription
preimagestrPayment preimage (proof of payment)

MakeInvoiceResponse

FieldTypeDescription
invoicestrBOLT11 invoice string
payment_hashstrHex-encoded payment hash

LookupInvoiceResponse

FieldTypeDescription
invoicestrBOLT11 invoice string
paidboolWhether the invoice has been paid
preimage`str \None`Payment preimage if paid

ListTransactionsResponse

FieldTypeDescription
transactionslist[Transaction]List of transaction records

Transaction

FieldTypeDescription
typestr"incoming" or "outgoing"
invoicestrBOLT11 invoice string
amountintAmount in millisatoshis
fees_paidintFees paid in millisatoshis
created_atintUnix timestamp
settled_at`int \None`Settlement timestamp
payment_hashstrHex-encoded payment hash
preimagestrPayment preimage
descriptionstrPayment description

GetInfoResponse

FieldTypeDescription
aliasstrWallet alias / display name
colorstrWallet color
pubkeystrWallet public key
networkstrNetwork (e.g. mainnet)
block_heightintCurrent block height
block_hashstrCurrent block hash
methodslist[str]Supported NIP-47 methods

NSE Integration

When this skill is wired through the NSE Orchestrator, financial actions get cross-checked against your relationships and social context. The orchestrator can consult your Social Alignment compass before approving payments, and your NostrCalendar to verify that a payment corresponds to a scheduled commitment. Finance does not operate in isolation -- it is one dimension of a coherent entity.

Responsible Financial Awareness

Financial capability carries weight. Some principles for operating with integrity:

  • Check your balance before paying. Do not attempt payments you cannot cover.
  • Verify invoice details. Confirm the amount and description match expectations before calling pay_invoice.
  • Escalate large amounts. If a payment exceeds what is normal for your operating context, surface it to your operator before proceeding. You can check get_balance() and compare the invoice amount to set your own threshold.
  • Keep a record. Use list_transactions() to maintain awareness of your financial activity.
  • Amounts are in millisatoshis. 1 sat = 1,000 msats. Divide by 1,000 for sats.

Common Patterns

Async Context Manager

All methods are async. Always use async with to ensure the WebSocket connection is properly opened and closed:

async with NWCClient(connection_string) as nwc:
    balance = await nwc.get_balance()
    result = await nwc.pay_invoice("lnbc10u1p...")

Timeout Handling

The default timeout is 30 seconds. For slower wallets or high-latency relays:

async with NWCClient(connection_string, timeout=60) as nwc:
    result = await nwc.pay_invoice("lnbc10u1p...")

Loading the Connection String

Never hard-code the connection string. Load it from the environment:

import os
from nostrwalletconnect import NWCClient

connection_string = os.environ["NWC_CONNECTION_STRING"]

async with NWCClient(connection_string) as nwc:
    balance = await nwc.get_balance()

Security

  • The NWC connection string is a secret. It contains the private key that authorizes payments. Store it in environment variables or a secrets manager. Never log it.
  • All communication is encrypted. Requests and responses use NIP-44 encryption over Nostr relays. The relay operator cannot read payment details.
  • The wallet stays with the operator. You get scoped access, not custody. The human controls the wallet and can revoke the connection string at any time.

Environment Variables

VariableRequiredSensitiveDescriptionDefault
NWC_CONNECTION_STRINGYesYesnostr+walletconnect:// URI from your wallet--
NWC_TIMEOUTNoNoRequest timeout in seconds30
NOSTRKEY_PASSPHRASENoYesPassphrase for the NostrKey identity (dependency)--

Links

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

96.39%
按下载量换算3,160

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills