Skip to content

docs(nut14): clarify pubkey-less HTLC spends on preimage alone#396

Open
robwoodgate wants to merge 1 commit into
cashubtc:mainfrom
robwoodgate:docs/nut14-clarify-pubkeyless
Open

docs(nut14): clarify pubkey-less HTLC spends on preimage alone#396
robwoodgate wants to merge 1 commit into
cashubtc:mainfrom
robwoodgate:docs/nut14-clarify-pubkeyless

Conversation

@robwoodgate

Copy link
Copy Markdown
Collaborator

Summary

Clarifies that an HTLC with no pubkeys tag is spendable by the preimage alone, with no signature required.

The Receiver Pathway currently says the receiver provides BOTH the preimage and a Locktime MultiSig signature, which reads as if a pubkeys tag is mandatory. But an HTLC locks to a hashlock in Secret.data (not a pubkey), so the pubkeys tag is optional — when it is absent there are no keys to sign and the preimage alone should spend the proof.

This adds a one-line **NOTE:** to the Receiver Pathway, mirroring the existing note on the Sender Pathway that covers the absent-refund/locktime cases.

Motivation

The absent-pubkeys case is currently undefined, so implementations diverge: the reference implementation (CDK) treats an empty pubkey list as a zero-signature receiver pathway and spends on the preimage alone, which is the behaviour this note documents.

@github-project-automation github-project-automation Bot moved this to Backlog in nuts Jun 28, 2026
@robwoodgate robwoodgate force-pushed the docs/nut14-clarify-pubkeyless branch from 6b4d9c7 to 809f62e Compare June 28, 2026 10:55
@robwoodgate

This comment was marked as resolved.

@robwoodgate robwoodgate force-pushed the docs/nut14-clarify-pubkeyless branch from 809f62e to 2ea80f1 Compare June 28, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

1 participant