DevelopersSeptember 14, 2026by
Ailoos
Ailoos

The AI Oracle: How EmpoorioChain Brings Verified Inference On Chain

Oracles bring outside data on chain. EmpoorioChain's most distinctive one brings computation: an inference from the Ailoos network, delivered with a result the runtime can check. This post covers the mechanism and its status.

The pallets

PalletIndexRole
pallet-ai-registry26Which models exist, their hashes, their owners
pallet-ai-oracles29Requests for inference and their fulfilment
pallet-ai-serving(AI extensions group)Submission of inference results, including ZK-verified ones
pallet-ai-verification28Verification rules per model
pallet-ai-remuneration27Paying the node that served
pallet-ailoos-rewards31The per-era reward pool for the training network

The precompile

Solidity contracts reach the same machinery through precompile 0xAA: request an inference from a registered model with input bytes, poll for the result. Gas scales with the compute weight requested. This is the door through which an EVM dApp on chain id 2026 uses the ecosystem's models without leaving the EVM.

Verification

For models that support it, the serving node attaches a Groth16 proof (BLS12-381) that the output was produced by the registered model on the given input; aiServing.submit_inference_result verifies it in the runtime. The measured testnet fee for that call is 0.0035 DMS — the most expensive routine operation on the chain, and still about a quarter of a cent at the sale price. Where a model has no proof system, verification falls back to the rules in pallet-ai-verification (redundant serving, reputation).

The ZK-ML benchmark report in the chain repository records proving times and sizes for the model classes tested; the mainnet gate requires an external PQC/ZK audit before any of this is called production.

Who serves

Ailoos nodes — phones, laptops, servers running the Ailoos node software under one of seven roles. A node's work is measured in relative units per era, and the reward pool pays proportionally: amount = era_budget × my_units / total_units. The budget per era is fixed by the clock (a release rate over the pool's balance), not by volume, so the pool cannot be drained by demand. The pool holds ~300 M DMS and, as of the September 2026 audit, had distributed nothing — the operator authorisation call had never been made. That is an operational step, now identified, not a design gap.

Status, precisely

  • Pallets and precompile: in the live runtime (spec 220).
  • Ailoos serving: api.ailoos.com live, two inference paths, health check passing.
  • On-chain inference request fulfilled end to end on the public testnet: not yet. The transaction-envelope fix of 7 September removed the blocker; the first fulfilled emp_* inference is the milestone.
  • Any partner data provider, price feed or market oracle: none. The previous version of this page described one; it belonged elsewhere.

Why this oracle and not a price feed

Price oracles exist everywhere. An oracle whose payload is verified computation by the ecosystem's own models, paid in the ecosystem's own token, to devices owned by its users is the thing only this stack can do — and the reason it is worth reporting the first real fulfilment when it happens rather than describing it now.

Based on PALLET_REFERENCE.md, 02_CORE_SYSTEMS/EVM_AND_L2.md, FEE_MODEL_AND_LOW_COST_STRATEGY.md, ZKML_BENCHMARK_REPORT.md and the Ailoos production audit (2026-09-05).

Share this article