MetaNIM - NIMIQ payments browser extension

Project Description:

The Problem

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.

The Solution

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

  1. Open the MetaNIM extension from the browser’s toolbar
  2. Select a coin to pay with
  3. Copy the amount from the merchant’s website and paste it on the extension window
  4. Copy the merchant’s address and paste it on the extension window
  5. Click the button to show the Nimiq payment options
  6. Send the payment in NIM by scanning the QR code or visiting the Nimiq wallet using the link

Project Team

@rraallvv : Telegram, Discord

Requested funding

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).

External funding

No external funding is needed.

Project Characteristics

  • 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

MetaNIM project files

5 Likes

I like this and would contribute to help if we have dependable developers willing to do it, but I also think we should get NIMIQ listed with more coin processors, like Bitpay, Coincents and all the other one supporting more than just BTC.

2 Likes

Looks nice, but I’d be interested if this could be done without a browser extension. For instance, gmail can take control of the mailto: protocol. Could Nimiq take control of the ethereum or Bitcoin protocol and intercept it to make the purchase using Bitcoin funds? Similarly could Nimiq scan a Bitcoin QR code and send Bitcoin using Nimiq funds?

mailto: is a standard that can be handled by most web browsers. bitcoin:, on the other hand, would need a third party app.

It looks like it can be done. I might be able to test it tomorrow.

Although bitcoin: might be white listed as an HTML5 scheme, if you try to open a URL like bitcoin:bitcoin_address_is_here?amount=1.00 it’s very likely that your computer or mobil device will try to open it using a third party app instead of a regular browser.

Maybe. Have you started this project yet? Is the code posted? Or is it still in an idea phase?

Edit: You’re right, protocol handlers from websites need a web+ prefix. Still, some features of the extension could be useful as part of the Nimiq wallet, mainly the ability to pay someone BTC out of Nimiq funds.

Actually, everything you describe in the slides and post is doable through a website, and doesn’t require an extension except for the pop up window, though a similar feature is available in some browsers. This would be better because browser extensions can spy on users and can’t be installed on mobile (except maybe Firefox on android).

Sorry for intruding on your project. I’d love to contribute if it’s on GitHub or something.

The extension will have some cool perks that couldn’t be added on a web application, nor native application for that matter, like for instance an eye dropper to pick the QR code, address or amount directly from the checkout form. Also the extension will add support for all digital assets supported by the FastSpot API (even those not supported by the official Nimiq web wallet), and support for third party liquidity providers.

Feel free to post here any ideas or suggestion for any functionality that you think the extension could automate :slightly_smiling_face:

2 Likes

Any updates on the project, was funding reached?

1 Like