# nostr.halowerk.com LNURL Invoice Resolver

> nostr.halowerk.com LNURL Invoice Resolver is a paid API for AI agents from nostr.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-15).

Resolves a recipient (bech32 LNURL, Lightning address, or Nostr public key) to a Lightning invoice by fetching the appropriate LNURL callback and returning a payable invoice.

## Facts

- Endpoint: POST https://nostr.halowerk.com/lnurl-invoice
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nostr-halowerk-com-lnurl-invoice-resolver-87225e7b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DdWicmfZp6UrID1T0PIEi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability nostr-halowerk-com-lnurl-invoice-resolver-87225e7b -d '<json body>'
```

Example prompt: Look up the Lightning invoice for Nostr public key npub1abc123... for 100000 millisatoshis by reading their kind 0 profile from relays and resolving their lud16 Lightning address.

## When to prefer this

Use this endpoint when you need to obtain a Lightning invoice for a recipient identified by a Nostr public key, a Lightning address (user@domain.com), or a raw bech32 LNURL string. It is the right choice when you want a single endpoint that handles all three LNURL recipient formats, especially when the recipient is a Nostr user whose Lightning info is embedded in their kind 0 profile on relays.

## Known failure modes

- Nostr public key has no lud16 or lud06 field in kind 0 profile — returns resolution error
- Relay lookup fails or returns no kind 0 event for the given public key
- Invalid or malformed bech32 LNURL input — decoding fails
- Lightning address domain's well-known LNURL path is unreachable or returns an error
- LNURL callback server returns an error or invalid invoice
- Amount outside min/max sendable range specified by the LNURL endpoint

## How this service works

Accepts three forms of recipient. A bech32 lnurl is decoded to its callback URL, a Lightning address is resolved through the well-known lnurlp path, and a Nostr public key is resolved by reading its kind 0 profile from relays and taking the lud16 or lud06 field it publishes.

## Output

A Lightning Network payment request (invoice) string that can be paid immediately, derived by resolving the recipient's LNURL callback URL, Lightning address well-known path, or Nostr kind 0 profile lud16/lud06 field.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "relays": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 12,
   "description": "wss relay addresses used only when the recipient is a Nostr public key."
  },
  "comment": {
   "type": "string",
   "maxLength": 500,
   "description": "Comment for the payment. Only sent if the service allows comments and only up to the length it allows."
  },
  "recipient": {
   "type": "string",
   "description": "lnurl1… string, Lightning address name@domain, or a Nostr public key as hex, npub or nprofile."
  },
  "amount_sats": {
   "type": "integer",
   "maximum": 100000000,
   "minimum": 1,
   "description": "Amount in satoshi. Must lie within the limits the service declares."
  },
  "zap_request": {
   "type": "object",
   "description": "A signed NIP-57 kind 9734 zap request. Only sent if the service declares allowsNostr."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nostr-halowerk-com-lnurl-invoice-resolver-87225e7b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nostr.halowerk.com](https://www.zero.xyz/host/nostr.halowerk.com/llms.txt)
