Imagine you want to buy something from an online store. The store accepts crypto but after searching on the list of accepted coins it turns out that Nimiq is not listed. Currently what you can do is to pay with Bitcoin, in case you have some BTC in your Nimiq wallet, but the network fee is too high. Another alternative could be to go to an exchange and swap some NIM for one of listed coins, ideally one that requires lower fees and has a shorter block time than Bitcoin. But what if you could pay with NIM without having to go to an exchange to do the swap manually.
In principle it should be possible to develop a browser extension, that uses some API from a third party non-custodial exchange, to create a swap from NIM to one of the coins accepted by the merchant. That way users will be able to send payments directly to the exchange while using as the recipient address for the swap the merchant’s address. The whole process would take place from the extension itself, without having to log in on the exchange’s website or having to enter any private keys or recovery words for the user’s account.
The extension would be non-custodial, meaning that no funds nor payments would be held by the extension nor the exchange, and a link or QR-code would be presented to the users to send the corresponding payment from their wallets.
The extension would not require a backend to work, but only those of the third party tools used for processing the swap on the exchange and possible some block explorers used to check the current status for each payment operation.
How the MetaNIM extension would be used
- Open the MetaNIM extension from the browser’s toolbar
- Select a coin to pay with
- Copy the amount from the merchant’s website and paste it on the extension window
- Copy the merchant’s address and paste it on the extension window
- Click the button to show the Nimiq payment options
- Send the payment in NIM by scanning the QR code or visiting the Nimiq wallet using the link
The equivalent to USD 2,498.40 in NIM to cover about one month of development. The tasks involved in project execution include graphic design, technical writing, software development, and project management. The proposal uses the costs of contracting junior remote staff from ZipRecruiter as reference for calculating the costs of those task (please see the Requirements section in the full proposal in project files at the end of this post).
No external funding is needed.
- Open source
- Cross-browser extension using the WebExtensions API
- One single code base for all supported browsers
- Documentation, unit tests, integration tests
- Support for automated tests, builds and deployments
Detailed Project Plan
- Funding approval
- Design of extension workflow and all user interfaces
- Coding of the extension functionality
- Tests, builds and deployments