Phare
What satellites can't see, citizens can
Created on 9th May 2026
•
Phare
What satellites can't see, citizens can
The problem Phare solves
Phare is a bonded, citizen-powered registry for sightings of sanctioned oil tankers, ships that move sanctioned cargo by disabling their AIS transponders and going dark. Anyone with a phone can photograph a suspicious vessel, upload the photo to Swarm, and submit a bonded on-chain report from their wallet. The protocol holds the bond in escrow, opens a UMA OOv3 optimistic assertion, and runs a challenge window. Verifier agents running the OpenClaw skill race to dispute fakes; reports that survive settlement are recorded permanently.
- For reporters: an ordinary citizen in Cyprus or a sailor in the Laconian Gulf can document a vessel that has no official record anywhere. No account, no KYC, no permission. The PWA handles photo capture, Swarm upload, wallet approval, and auto-settlement in one flow.
For journalists, NGOs, and enforcement bodies: every sanctioned vessel that survives adjudication acquires a permanent ENS identity that any browser can resolve. The records include the satellite orbital corroboration from SpaceComputer, signed on-chain by the KMS key. The full dossier lives on Swarm, pointer in the ENS contenthash.
For verifier operators: anyone can run the phare/verifier OpenClaw skill, self-register an ENS subname, and earn 50% of slashed bonds when they successfully dispute fake reports. The agent writes its reasoning JSON to Swarm and updates its own ENS verifier.lastDecision record after every dispute, a live, public accountability trail.
Challenges we ran into
-
USDC was the bond currency until it wasn't.
The original spec pinned USDC as the bond currency for ReportRegistry. After probing UMA OOv3's Sepolia AddressWhitelist and calling getMinimumBond, we discovered the UMA minimum bond for that USDC token on Sepolia is 400 USDC, completely impractical for a $5-equivalent demo bond. We switched to WETH, which has a minimum bond of 0.002 WETH (a few dollars), and rebuilt the escrow and faucet instructions around it. Mainnet deployment can revisit USDC. -
NameStone was replaced by an on-chain contract mid-design.
The original spec used NameStone's off-chain CCIP-Read resolver for all ENS minting; no gas per mint, but a centralized write key held by the project. As the ENS integration deepened, we realised that CCIP-Read off-chain resolvers don't support on-chain writes initiated by smart contracts: ReportRegistry cannot call a NameStone API from inside a Solidity callback. The entire minter service and the off-chain NameStone path were replaced with Lighthouse.sol; an 80-line on-chain contract that calls NameWrapper directly and is the sole write authority for both vessel and verifier subnames. This was a significant mid-flight redesign but resulted in a cleaner and more prize-competitive integration. -
spaceTEE doesn't exist yet.
The SpaceComputer architecture documents a spaceTEE inference layer that would let a satellite-hosted TEE predict vessel destinations from imagery. We designed the full integration (plugin methods, inference JSON schema, on-chain attestation) then discovered spaceTEE is on the SpaceComputer roadmap but not yet shipped. Rather than drop the integration, we built the call site honestly: the phare-imager Orbitport plugin exposes the full four-method JSON-RPC interface, but underneath it returns fixture imagery and a rule-based destination prediction that always carries "mocked": true. The KMS signing and on-chain attest() are real; the inference is mock-now-real-later. The plugin is the contribution SpaceComputer can wire to real hardware.
Tracks Applied (6)
Future Society
SpaceComputer Bounty
SpaceComputer
Verified Fetch — Trust No Gateway
Swarm
A Simple Key-Value Store on Swarm
Swarm
Best ENS Integration for AI Agents
ENS
Most Creative Use of ENS
ENS
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
