Skip to main content

Deep Links and QR Codes

info

This page refers to QR codes and deep links that are signed and submitted to the blockchain via the Helium Hotspot and Wallet Apps. Makers should not use the following information and instead use the Helium React Native SDK to sign and submit transactions in their maker app.

To generate a QR code to scan, find a service to generate a QR code using the json data below. This is an example site: https://www.qr-code-generator.com

External QR Scanner (System Camera)

This section refers to deep links that navigate into the Helium Hotspot and Wallet apps via the native system camera. For QR codes scanned internally in the Helium Hotspot and Wallet apps see the Internal QR Scanner section below.

View Hotspot (Hotspot App)

helium://hotspot/:address
paramTypeNote
addressstringb58 Address of the Hotspot to display

View Validator (Hotspot App)

helium://validator/:address
paramTypeNote
addressstringb58 Address of the Validator to display

Add Gateway (Hotspot App)

helium://add_gateway/:encoded_txn
paramTypeNote
encoded_txnstringbase64 url encoded add gateway V1 transaction

Users can read more on how to generate an add_gateway transaction from the Makers Guide > Hotspot Integration.

Payment (Hotspot App)

helium://payment?address={{address}}&amount={{amount}}&memo={{memo}}
paramTypeNote
addressstringb58 Address to send the payment to
amountstringHNT amount, 1 = 1 HNT
memo (optional)stringUTF8 string with a max size of 8 bytes

Payment (Wallet App)

https://wallet.helium.com/payment?payee={{payee}}&amount={{amount}}&memo={{memo}}
paramTypeNote
payeestringb58 Address to send the payment to
amountstringHNT amount in bones, 100000000 = 1 HNT
memo (optional)stringBase64 encoded string with a max size of 8 bytes

Add Gateway / Assert Location / Transfer Hotspot (Wallet App)

The Wallet App requires a maker app in order to sign Add Gateway, Assert Location, and Transfer Hotspot Transactions via deep links. Please see the Helium React Native SDK and WalletLink documentation for more information.

Internal QR Scanner

This section refers to QR codes scanned internally by the Helium Hotspot and Wallet apps.

info

In the Hotspot App all memos must be UTF8 strings with a max size of 8 bytes.

In the Wallet App all memos should be base64 encoded strings with a max size of 8 bytes.

If you want to target both the Wallet App and Hotspot App with one QR you should add "utf8Memo": true to use UTF8 memos for both.

Burn HNT

Generated from console

{
  "type": "dc_burn",
  "address": ":address",
  "amount": "1.00",
  "memo": "dGVzdA==="
}

UTF8 memo

{
  "type": "dc_burn",
  "utf8Memo": true,
  "address": ":address",
  "amount": "1.00",
  "memo": "test"
}

Payment

Single Payee without memo

{
  "type": "payment",
  "address": ":address",
  "amount": 1
}

Single Payee with memo

{
  "type": "payment",
  "address": ":address",
  "amount": 1,
  "memo": "dGVzdA=="
}

Single Payee with UTF8 memo

{
  "type": "payment",
  "utf8Memo": true,
  "address": ":address",
  "amount": 1,
  "memo": "test"
}

Multiple Payee without memo

{
  "type": "payment",
  "payees": {
    ":address1": 10.2,
    ":address2": 1.2
  }
}

Multiple Payee with memo

{
  "type": "payment",
  "payees": {
    ":address1": {
      "amount": 10.2,
      "memo": "dGVzdA=="
    },
    ":address2": {
      "amount": 1.2,
      "memo": "dGVzdA=="
    }
  }
}

Multiple Payee with UTF8 memo

{
  "type": "payment",
  "utf8Memo": true,
  "payees": {
    ":address1": {
      "amount": 10.2,
      "memo": "test"
    },
    ":address2": {
      "amount": 1.2,
      "memo": "test"
    }
  }
}

Wallet address QR code

Create a qr code with a valid b58 wallet address. This is valid for both the Hotspot App and Wallet App.

12ORy9GjFASqWWxHmUq4tNXcjvr5Xfno8qimGMrNReMsSaM9T8f