Mobile notifications

From Bisq Wiki
Revision as of 06:33, 29 September 2022 by W000000t (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A full Bisq mobile app doesn't exist yet, but you can get mobile notifications from Bisq while it runs on your computer.

The mobile notifications app currently works on iOS and Android devices with Google Play Services; only for Android platform, the latest APK can also be downloaded from the github repository.

Foreword about current state of mobile appː currently, the mobile app will be able to pair with desktop (only through token), but it won't show a feedback about the pairing being successful; the app will also show an event in notification area, when one of the trigger events selected on desktop will happen, but the details of such event won't be visible on mobile, and clicking the event in notification area will bring back to the pairing screen; it is needed to open the desktop app to verify what event triggered the notification.

Get the app

Mobile app links:

Pair the mobile app with desktop Bisq

You will need to send the pairing token generated by the mobile app to desktop Bisq. To do this, you can either use your computer's webcam to scan a QR code shown on your phone, or send the pairing token text manually from the mobile app to your desktop and paste it into Bisq yourself.

To generate the pairing token, click Pair in the mobile app.

If you'd like to use your desktop computer's webcam, go to Account > Notifications, click Scan QR Code, and scan the QR code shown in the mobile app.

If not, securely send the text of the pairing token to yourself and click I don't have a webcam in desktop Bisq. The apps may mention something about email, but you can send the pairing key using any method you prefer.

When pairing completes, you’ll see a success message in Bisq desktop.

Configure notifications

There are three types of notifications you can get: trade alerts, offer alerts, and price alerts. You can also enable and disable notification sounds.

Trade alerts

These alerts will notify you whenever:

  • your action is needed on any open trades
  • one of your offers is taken
  • you've received a new dispute message

To enable trade alerts, simply check the Receive trade messages.

Note that dispute alerts do not include any message content—they merely let you know a new dispute message has been received on your desktop Bisq app.

Here’s how trade alerts can be useful:

Example 1: you’re buying BTC, just sent your deposit, and are waiting for the transaction to hit 1 blockchain confirmation so you can send payment. That can take approximately 10 minutes. Instead of waiting at your screen, you can go have a coffee and let your phone alert you when it’s time to send the fiat currency or altcoin payment.

Example 2: you’re selling BTC, and you’re waiting for your trading partner to send you fiat currency or altcoin payment. It might take them minutes or hours. Instead of repeatedly checking your desktop Bisq app for updates, your mobile device will simply push an alert as soon as your trading partner marks their payment as sent, so you can then check for the payment and promptly complete the trade.

Offer alerts

These alerts will notify you whenever there’s a new offer that fits your criteria.

To set your criteria:

  1. Select your preferred payment account.
  2. Select which offers you want to receive alerts for: buy or sell. If you want to buy bitcoin, you’ll want to know when someone’s made a good sell offer (and vice-versa if you want to sell bitcoin).
  3. Determine the % distance from the market price for which you want to get a notification. With a price distance set, you will only receive an alert when an offer that meets (or exceeds) your requirements is published. Example: you want to sell BTC, but you will only sell at a 2% premium to the current market price. Setting this field to 2% will ensure you only receive alerts for offers with prices that are 2% (or more) above the current market price.
  4. Hit Add offer alert.

Clicking Manage offer alerts shows you a screen with all configured alerts. There, you can remove offer alerts you no longer need.

Price alerts

These alerts will notify you whenever bitcoin hits the specified price in the specified currency.

First, select your currency. Then, choose the upper and lower price thresholds. You’ll get an alert when the bitcoin price goes above your upper threshold, or when it goes below your lower threshold.

Example: an alert set with an upper threshold of 6000 EUR and lower threshold of 5500 EUR will send you a notification when the market price goes over 6000 or when it goes below 5500 EUR.

Note
Once a price alert is triggered, it’s automatically deleted so you don’t get repeated notifications as the price fluctuates.

Technical details & privacy

Bisq mobile notification architecture.

Notifications are sent from the Bisq desktop app to the Bisq relay node which acts as proxy to the Apple/Google push notification services.

Pairing

Before allowing the mobile app to start the pairing to the Bisq desktop app, the mobile App registers with the Apple or Google notification service and receives a notification token. This happens in the background without any user interaction. Next, a byte cryptographic key for symmetric encryption is generated in the phone and the pairing token is assembled.

Note
We use the 128 bit AES/CBC/PKCS5Padding symmetric encryption algorithm. A fresh 16-character Initialization Vector is created and attached to each notification.

The pairing token consists of four parts which are separated by the "|" character:

  • A Magic, currently either iOS, iOSDev or android.
  • A Phone descriptor, e.g., iPhone6.
  • A 32-byte cryptographic key for symmetric encryption. This key is generated by the phone and used in the Bisq desktop app to encrypt the content of the notification.
  • A device token, either from Apple or from Google.

The pairing token is then transferred from the phone to Bisq desktop by QR code (using the desktop computers' webcam) or manually by the user (e.g., sending the string through a secure messaging app, email, etc).

Sending a notification

The Bisq desktop app knows the device token (from Apple or Google) and it has the encryption key from the phone. The notification itself is a json string containing the type of notification and its content. After encrypting the notification the desktop app sends it along with the device token to a Bisq relay node over Tor. Because of Tor, the relay node does not know the IP address of the computer on which you run your Bisq desktop app. The relay node forwards the notification to an Apple/Google push notification server (over https), which then pushes a notification to your mobile device using the provided device token.

Privacy

Ultimately, Apple/Google know that a device with your device token is receiving Bisq notifications. Note that they already knew you are likely to be a Bisq user when you download the Bisq mobile app. However, neither Google nor Apple can see the content of the notification. This is also the reason why OS pop-ups that notify you cannot contain any notification specific content.

Currently, the relay node does not store any data (notifications, device tokens, etc).

We feel that Push notifications can’t be implemented in a more private way. If there is any aspect of this mobile notifications mechanism, feel free to contact us. Of course, the notification mechanism is optional and does in no way limit the functionality of the Bisq desktop app.

More information

See the wiki on GitHub for more details.