---
title: "Oracle Price Aggregation"
method: POST
path: "/v1/tools/oracle_price_aggregation"
tags: ["oracle", "price-aggregation", "derivatives", "mark-price", "print-lineage"]
---

# Oracle Price Aggregation

`POST /v1/tools/oracle_price_aggregation`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/oracle_price_aggregation`
- Auth: none declared

Computes the aggregate price a decentralized oracle network would publish from a set of individual submissions, under four mechanism-named aggregation rules: median-filtered confidence-weighted mean, stake-weighted median on the frequency convention, three-vote confidence median, and plain median with an f-of-n readout. Supports an optional prev_print_hash citing the prior print of the same pair, which turns a series of same-pair prints into a walkable chain; omitting it reproduces the unlinked-print output byte for byte. Every price, weight, confidence, timestamp and submitter id is supplied and asserted, never fetched (zero-egress). Simulates the aggregation step only, does not model the commit-reveal phase, and never claims any real network did or would publish this number. A submitter id may be supplied as a sha256-salted@1 commitment (SPEC.md §25) to withhold the identifier while keeping the aggregation bound to it. Not a price feed and not a market-data source.

**Tool URL:** https://ainumbers.co/chaingraph/art-560-oracle-price-aggregation.html

## Request body

- object
  - `mode` string
  - `currency_pair` string
  - `submissions` unknown[]
    - unknown
  - `outlier_threshold_pct` number
  - `stale_after_seconds` number
  - `epoch` number
  - `prev_print_hash` string

## Response `200`

Successful tool execution result

- object
  - `currency_pair` string, nullable
  - `epoch` number, nullable
  - `structural_error` string, nullable
  - `aggregated_price` number, nullable
  - `aggregation_method` string, nullable
  - `aggregate_confidence` number, nullable
  - `submission_count` number
  - `priced_submission_count` number
  - `surviving_count` number, nullable
  - `outlier_count` number
  - `outliers_flagged` unknown[]
    - unknown
  - `outlier_detail` unknown[]
    - unknown
  - `outlier_threshold_pct` number, nullable
  - `price_spread_pct` number, nullable
  - `min_submitted` number, nullable
  - `max_submitted` number, nullable
  - `stale_submissions` unknown[]
    - unknown
  - `fault_tolerance` object, nullable
  - `rejected_inputs` unknown[]
    - unknown
  - `not_proven` unknown[]
    - unknown
  - `fence` string
  - `prev_print_hash` string
  - `chain_position` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
