FOAM MVP: Mobile Presence Claim Demo

Continuing our series of posts showcasing the FOAM MVP, we are excited to share a demo of proof of location on mobile! This demo also features the use of a miniaturized, wireless user device! Minting location proofs onchain with FOAM is now easier than ever.

To reiterate from prior posts, the core objective of the FOAM MVP is to demonstrate onchain proofs of location, which we call “Presence Claims”. These are represented onchain as NFTs with metadata like the location coordinates of the user and time of mint. In 2023, this required developing new layers to our stack, such as our FOAM Devnet (an OP Stack rollup), Proof of Location smart contracts, a rollup indexing and publishing service, new user-experiences for our Hostel web-app including for mobile phones, and a wireless on-the-go mobile node as the user device (”mobile node”) for interacting with Zones. Generating Presence Claims also required tightly integrating all these new elements into our existing hardware, firmware, and software packages we built and tested over the past several years.

FOAM PWA Mobile App
FOAM PWA Mobile App

Our last post demonstrated Presence Claims being minted from a laptop computer and a mobile node connected to laptop via USB cable. This post demonstrates a more feature-complete and user-friendly version of Presence Claims using an iPhone app, a wireless pocket-sized mobile node, and a more refined user experience. 🦾 (Note that Android is also supported.) We are closer than ever to releasing Presence Claims to the community for testing and use.

Demo Hardware

  • Zone - four Zone Anchor FOAM radios installed in the Brooklyn Navy Yard in NYC. Still using Raspberry Pi-based radios, but very soon will use highly performant plug-and-play radios.

  • Mobile Node - now a wireless, hand-held radio (LoRa) transmitter. As a reminder, mobile nodes are the user-devices required for interacting with Zones. Note this device does not require any kind of connection, wired or wireless, to a laptop or even to the internet 👀. It is purely a hand-held radio with a public/private key pair.

Evolution of FOAM “mobile node” radios from left to right. Previously used full Zone Anchor radio as mobile node, and now use miniature wireless node.
Evolution of FOAM “mobile node” radios from left to right. Previously used full Zone Anchor radio as mobile node, and now use miniature wireless node.

Current Beta Wireless Mobile Nodes
Current Beta Wireless Mobile Nodes

Demo Software

  • Hostel - mobile app (progressive web-app) for interacting with Zones to mint Presence Claims.

  • FOAM OP Devnet & Contracts - an Ethereum rollup built on the OP Stack, with Proof of Location smart contracts explained in a previous post here.

  • WalletConnect - for using any wallet provider, like mobile MetaMask, Coinbase Wallet, Rainbow, Rabby, Phantom, etc. to interact with the FOAM OP Devnet to mint Presence Claims onchain.

  • BlockScout - open source block explorer connected to our FOAM Devnet rollup to show transaction and account details.

  • Timesink and LTSP - firmware packages running on Zone Anchor radios.

Proof of Location Mobile Demo

Connect Your Wallet

The first step in the process of minting Presence Claims is to open Hostel. Hostel is an app for users to mint Presence Claims, as well as for Zone Operators to manage their Zones. It can be used on desktop or mobile in-browser, or on mobile as a progressive web app installed on your home screen (PWA). The latter is what we are demo’ing here.

Like with any web3 app, you must connect your wallet to use the application. Hostel now supports WalletConnect, allowing you to sign in with mobile wallets like MetaMask, Coinbase Wallet, Rainbow, Rabby, Phantom, etc., or to sign in with your browser extension wallet like MetaMask via a scannable QR code. For the first sign in with a new wallet, you must sign a message to give the app your onchain address.

Sync Mobile Node

As explained in our previous blog post, minting Presence Claims for the first time requires signing a message from the mobile node (via its private key) to register it with your onchain address. This step is purely a one-time event, only required when using a new mobile node device with your account. It requires connecting the mobile node to a laptop or desktop computer using a USB cable, and then issuing a simple command on your terminal that prompts the mobile node to sign a message, revealing its onchain address and registering it to your onchain account. Once this quick, two-click process is complete, you can unplug the mobile node from your computer and put the computer away for good.

Mint Presence Claims

Now the fun part begins - it is time to mint some Presence Claims! Unlike with the previous demo that used a laptop, you now request location proofs by clicking a physical button on the mobile node device. This transmits a signed radio packet from the device, which if received by a Zone, is both localized - using the times it was received by each Zone Anchor - and authenticated - onchain using the signature on the radio packet (over-the-air “OTA” packet).

In Hostel, you can see on the map when each Zone Anchor “witnesses” you as it lights up purple. If at least three Zone Anchors receive the packet from the mobile node, then you can be localized as a blue dot in Hostel. If four Zone Anchors receive the OTA packet, then you can also be localized as a green dot in Hostel. As mentioned in prior posts, we introduced multiple localizers to create a spectrum between quantity and quality of Presence Claims. The blue Presence Claims currently called “M3+”, and green Presence Claims called “MK4”, represent the first generation of this new feature-space for FOAM.

View Presence Claims

You are able to see the details of the Presence Claim you are minting immediately before and after minting it, including information like the Zone and Anchors, time and location coordinates. This information is stored onchain in the metadata of the Presence Claim, and is indexed by Hostel to show all Presence Claims that have been minted both in map and list form.

A reminder that the FOAM token plays a critical role in this process. Users minting Presence Claims need to pay the Zone a fee denominated in FOAM. The token is also required for Zones as a stake to prevent malicious behavior. More on this subject will be shared in the future. Note that in the current flow on our FOAM Devnet network, we embedded a faucet that mints FOAM and ETH to users to make these tokens free for now. However, in the live system the existing FOAM token supply will fill this role.

Next Steps

As excited as we are with the progress we have made thus far on the FOAM MVP for Presence Claims, there is so much more to do! We are happy to announce that the immediate next steps involve us releasing and opening this MVP for the community to test and use! This includes some exciting announcements related to preparation and migration that we will share soon! It also requires the community getting their hands on mobile nodes. For this, we will be posting a sign-up list using Farcaster Frames on our /foam channel. Please join us there on Farcaster to get involved!

As we open up Presence Claims for the community to test and use, we will also be moving forward on gamifying the Presence Claims experience with a public leaderboard in Hostel (and Farcaster Frames), and King The Hill for Zones! The last users to mint Presence Claims at each Zone are the King of the Hill for that Zone 👑.

We again want to thank our community for their patience, and our Zone Operators for their diligence in testing and maintaining their Zones. It has taken a lot of time and effort to get to this point, as we could not be more happy with the incredible progress!


FOAM is a Proof of Location technology for applications needing secure location services. It enables a handshake between the location service providers and the user, proving the user’s location. Terrestrial radios and time-of-flight algorithms are used to perform localizations, and digital signatures ensure the location data cannot be spoofed. The system is completely independent of satellite-based location services like GPS.

Subscribe to FOAM
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.