Skip to content

Invoice Detective is a Rust library and a service designed to deduce the recipient of a lightning payment

License

Notifications You must be signed in to change notification settings

getlipa/invoice-detective

Repository files navigation

🕵️ Invoice Detective

📖 About

Invoice Detective is a Rust library and a service designed to deduce the recipient of a lightning payment. By looking at the details of the provided BOLT-11 lightning invoice and leveraging some knowledge of the lightning network graph. Invoice Detective identifies whether the payee is a user of a non-custodial wallet, custodial exchange, or something else.

🔧 How It Works

A lightning invoice is a set of payment instructions which has the destination as a public key of the recipient node. If it is a well known node like WalletOfSatoshi.com it is reasonable to infer that the recipient is a user of the custodial Wallet of Satoshi.

In more complex scenarios, especially prevalent in mobile wallets where the recipient node has no announced channels nor a reachable address, lightning invoices incorporate additional routing details, such as the LSP node public key. When the LSP is associated with a well known node like ACINQ, it is reasonable to conclude that the recipient is utilizing the non-custodial Phoenix wallet.

🚧 Limitations

TODOs

  • detect Network
  • handle errors
  • use tera functions
  • hanlde LNURL pay
  • hanlde Lightning addresses
  • display more details (expritration time)
  • move css
  • server static files
  • auto dark mode

About

Invoice Detective is a Rust library and a service designed to deduce the recipient of a lightning payment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages