Use cases

  1. Geofencing: Determining if a user has entered or exited a specific geographic area.
  2. Proximity-based rewards: Unlocking rewards or features when users are near specific locations, perfect for gamification, tourism apps, or retail promotions.
  3. Event check-ins: Verifying a user’s presence at events, meetings, or specific locations, ideal for event management and attendance tracking.

Video Setup

Prerequisites

  1. Setup OPENFORMAT

    Before you can continue, please complete the following steps to obtain the necessary credentials:

    1. Go to the OPENFORMAT Dashboard
    2. Register for an account
    3. Generate an API Key
    4. Create a dApp
    5. Create a Badge (only if required)
  2. Receiver Address

    You will need the account address for the user you are rewarding e.g. 0xeed12ae3b7cc78ea09ba4cc6e34a997b969ea8e6

Get Started

1

OPENFORMAT Node Inputs

Add your OPENFORMAT API Key, dApp ID, Badge Name and Private Key into the Reward Badge Node inputs.

2

Test Integration

To test the integration, click on Test and add the latitude and longitude of your user’s current location, the distance (in kilometers) to check if the user is near the target location, and the receiver to the body of the request. For example:

{
  "latitude": 51.51175,
  "longitude": -0.1387,
  "distance": 1,
  "receiver": "0x02f573bb36fafedb59612671d72121c0cb49aaef"
}

Node Inputs

Reward Badge

KeyDescription
API KeyYour OPENFORMAT API Key. You can find this in the Settings page of the Dashboard (String)
dApp IDThe ID of your OPENFORMAT dApp. You can get this in the Dashboard (String, max 32 characters)
Private KeyThe Private Key of your web3 account. You can find this in the Settings page of the Dashboard.
Badge NameThe name of the badge that you are awarding, this must exactly match the name of the badge created. You can create a badge in the Dashboard. (string)
ReceiverThe address of the receiver, which will be the existing web3 account or the newly generated account.
AwaitWait for the transaction to be confirmed on the blockchain. (Boolean, default: true)