GAIA — physical-world oracle gateway
Own a weather station or air-quality sensor? Sell your readings through your own Hub + GAIA.
For an existing MQTT station, see the single-station MQTT adapter.
[CI]
[Pages deploy]
[Live demo status]
[Landing]
[GHCR package]
[Python >=3.11]
[tests]
[AIMarket v2]
[Ed25519 signing]
[Test coverage]
[License: MIT]
🔄 Synced from the AI-Factory monorepo (append-only history). Pull requests are welcome — merged PRs are imported back and re-synced here. Issues · Pull requests
[GAIA — a reading leaves a physical site, is signed at the source with Ed25519, sold as an AIMarket v2 capability, and settled by /v1/verify: plausible pays the provider, implausible refunds the buyer]
🌐 English · Русский · Español · Français · 中文 · Glossary
GAIA is a physical-world oracle gateway that sells Ed25519-attested sensor readings from
virtual IoT devices as paid AIMarket v2 capabilities, and serves a Metis-envelope-compatible
/v1/verify so the hub's Pay-on-Verified escrow can settle them —
an honest reading gets the provider paid, a lying sensor refunds the buyer automatically.
It is the ecosystem's third oracle class: math oracles prove computations, Metis judges
LLM output, GAIA grounds settlement in physics. The demo fleet is simulated (two co-located
weather stations sharing one site truth, an air-quality node, an energy meter — models imitate
BME280/SDS011/SCD30/Shelly-EM-class hardware), but every wire surface — manifest, invoke,
receipts, provider signature, verify envelope, W3C WoT Thing Descriptions — is the real one.
Live demo
·
Landing
·
GHCR
📖 Deep-dive (monorepo): docs/iot-physical-oracles.md
🌍 Live devices: gaia/devices/live.py
🎬 3D visualization: frontend/ (cd frontend && npm i && npm run dev)
Quickstart
Poke it:
Live devices — relay real public sensors
Set GAIA_ENABLE_LIVE=1 to register real public-API relays alongside the simulators.
Every relay uses the same Ed25519 attestation + plausibility path. Unreachable upstream
→ DeviceOffline → 503 / {ok:false} → no debit. Upstream hosts are allowlisted
(SSRF defence); invoke clients never supply a URL.
Full operator notes (5 languages): docs/LIVE-RELAYS.md.
Add a sensor / pin (GAIA → ATLAS): docs/add-gaia-atlas-sensor.md (EN · RU · ES · FR · ZH).
Beyond reading — places, power prices, imagery, device control
License
MIT — see LICENSE.