Milestone 5 · Protocol
Nuvex maintainers
What the API returns
GET /v1/prices reads public tickers and trades. A USD query uses Coinbase, Kraken, and Pyth. A USDT query uses Binance and Bybit. Those quotes are not averaged together. The body says authority: none.
Each observation has to carry the venue's own timestamp. The default window is 60 seconds, and the caller can set maxAgeMs between 1 and 300 seconds. The default minimum is two fresh sources. Below that, the status is 422 and median is null.
What it will not fill in
Pyth's public Hermes endpoint currently answers an unauthenticated request with HTTP 401. That shows up under rejected. The other venues are not asked to stand in for it with a made-up number. A source that is simply down is recorded the same way.
“Programs still reject a Price request. A caller cannot treat the median as a finalized oracle result.”
Data jobs stay closed. ADR 0004 names source-specific checks and a quorum, and names neither, so no adapter fetches arbitrary data. Fees stay unset.

