What the service returns
The submission API returnsid, commitment, geoHash, transaction and configured operator endpoints. id is a random task ID; see task identifiers. A successful submission is not a successful witness attestation. Each witness returns its own result over WebSocket; there is no final-proof aggregation step.
Access and privacy
Enable Proof of Location in the application’s Proof of Location tab in the developer portal. Every plan includes verifications (250 a month on Free), and usage beyond the quota is billed at the published rate; see hosted plans and usage. Proof of Location runs on the Ethereum Sepolia testnet, so a plan allowance or charge does not make it a mainnet service. The geohash (precision 5, approximately a 5 km cell) and each task’s time remain public on Ethereum Sepolia. Task IDs are random and commitments use a secret nonce, so they do not identify the username; see task identifiers, including how older tasks differ. Public location and timing can still reveal information; this is not a zero-knowledge proof or a guarantee of anonymity. Obtain informed consent before submitting data that cannot be deleted from the chain. The backend controls the submitting key and the operator list. The current configuration can contain a single witness. Slashing is not implemented in the service workflow. Start with Submit a location claim, then review architecture and security boundaries. React Native 0.3.3 and React 0.2.0 remove the old Proof of Location hooks. The hooks in older versions do not complete the witness evidence flow. Use the standalone@offline-protocol/pol package (0.1.2 on npm), or the raw API flow.
