LIGHTNING-DECODEPAY(7)

NAME

lightning-decodepay -- Command for decoding a bolt11 string (low-level)

SYNOPSIS

decodepay bolt11 [description]

DESCRIPTION

The decodepay RPC command checks and parses a bolt11 string as specified by the BOLT 11 specification.

RETURN VALUE

On success, an object is returned, containing:

•   currency (string): the BIP173 name for the currency

•   created_at (u64): the UNIX-style timestamp of the invoice

•   expiry (u64): the number of seconds this is valid after timestamp

•   payee (pubkey): the public key of the recipient

•   payment_hash (hash): the hash of the payment_preimage

•   signature (signature): signature of the payee on this invoice

•   min_final_cltv_expiry (u32): the minimum CLTV delay for the final node

•   amount_msat (msat, optional): Amount the invoice asked for

•   description (string, optional): the description of the purpose of the purchase

•   description_hash (hash, optional): the hash of the description, in place of description

•   payment_secret (hash, optional): the secret to hand to the payee node

•   features (hex, optional): the features bitmap for this invoice

•   payment_metadata (hex, optional): the payment_metadata to put in the payment

•   fallbacks (array of objects, optional): onchain addresses:

    •   type (string): the address type (if known) (one of "P2PKH", "P2SH", "P2WPKH", "P2WSH", "P2TR")

    •   hex (hex): Raw encoded address

    •   addr (string, optional): the address in appropriate format for type

•   routes (array of arrays, optional): Route hints to the payee:

    •   hops in the route:

    •   pubkey (pubkey): the public key of the node

    •   short_channel_id (short_channel_id): a channel to the next peer

    •   fee_base_msat (msat): the base fee for payments

    •   fee_proportional_millionths (u32): the parts-per-million fee for payments

    •   cltv_expiry_delta (u32): the CLTV delta across this hop

•   extra (array of objects, optional): Any extra fields we didn't know how to parse:

    •   tag (string): The bech32 letter which identifies this field (always 1 characters)

    •   data (string): The bech32 data for this field

Technically, the description field is optional if a description_hash field is given, but in this case decodepay will only succeed if the optional description field is passed and matches the description_hash. In practice, these are currently unused.

AUTHOR

Rusty Russell <rusty@rustcorp.com.au> is mainly responsible.

SEE ALSO

lightning-pay(7), lightning-getroute(7), lightning-sendpay(7).

BOLT #11 <https://github.com/lightning/bolts/blob/master/11-payment-encoding.md>.

RESOURCES

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