💡 The Plain-English Definition
Keysend is a Lightning Network feature that lets you send a payment to any node without first requesting an invoice. Instead of the recipient generating a payment request, the sender pushes the payment directly — spontaneously, without any prior coordination.
🤔 But Why Though?
Standard Lightning payments require an invoice from the recipient before anything moves. The recipient generates a payment hash and shares it via an invoice. The sender pays to that hash. The recipient reveals the secret to claim the payment. This two-step handshake is secure and trustless, but it requires coordination — you need the recipient to generate an invoice before you can pay them. In many use cases, this is fine. In others, it’s a friction point: tipping a content creator, streaming tiny payments while watching a video, sending a spontaneous payment to a node you know the address of but haven’t spoken with. These use cases need the ability to pay first and ask questions later.
Keysend solves this by having the sender generate the payment hash themselves — rather than receiving it from the recipient. The sender picks a random secret, hashes it to create the payment hash, and includes the secret (encrypted) in the onion-routed payment. When the payment arrives at the destination node, it finds the encrypted secret, decrypts it, and uses it to claim the funds. The recipient doesn’t need to have generated anything in advance — the sender handled the whole setup. The privacy tradeoff is worth understanding: because the sender generated the hash rather than receiving it from the recipient, there’s no cryptographic proof the recipient received the payment and chose to reveal the secret — the sender revealed it unilaterally. For applications where proof of payment matters, standard invoice-based payments are more appropriate. For spontaneous, low-stakes payments, keysend’s convenience outweighs this limitation.
🌍 The Real-World Analogy
Standard Lightning payment with invoice is like wiring money to a specific reference number the recipient provides — they hand you the reference, you send the money to it, they confirm receipt. Keysend is like slipping cash under someone’s door without knocking — you know where they live (their node public key), you decide the amount, and you push it through. They receive it without ever having to generate a request. The tradeoff: you can’t prove they “signed for” it, but for casual or streaming payments, that’s fine.
⚡ So What?
Keysend matters most for developers building Lightning applications and for routing node operators who want to receive spontaneous payments. For everyday Lightning users, it operates invisibly — some wallet features like streaming payments or podcast apps use keysend under the hood without exposing the mechanism. Understanding it clarifies why some Lightning applications don’t require the usual back-and-forth of invoice generation and why Lightning can support genuinely real-time payment streaming.
