{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": [ "currency", "created_at", "expiry", "payee", "min_final_cltv_expiry", "payment_hash", "signature" ], "additionalProperties": false, "properties": { "currency": { "type": "string", "description": "the BIP173 name for the currency" }, "created_at": { "type": "u64", "description": "the UNIX-style timestamp of the invoice" }, "expiry": { "type": "u64", "description": "the number of seconds this is valid after *timestamp*" }, "payee": { "type": "pubkey", "description": "the public key of the recipient" }, "msatoshi": { "type": "u64", "deprecated": true }, "amount_msat": { "type": "msat", "description": "Amount the invoice asked for" }, "payment_hash": { "type": "hex", "description": "the hash of the *payment_preimage*", "maxLength": 64, "minLength": 64 }, "signature": { "type": "signature", "description": "signature of the *payee* on this invoice" }, "description": { "type": "string", "description": "the description of the purpose of the purchase" }, "description_hash": { "type": "hex", "description": "the hash of the description, in place of *description*", "maxLength": 64, "minLength": 64 }, "min_final_cltv_expiry": { "type": "u32", "description": "the minimum CLTV delay for the final node" }, "payment_secret": { "type": "hex", "description": "the secret to hand to the payee node", "maxLength": 64, "minLength": 64 }, "features": { "type": "hex", "description": "the features bitmap for this invoice" }, "fallbacks": { "type": "array", "description": "onchain addresses", "items": { "type": "object", "required": [ "type", "hex" ], "additionalProperties": false, "properties": { "type": { "type": "string", "description": "the address type (if known)", "enum": [ "P2PKH", "P2SH", "P2WPKH", "P2WSH" ] }, "addr": { "type": "string", "description": "the address in appropriate format for *type*" }, "hex": { "type": "hex", "description": "Raw encoded address" } } } }, "routes": { "type": "array", "description": "Route hints to the *payee*", "items": { "type": "array", "description": "hops in the route", "items": { "type": "object", "required": [ "pubkey", "short_channel_id", "fee_base_msat", "fee_proportional_millionths", "cltv_expiry_delta" ], "additionalProperties": false, "properties": { "pubkey": { "type": "pubkey", "description": "the public key of the node" }, "short_channel_id": { "type": "short_channel_id", "description": "a channel to the next peer" }, "fee_base_msat": { "type": "u32", "description": "the base fee for payments" }, "fee_proportional_millionths": { "type": "u32", "description": "the parts-per-million fee for payments" }, "cltv_expiry_delta": { "type": "u32", "description": "the CLTV delta across this hop" } } } } }, "extra": { "type": "array", "description": "Any extra fields we didn't know how to parse", "items": { "type": "object", "required": [ "tag", "data" ], "additionalProperties": false, "properties": { "tag": { "type": "string", "description": "The bech32 letter which identifies this field", "maxLength": 1, "minLength": 1 }, "data": { "type": "string", "description": "The bech32 data for this field" } } } } } }