
Introducing Cycloid: Ethereum Transactions Over Radio
Two weeks ago at the Consensus Conference in Austin, TX we debuted new hardware, Cycloid, which enables Ethereum transactions over radio. Cycloid is the first FOAM end user hardware device to be made available for sale and use for Proof of Location. This post will take a first look at the platform and provide a waitlist at the end for the first batch of developer units. FOAM @foamspace The FOAM team has arrived in Austin for @consensus2024 with new Mobile Node Hardware, Zone coverage and Pres...

FOAM Location Now Live on Base
We are excited to kick off the Onchain Summit today in San Francisco and announce that the FOAM Token, MVP, smart contracts, Hostel webapp and Zone anchors are now live on Base! Zones are being deployed onchain, starting with San Francisco ad Brooklyn. Users can Prove their Location by minting a Presence Claim over Radio with the Cycloid hardware wallet.Hostel on BaseThe first batch of Cycloids will be available for sale at the Onchain Summit with a general presale to follow. Stay tuned for t...

Open MVP & Zone Expansions
Further progress has been made on the FOAM Proof of Location MVP! Our recent update post shared a demo of the MVP process for proving location onchain using on our mobile app and a prototype user device. Today, the FOAM team is excited to share additional features that have been added to our MVP, as well as exciting updates on the plug-and-play radio (”Zone Anchor”) and user device (”Mobile Node”). https://mirror.xyz/foamspace.eth/4F1n7zjzXpcocWD82wpzfd27Ul9qFRCrulwO8URx5WM A reminder that th...
FOAM is building spatial applications and Proof of Location that bring geospatial data and transactions over Radio to blockchains

Introducing Cycloid: Ethereum Transactions Over Radio
Two weeks ago at the Consensus Conference in Austin, TX we debuted new hardware, Cycloid, which enables Ethereum transactions over radio. Cycloid is the first FOAM end user hardware device to be made available for sale and use for Proof of Location. This post will take a first look at the platform and provide a waitlist at the end for the first batch of developer units. FOAM @foamspace The FOAM team has arrived in Austin for @consensus2024 with new Mobile Node Hardware, Zone coverage and Pres...

FOAM Location Now Live on Base
We are excited to kick off the Onchain Summit today in San Francisco and announce that the FOAM Token, MVP, smart contracts, Hostel webapp and Zone anchors are now live on Base! Zones are being deployed onchain, starting with San Francisco ad Brooklyn. Users can Prove their Location by minting a Presence Claim over Radio with the Cycloid hardware wallet.Hostel on BaseThe first batch of Cycloids will be available for sale at the Onchain Summit with a general presale to follow. Stay tuned for t...

Open MVP & Zone Expansions
Further progress has been made on the FOAM Proof of Location MVP! Our recent update post shared a demo of the MVP process for proving location onchain using on our mobile app and a prototype user device. Today, the FOAM team is excited to share additional features that have been added to our MVP, as well as exciting updates on the plug-and-play radio (”Zone Anchor”) and user device (”Mobile Node”). https://mirror.xyz/foamspace.eth/4F1n7zjzXpcocWD82wpzfd27Ul9qFRCrulwO8URx5WM A reminder that th...
FOAM is building spatial applications and Proof of Location that bring geospatial data and transactions over Radio to blockchains

Subscribe to FOAM

Subscribe to FOAM
Share Dialog
Share Dialog


>600 subscribers
>600 subscribers
FOAM is a Proof of Location technology for applications needing secure location services. It enables a handshake between the location service providers (FOAM network) 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.
Our previous post announced the FOAM MVP, the first full-stack demonstration of a Proof of Location network. The end user output of FOAM’s Proof of Location system is a “Presence Claim”, a location proof represented as an onchain NFT(ERC-721). You can think of a Presence Claim as a digital certificate proving the presence of someone or something at a specific location and time. The FOAM MVP demonstrates the creation and usage of Presence Claims.
The MVP ties together key components of the Proof of Location stack, such as radio hardware and the Hostel Webapp front-end UI. Importantly, this also includes onchain smart contracts deployed on our OP testnet for registering Zones, validating localization data, minting Presence Claims, staking and fee payments. There are a number of contracts in use for the MVP. The purpose of this post is to dive deeper into three core contracts and take a look at their functions in the protocol.
nft://10/0xA7D33D4355aA25b48420C54c1EeE51051eC5a3B1/?showBuying=true&showMeta=true
In Proof of Location a Zone consists of four or more Zone Anchor radios. The Zone smart contract is used to create and destroy Zones, via an externally owned Ethereum account. The contract acts as a registry, maintaining a participant list of which Zone Anchors belong to which Zone, along with additional metadata. A Zone Anchor included in a Zone recognized by the Zone contract will be eligible to vote on Presence Claim validations and earn fees.
When interacting with this contract to create a Zone, there is also a requirement to stake FOAM tokens. In this sense the Zone contract also acts as a Service Level Agreement (SLA) dictating the rules of the protocol and what the expected behavior is for a Zone. In addition to earning fees from issuing Presence Claims, this contract will interact with mining rewards and slashing conditions.
As the name suggests, this contract is responsible for managing the content identifiers (“CIDs”) of incoming localization information and storing pending localizations for Zone Anchors to vote on.
As part of the FOAM localization pipeline, metadata generated in the Hostel webapp is stored and written to IPFS/IPLD. The EVM does not currently have native IPLD support, so we require some way of talking about data in IPLD as it is used to inform a presence claim. The GossipUtils contract plays a role here, which stands for Gossip Message Utilities contract. This is technically a solidity library that helps the CIDManager contract by parsing localization data read from DAG-CBOR encoded localizations on IPFS/IPLD to binary. This data is then held by the LocalizationStore contract.
Ultimately, this CIDManager contract is initialized with incoming user localizations and takes votes from the different Zone Anchors. A validity function checks the number of votes / tally before a Presence Claim is Issued.
When a user wants to mint a Presence Claim, this contract calls CIDManager to see if a localization message has been deemed valid. If so, the hash is looked up in the LocalizationStore contract and an ERC-721 token is minted for the localization with the owner set to the requesting Mobile Node. Data associated with a minted Presence Claim includes:
Zone
Zone Anchors
Mobile Node
Timestamp
Geohash
It should be noted that all of the above contracts are deployed on the FOAM devnet Optimism L2, with the addition of one bridged PresenceClaim contract on the L1 devnet.

