Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 1.53 KB

README.md

File metadata and controls

35 lines (29 loc) · 1.53 KB

🕵️ 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