Wallet API Specifications
|Proposer||Kapil Jain, Jad Wahab|
|TSC Sponsor||James McLeod|
|Authors||Kapil Jain, Jad Wahab|
|Reviewers||To be announced|
As part of the execution of BIP270/P2P Payment protocol, if the execution is done using a Simplified Payment Verification (SPV) client which does not have a wallet, the client would need to communicate with existing wallets to fetch input UTXOs (for funding the transaction) and output destinations (for receiving the funds). We aim to standardise these communication messages using a REST schema for each of them
For building lightweight SPV clients in Bitcoin, it should be possible for these clients to integrate with existing wallets which need a standardised communication method for Inputs and Outputs of a transaction. This will enable developing forward looking SPV applications while not having to worry about the creation and maintenance work that a typical wallet would need. This will be a big step in terms of interoperability and ease of use for such SPV clients.
None identified by the Proposers.
This proposal is an extension to the P4 (Peer to peer payment protocol) and defines schemas that wallets can use for performing the P2P Payment using P4 specifications. The proposal standardises the
getInputUTXOs objects used by wallets and a Payment protocol server (server orchestrating the P4 payment steps). This will decouple the wallet specific formats and payment protocol server making the two components modular and will improve interoperability
We can submit a local implementation of these integration APIs once this proposal is streamlined in a workgroup.