Frequently Asked Questions
General
What is Astral Location Services?
What is Astral Location Services?
Astral Location Services is verifiable location infrastructure. It does two things: it verifies location proofs (via the
/verify endpoint — evaluating evidence about where something was), and it runs geospatial computation (distance, containment, intersection) inside a trusted execution environment. Both produce signed results that any downstream system can verify independently — an agent, a backend, a compliance report, or a smart contract.What makes Astral's answers trustworthy?
What makes Astral's answers trustworthy?
A normal geospatial API returns an answer you have to take on faith. Astral signs the result inside a TEE, so anyone can check that the computation was performed correctly on the stated inputs — without re-running it or trusting the server. (This is a hardware-backed attestation, not a zero-knowledge proof — and it depends on the service running under attestation; see the trust model for current deployment status.)
What can I build with this?
What can I build with this?
Most uses are entirely offchain:
- Delivery and field-service verification
- Compliance and audit trails (e.g. an asset stayed within an approved area)
- Spatial decisions for autonomous agents, with a verifiable record
- Parametric triggers based on verified proximity
Is this production ready?
Is this production ready?
No. Astral Location Services is under active development. APIs may change. We’re building in public and welcome feedback!
Technical
What spatial operations are supported?
What spatial operations are supported?
Supported operations:
distance- Distance between two geometries (meters)contains- Is geometry B inside geometry A?within- Is point within radius of target?intersects- Do geometries overlap?area- Area of a polygon (square meters)length- Length of a line (meters)
buffer,centroid,union,intersection,disjoint
What chains are supported?
What chains are supported?
v0 targets Base Sepolia (chain ID 84532). Additional chains (Base Mainnet, Ethereum Sepolia/Mainnet) are planned.
How does verification work?
How does verification work?
- Operations run in EigenCompute’s TEE (Trusted Execution Environment)
- Under remote attestation, the TEE attests that specific code executed on specific inputs
- Results are signed with a key held inside the TEE
- Smart contracts verify
attestation.attester == astralSigner
What's the trust model?
What's the trust model?
Today: A centralized service with TEE execution attestation. You are trusting Astral (the operator) and the TEE — and, to some extent, the TEE manufacturer.Future: AVS consensus (multiple operators), ZK proofs, decentralized signing.
Can users spoof their GPS?
Can users spoof their GPS?
Yes. GPS is spoofable. Astral verifies that computations are correct, not that inputs are authentic. If a user provides a fake GPS coordinate, we’ll compute on that fake coordinate.We’ve developed a framework for multifactor location proofs, which compose evidence from multiple corroborating proof-of-location systems to support a location claim. The aim is to raise the cost of spoofing, not to make it impossible. ProofMode is working today; experimental stamp-verification logic for several other systems (witnesschain, gpsd, geoclue, wifi-mls, ip-geolocation) also exists, with interfaces defined. We’re keen to develop new proof-of-location plugins with partners. As these mature, they plug into Astral for stronger verification.
Integration
Do I need to run my own service?
Do I need to run my own service?
No. Astral operates the service. You use the SDK (or call the API directly) to get signed results; if you want them onchain, you submit them to your contracts yourself.
Who pays gas?
Who pays gas?
You do. The delegated attestation pattern means:
- Astral signs the attestation offchain
- You submit with Astral’s signature (paying gas)
- EAS records Astral as the attester
Do I have to use a blockchain?
Do I have to use a blockchain?
No — and most uses don’t. Signed results are produced offchain and used directly in your application; that’s the primary path. A blockchain is only involved if you choose to submit a result onchain.
Can I use this in a smart contract?
Can I use this in a smart contract?
Yes — signed results are natively compatible with Ethereum smart contracts. Use an EAS resolver:
What's the relationship to Turf.js?
What's the relationship to Turf.js?
Complementary!
- Turf.js: Client-side, instant, free, unverified
- Astral: Server-side, verified, signed result
Data
What coordinate format do you use?
What coordinate format do you use?
GeoJSON standard: [longitude, latitude] in WGS84 (EPSG:4326).
What units are results in?
What units are results in?
Metric only:
- Distance/length: meters
- Area: square meters
- Radius (in
within): meters
Can I use raw GeoJSON or do I need attestations?
Can I use raw GeoJSON or do I need attestations?
Both work! You can pass:
- Attestation UIDs (verified, traceable)
- Raw GeoJSON (unverified, for reference data or prototyping)
Where is data stored?
Where is data stored?
- Location records: On EAS (onchain) or IPFS/your storage (offchain)
- Signed results: Returned to you; optionally submitted to EAS as attestations
- Compute service: Stateless, no persistent storage
Getting Help
Where can I get help?
Where can I get help?
- Documentation: You’re here!
- GitHub: astral-location-services
- Telegram: Join our community
How can I contribute?
How can I contribute?
We’re building in public:
- Open issues with feedback
- Share your use cases
- Submit PRs for improvements
Back: Introduction
Return to the introduction