AI inference, settled on-chain
Off-chain nodes do the compute; the chain settles the proof. A verifier signs each result and commits an InferenceAttestation that SUM Chain records permanently, one per session and verifier. OmniNode attestation is live on mainnet.
From prompt to verified response
Users pay Koppa for inference. Nodes fetch model shards from archive/SNIP storage, run the work, and a verifier attests to the result. The chain verifies the signature and records the attestation.
- 1
End user submits a prompt and pays a Koppa fee.
- 2
Job is dispatched to inference nodes.
- 3
Nodes fetch model shards from archive/SNIP storage. merkle_root
- 4
Archives hold shards under Proof-of-Retrievability challenges. PoR
- 5
A verifier signs the result; the chain records the attestation. InferenceAttestation
- 6
The verified response is returned to the user.
A signed digest, deduplicated forever
Each attestation binds a session to a tuple of content hashes, signed under OmniNode’s Stage-6 domain. The chain enforces one attestation per (session_id, verifier) permanently, no overwrite, and finalizes it by block depth.
attestation.digest
- session_id
- binds the request
- model_hash
- model identity
- manifest_root
- input manifest
- response_hash
- output commitment
- proof_root
- verifier proof
- verifier_signature
- Ed25519 (Stage-6 domain)
read RPC
Query attestations
Three read-only methods let coordinators enumerate attestations and check status: submitted, included, finalized, or failed.
sum_getInferenceAttestation
sum_listInferenceAttestations
sum_getInferenceAttestationStatus
Settlement active on mainnet (activated at height 8,900,000)
Deployed in runtime genesis, activates at height 9,200,000
Three further OmniNode gates are already in runtime genesis and activate together at height 9,200,000, with no redeploy: sponsored attestation (omninode_sponsored_attestation_enabled_from_height), settlement consistency (inference_settlement_consistency_enabled_from_height), and verifier bonding (inference_verifier_bonding_enabled_from_height).
chain_getChainParams does not expose every one of these gates, so this status uses the operator-verified runtime-genesis height and flips to active from the live block height.
OmniNode, the compute product surface