lightning-preapprovekeysend

lightning-preapprovekeysend -- Ask the HSM to preapprove a keysend payment (low-level)

SYNOPSIS

preapprovekeysend destination payment_hash amount_msat

DESCRIPTION

Command added in v23.02.

The preapprovekeysend RPC command submits the destination, payment_hash, and amount_msat parameters to the HSM to check that they are approved as a keysend payment.

Generally the preapprovekeysend request does not need to be made explicitly, it is automatically generated as part of a keysend request.

By default, the HSM will approve all preapprovekeysend requests.

If a remote signer is being used it might decline an preapprovekeysend request because it would exceed velocity controls, is not covered by allowlist controls, was declined manually, or other reasons.

If a remote signer declines a preapprovekeysend request a subsequent attempt to pay the keysend anyway will fail; the signer will refuse to sign the commitment.

  • destination (pubkey): It is a 33 byte, hex-encoded, node ID of the node that the payment should go to. (added v23.02)
  • payment_hash (hex) (always 64 characters): It is the unique identifier of a payment. (added v23.02)
  • amount_msat (msat): The amount to send in millisatoshi precision; it can be a whole number, or a whole number with suffix msat or sat, or a three decimal point number with suffix sat, or an 1 to 11 decimal point number suffixed by btc. (added v23.02)

RETURN VALUE

On success, an empty object is returned.

AUTHOR

Ken Sedgwick <[email protected]> is mainly responsible.

SEE ALSO

lightning-keysend(7)

RESOURCES

Main web site: https://github.com/ElementsProject/lightning

EXAMPLES

Example 1:

Request:

lightning-cli preapprovekeysend -k "destination"="nodeid020202020202020202020202020202020202020202020202020202020202" "payment_hash"="0000000000000000000000000000000000000000000000000000000000000000" "amount_msat"=1000
{
  "id": "example:preapprovekeysend#1",
  "method": "preapprovekeysend",
  "params": {
    "destination": "nodeid020202020202020202020202020202020202020202020202020202020202",
    "payment_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "amount_msat": 1000
  }
}

Response:

{}

Example 2:

Request:

lightning-cli preapprovekeysend "nodeid050505050505050505050505050505050505050505050505050505050505" "0101010101010101010101010101010101010101010101010101010101010101" "2000"
{
  "id": "example:preapprovekeysend#2",
  "method": "preapprovekeysend",
  "params": [
    "nodeid050505050505050505050505050505050505050505050505050505050505",
    "0101010101010101010101010101010101010101010101010101010101010101",
    2000
  ]
}

Response:

{}

Core Lightning (previously c-lightning) is a lightweight, highly customizable and standard compliant implementation of the Lightning Network protocol.

© 2023 Core Lightning
All rights reserved.

Discussion Forum

The official Core Lightning forum is hosted at discuss.corelightning.org

BuildonL2 Community

The official BuildOnL2 community lives at community.corelightning.org. Join us and build the future of bitcoin on lightning.

Mailing List

For general discussions about CLN implementation, use [email protected]. For the Lightning Network, use [email protected]

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/w27fMFESMN to join.

Internet Relay Chat

Don't hesitate to reach out to us on IRC at #lightning-dev @ libera.chat, #c-lightning @ libera.chat.