This post covers the three core smart contracts of the FOAM MVP, which include Zone CIDManager andPresenceClaim. Together with hardware, firmware and user interfaces these blockchain smart contracts demonstrate the importance of onchain location proofs. Forthcoming posts will focus on demos and use cases of Presence Claims. As for future smart contract development, this will include:
Voting currently happens on data submitted to CIDManager and is done solely by the Zone Anchors in the relevant Zone. However, due to the distribution of the data on IPFS, it's technically feasible for specific validator agents to participate in the voting (for reaping fees). This is currently out of scope for the MVP.
Staking rewards and penalties, and their weighing by the signals deployed in a Zone is also not yet implemented, though it is designed to happen on the L2 once the FOAM Signal contract has been snapshot. See a future blogpost for details about this.
FOAM is a Proof of Location technology for applications needing secure location services. It enables a handshake between the location service providers (FOAM network) 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.
Our previous post announced the FOAM MVP, the first full-stack demonstration of a Proof of Location network. The end user output of FOAM’s Proof of Location system is a “Presence Claim”, a location proof represented as an onchain NFT(ERC-721). You can think of a Presence Claim as a digital certificate proving the presence of someone or something at a specific location and time. The FOAM MVP demonstrates the creation and usage of Presence Claims.
The MVP ties together key components of the Proof of Location stack, such as radio hardware and the Hostel Webapp front-end UI. Importantly, this also includes onchain smart contracts deployed on our OP testnet for registering Zones, validating localization data, minting Presence Claims, staking and fee payments. There are a number of contracts in use for the MVP. The purpose of this post is to dive deeper into three core contracts and take a look at their functions in the protocol.
nft://10/0xA7D33D4355aA25b48420C54c1EeE51051eC5a3B1/?showBuying=true&showMeta=true
In Proof of Location a Zone consists of four or more Zone Anchor radios. The Zone smart contract is used to create and destroy Zones, via an externally owned Ethereum account. The contract acts as a registry, maintaining a participant list of which Zone Anchors belong to which Zone, along with additional metadata. A Zone Anchor included in a Zone recognized by the Zone contract will be eligible to vote on Presence Claim validations and earn fees.
When interacting with this contract to create a Zone, there is also a requirement to stake FOAM tokens. In this sense the Zone contract also acts as a Service Level Agreement (SLA) dictating the rules of the protocol and what the expected behavior is for a Zone. In addition to earning fees from issuing Presence Claims, this contract will interact with mining rewards and slashing conditions.
As the name suggests, this contract is responsible for managing the content identifiers (“CIDs”) of incoming localization information and storing pending localizations for Zone Anchors to vote on.
As part of the FOAM localization pipeline, metadata generated in the Hostel webapp is stored and written to IPFS/IPLD. The EVM does not currently have native IPLD support, so we require some way of talking about data in IPLD as it is used to inform a presence claim. The GossipUtils contract plays a role here, which stands for Gossip Message Utilities contract. This is technically a solidity library that helps the CIDManager contract by parsing localization data read from DAG-CBOR encoded localizations on IPFS/IPLD to binary. This data is then held by the LocalizationStore contract.
Ultimately, this CIDManager contract is initialized with incoming user localizations and takes votes from the different Zone Anchors. A validity function checks the number of votes / tally before a Presence Claim is Issued.
When a user wants to mint a Presence Claim, this contract calls CIDManager to see if a localization message has been deemed valid. If so, the hash is looked up in the LocalizationStore contract and an ERC-721 token is minted for the localization with the owner set to the requesting Mobile Node. Data associated with a minted Presence Claim includes:
Zone
Zone Anchors
Mobile Node
Timestamp
Geohash
It should be noted that all of the above contracts are deployed on the FOAM devnet Optimism L2, with the addition of one bridged PresenceClaim contract on the L1 devnet.

This post covers the three core smart contracts of the FOAM MVP, which include Zone CIDManager andPresenceClaim. Together with hardware, firmware and user interfaces these blockchain smart contracts demonstrate the importance of onchain location proofs. Forthcoming posts will focus on demos and use cases of Presence Claims. As for future smart contract development, this will include:
Voting currently happens on data submitted to CIDManager and is done solely by the Zone Anchors in the relevant Zone. However, due to the distribution of the data on IPFS, it's technically feasible for specific validator agents to participate in the voting (for reaping fees). This is currently out of scope for the MVP.
Staking rewards and penalties, and their weighing by the signals deployed in a Zone is also not yet implemented, though it is designed to happen on the L2 once the FOAM Signal contract has been snapshot. See a future blogpost for details about this.
No activity yet