inferva

Protocol

Settlement log & verification

Every request is a hash-chained record anyone can recompute.

Each settled request writes one record: who paid, which provider and model, tokens, provider cost, discount, fee, the capacity position used, the epoch and a timestamp. The record's hash includes the hash of the record before it, so the log forms a single chain from a genesis value.

How a record is hashed

The fields are joined with | in this order and hashed with SHA-256 (hex):

prev_hash|id|payer|provider|model|tokens|base|discount|fee|capacity_id|epoch|created_at
  • prev_hash is the previous record's hash, or the genesis hash (64 zeros) for the first record.
  • base, discount and fee are integers in micro USDG.
  • created_at is a Unix timestamp in milliseconds.
  • Every prev_hash is unique, so the log cannot fork.

Verify in your browser

Open Settlement log in the app and click Verify chain. The page downloads the records in order and recomputes every hash from the genesis value without trusting the stored hash column.

Every API response also returns inferva.settlement.hash and prev_hash, so an agent can keep its own receipts and check them against the log later.

What is not onchain yet

Today the log lives on the sandbox ledger. The plan is to post the latest hash onchain each epoch, which anchors all settled volume. That part ships with the contracts. The chain it will run on is TBD.
Was this page helpful?