{"openapi":"3.1.0","info":{"title":"SF·SIX public read API","version":"1.3.0","summary":"Live AI model prices, usage and prediction market data from SF·SIX, the San Francisco Super Intelligence Exchange.","description":"Anonymous, read-only JSON endpoints behind https://sfsi.exchange: dated AI model API prices from named sources, observed price changes and history, published benchmark scores, OpenRouter usage snapshots (the NATDAQ inputs), and Hedera testnet prediction market and model token data.\n\n**Testnet.** SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.\n\n**No key, no sign-in.** Every endpoint here is public and read-only. Budgets are per client (IPv4 address or IPv6 /64) and listed per operation (`x-rate-limit`); the catalog-class reads share one budget of 120 requests per minute. A 429 carries `Retry-After`. Call the API from a server, script or agent: browsers on other sites are not granted CORS access.\n\n**Caching.** Catalog-class data is `private, max-age=30, stale-while-revalidate=300`: reuse it in your own client, but never put it in a shared cache or CDN (source rights can be revoked at any time). Every 200 carries an ETag (strong on catalog-class data) and `If-None-Match` answers 304. Poll `/api/aiex/v2/catalog/version` instead of refetching the catalog.\n\n**Rights and attribution.** SF·SIX does not grant a licence to the data. Values are observations of third-party sources, each under its own terms: every price names its `source`, `sourceUrl` and `observedAt`, and every usage snapshot names its source and the licence that source states, if any. Cite the source when you republish a value. Data whose redistribution right lapses disappears from the API immediately (503 or omission), so do not mirror it.\n\n**Request ids.** Every response carries `X-Request-Id` (yours, when you send a well-formed one), and error bodies repeat it as `requestId`. Quote it when you report a problem.\n\n**No guarantees.** Prices are dated observations, not quotes; missing values are unknown, not free. This API may change; additive changes keep the version line, breaking changes bump the major version and are listed in the changelog.","termsOfService":"https://coldai.org/legal/","contact":{"name":"ColdAI (operator of SF·SIX)","url":"https://coldai.org/contact/"}},"servers":[{"url":"https://sfsi.exchange","description":"SF·SIX (canonical)"},{"url":"https://coldai.org","description":"Same API on ColdAI's host"}],"externalDocs":{"description":"Developer guide, quickstart and changelog","url":"https://sfsi.exchange/developers-api"},"tags":[{"name":"Catalog and prices","description":"Models, dated price observations, changes, history, benchmarks and exports."},{"name":"Usage data and NATDAQ","description":"Rights-qualified usage snapshots, model identity history and NATDAQ index evidence."},{"name":"Prediction markets (testnet)","description":"Hedera testnet prediction markets on AI model prices and usage (test funds only)."},{"name":"Model token offerings (testnet)","description":"Hedera testnet model token offerings and their aftermarkets (test funds only)."},{"name":"Exchange contracts","description":"Feature flags, versioned measurement and release contracts, status and network fees."}],"paths":{"/api/aiex/v2/openapi.json":{"get":{"operationId":"getOpenApi","tags":["Exchange contracts"],"summary":"This OpenAPI document","description":"The OpenAPI 3.1 description of the public read API.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"OpenAPI document.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `public, max-age=3600`.","schema":{"type":"string","const":"public, max-age=3600"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"type":"object","required":["openapi","info","paths"]}}}},"304":{"$ref":"#/components/responses/NotModified"}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/catalog":{"get":{"operationId":"getCatalog","tags":["Catalog and prices"],"summary":"Model and price catalog","description":"Every rights-qualified model with its dated price observations, the sources behind them, coverage counts and units. Default: models with connected markets; `community=1`: the full catalog incl. community references; `view=slim` / `view=recent`: compact encodings for first paint and the newest releases; `view=index` (with or without `community=1`): a small list and search projection with each model's headline offer only. Large (the full catalog is tens of MB uncompressed): prefer `view=index` plus `/catalog/models/{id}`, revalidate with `If-None-Match`, or poll `/catalog/version`.","parameters":[{"name":"community","in":"query","required":false,"description":"Full catalog, including community catalog references (with `view=index`: index every model).","schema":{"type":"string","enum":["1"]}},{"name":"view","in":"query","required":false,"description":"`slim`: lossless compact encoding of the community catalog; `recent`: newest releases only (compact); `index`: lossy list and search projection.","schema":{"type":"string","enum":["slim","recent","index"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"The catalog (default and `community=1`: `Catalog`; `view=slim|recent`: `CompactCatalog`; `view=index`: `CatalogIndex`). Unrecognised query values select the default view (never a 400). An empty `models` list is still a 200 (with `X-SFAIE-Catalog-Diagnostic`).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, max-age=30, stale-while-revalidate=300`, or shorter (down to `private, no-cache`) when the data's qualification ends sooner: a rights grant expiring or a source reaching its maximum age.","schema":{"type":"string","pattern":"^private, (?:max-age=\\d+, stale-while-revalidate=\\d+|no-cache)$","examples":["private, max-age=30, stale-while-revalidate=300"]}},"ETag":{"$ref":"#/components/headers/ETag"},"X-SFAIE-Catalog-Version":{"description":"Catalog content version (same as `/catalog/version`).","schema":{"type":"string"}},"X-SFAIE-Catalog-Generated-At":{"description":"When this snapshot was built.","schema":{"type":"string"}},"Vary":{"description":"`Accept-Encoding`.","schema":{"type":"string"}},"X-SFAIE-Release":{"description":"Release of the catalog contract.","schema":{"type":"string"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Catalog"},{"$ref":"#/components/schemas/CompactCatalog"},{"$ref":"#/components/schemas/CatalogIndex"}]}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The catalog is initializing or temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices.","x-caching":"Strong ETag per view and encoding; If-None-Match → 304. Browser-private caching for 30 s (stale-while-revalidate 5 min), shorter when a source grant expires or a source reaches its maximum age sooner; never cache it in a shared cache or CDN: source rights can be revoked.","x-example-request":"/api/aiex/v2/catalog?view=index"}},"/api/aiex/v2/catalog/models/{id}":{"get":{"operationId":"getCatalogModel","tags":["Catalog and prices"],"summary":"One model with all of its offers","description":"One model of the catalog with every offer, the sources those offers come from, and the catalog-level coverage, units and policy, cut from the same snapshot as `/catalog`. `{id}` is the model's SF·SIX slug, its catalog id (URL-encoded: ids contain `/`) or an alias; connected-market models are matched before community references. `canonical: false` means you used an id or alias: link to `slug`.","parameters":[{"name":"id","in":"path","required":true,"description":"Slug, URL-encoded catalog id (`anthropic%2Fclaude-opus-5.5`) or alias. No control characters.","schema":{"type":"string","minLength":1,"maxLength":500}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"The model.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, max-age=30, stale-while-revalidate=300`, or shorter (down to `private, no-cache`) when the data's qualification ends sooner: a rights grant expiring or a source reaching its maximum age.","schema":{"type":"string","pattern":"^private, (?:max-age=\\d+, stale-while-revalidate=\\d+|no-cache)$","examples":["private, max-age=30, stale-while-revalidate=300"]}},"ETag":{"$ref":"#/components/headers/ETag"},"X-SFAIE-Catalog-Version":{"description":"Catalog content version (same as `/catalog/version`).","schema":{"type":"string"}},"X-SFAIE-Catalog-Generated-At":{"description":"When this snapshot was built.","schema":{"type":"string"}},"Vary":{"description":"`Accept-Encoding`.","schema":{"type":"string"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogModel"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Empty, over 500 characters or containing control characters.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"No model matches (`not_found`), or no source may currently be republished (`rights_unavailable`).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"reason":{"type":"string","enum":["not_found","rights_unavailable"]},"requestId":{"type":"string"}},"required":["error","reason"]}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The catalog is initializing or temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices.","x-caching":"Strong ETag per model and encoding; If-None-Match → 304. Browser-private caching only, as for `/catalog`.","x-example-request":"/api/aiex/v2/catalog/models/anthropic%2Fclaude-opus-5.5"}},"/api/aiex/v2/catalog/version":{"get":{"operationId":"getCatalogVersion","tags":["Catalog and prices"],"summary":"Catalog version probe","description":"A tiny probe: poll it and refetch the catalog only when `catalogVersion` changes. Also returns the current ETag of each catalog view and source freshness.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Current catalog version.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogVersion"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"The catalog is initializing.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-example-request":"/api/aiex/v2/catalog/version"}},"/api/aiex/v2/freshness":{"get":{"operationId":"getFreshness","tags":["Catalog and prices"],"summary":"Source freshness","description":"Per-source last successful refresh, age and thresholds, and the newest price observation.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Freshness state.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Freshness"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Freshness data temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"}}},"/api/aiex/v2/changes":{"get":{"operationId":"getChanges","tags":["Catalog and prices"],"summary":"Observed price changes","description":"The latest 250 observed material changes (price, status, unit, pricing rules or a new offer) within the 30-day retention window, newest first, optionally for one model. `kind=price`: list-price cuts and increases (at most 1,000) and new priced listings (at most 300) instead, each with its `kind`; the scan is shared for 5 minutes. Only sources that currently permit redistribution are included.","parameters":[{"name":"model","in":"query","required":false,"description":"Exchange model id (e.g. `anthropic/claude-opus-5.5`). Not with `kind`.","schema":{"type":"string","maxLength":400}},{"name":"kind","in":"query","required":false,"description":"`price`: material price changes and new priced listings across all models.","schema":{"type":"string","enum":["price"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Changes, newest first (a JSON array of `PriceChange`; with `kind=price` of `MaterialChange`).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, max-age=30, stale-while-revalidate=300`.","schema":{"type":"string","const":"private, max-age=30, stale-while-revalidate=300"}},"ETag":{"$ref":"#/components/headers/ETag"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/PriceChange"},"maxItems":250},{"type":"array","items":{"$ref":"#/components/schemas/MaterialChange"},"maxItems":1300}]}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"`model` longer than 400 characters, or `kind` other than `price` or combined with `model`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"History is temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices.","x-example-request":"/api/aiex/v2/changes?model=anthropic%2Fclaude-opus-5.5"}},"/api/aiex/v2/changes/latest":{"get":{"operationId":"getLatestChanges","tags":["Catalog and prices"],"summary":"Latest change per model","description":"The newest material change per model within the retention window (the exchange sitemap's lastmod). The grouped scan is shared for 5 minutes; source rights are re-checked on every request.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"[model id, newest change] pairs.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, max-age=30, stale-while-revalidate=300`.","schema":{"type":"string","const":"private, max-age=30, stale-while-revalidate=300"}},"ETag":{"$ref":"#/components/headers/ETag"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LatestChanges"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"History is temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices."}},"/api/aiex/v2/price-history":{"get":{"operationId":"getPriceHistory","tags":["Catalog and prices"],"summary":"Price history of a model","description":"The observed price step series of every offer of one model (30-day retention), plus separately labeled community-reported list price history.","parameters":[{"name":"model","in":"query","required":true,"description":"Exchange model id (no surrounding whitespace or control characters).","schema":{"type":"string","minLength":1,"maxLength":500}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Price history.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceHistory"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Missing or invalid `model`.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"No currently permitted offers for this model.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"History is temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices. Community series name their repository and licence; cite them as such.","x-example-request":"/api/aiex/v2/price-history?model=anthropic%2Fclaude-opus-5.5"}},"/api/aiex/v2/benchmarks":{"get":{"operationId":"getBenchmarks","tags":["Catalog and prices"],"summary":"Published benchmark scores","description":"Published benchmark scores (Artificial Analysis, OpenRouter) keyed by `modelKey`, each with its citation, evaluation configuration and date. Not an SF·SIX quality score.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Benchmarks.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, max-age=30, stale-while-revalidate=300`, or shorter (down to `private, no-cache`) when the data's qualification ends sooner: a rights grant expiring or a source reaching its maximum age.","schema":{"type":"string","pattern":"^private, (?:max-age=\\d+, stale-while-revalidate=\\d+|no-cache)$","examples":["private, max-age=30, stale-while-revalidate=300"]}},"ETag":{"$ref":"#/components/headers/ETag"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Benchmarks"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Benchmark data temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-public-read","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Scores belong to the named benchmark publisher. Republish them only with the `citation` (and licence, where given) and the evaluation date; a source whose rights or storage are unavailable is listed in `sources` as `unavailable` and contributes no scores. A source whose last refresh failed, or whose last successful refresh is older than 48 hours, is also listed `unavailable`; its scores stay in `benchmarks` with their dates, and SF·SIX pages publish none of them."}},"/api/aiex/v2/export":{"get":{"operationId":"exportCatalogCsv","tags":["Catalog and prices"],"summary":"Catalog as CSV","description":"The full catalog (incl. community references), one row per offer, read fresh on every request. Columns: Model, Developer, Provider, Channel, Price status, Currency, Unit, Input, Output, Cache read, Unit price, Source (URL), Provenance, Observed at, Tier, Region. Every cell is quoted; a cell starting with `=`, `+`, `-` or `@` is prefixed with `'`. Expensive: 10 requests per minute, refused (503 `RATE_LIMIT_UNAVAILABLE`, Retry-After: 30) when the limiter cannot be consulted.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"CSV with a header row and CRLF line endings; columns may be appended, never reordered.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"Content-Disposition":{"description":"Download file name.","schema":{"type":"string","const":"attachment; filename=\"coldai-intelligence-exchange.csv\""}},"ETag":{"$ref":"#/components/headers/ETag"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"text/csv":{"schema":{"type":"string"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Export temporarily unavailable (`{error}`), or the rate limiter is unavailable (`RATE_LIMIT_UNAVAILABLE`, Retry-After: 30).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ErrorMessage"},{"$ref":"#/components/schemas/ErrorEnvelope"}]}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-v2-export","requestsPerMinute":10,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"reject","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-data-rights":"Offers appear only while their source is current and its rights allow redistribution; a revocation removes them on the next request (never served from a shared cache). Each offer names its `source`, `sourceUrl` and `observedAt`: attribute the source when you republish a value. models.dev community references are MIT-licensed catalog data, not provider-confirmed prices.","x-example-request":"/api/aiex/v2/export"}},"/api/aiex/v2/capabilities":{"get":{"operationId":"getCapabilities","tags":["Exchange contracts"],"summary":"Enabled exchange features","description":"Which exchange features this deployment has enabled and why the others are not. SF·SIX runs in research mode: no paid inference, custody or real-money trading.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Capabilities.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"}}}},"304":{"$ref":"#/components/responses/NotModified"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"x-rate-limit":null,"x-example-request":"/api/aiex/v2/capabilities"}},"/api/aiex/v2/measurement-contract":{"get":{"operationId":"getMeasurementContract","tags":["Exchange contracts"],"summary":"Measurement contract","description":"The versioned measurement domains the exchange keeps apart, and how each is deduplicated (static).","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Measurement contract.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeasurementContract"}}}},"304":{"$ref":"#/components/responses/NotModified"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/release-policy":{"get":{"operationId":"getReleasePolicy","tags":["Exchange contracts"],"summary":"Release policy","description":"The versioned release gates in force (static).","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Release policy.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleasePolicy"}}}},"304":{"$ref":"#/components/responses/NotModified"},"500":{"$ref":"#/components/responses/InternalError"}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/status":{"get":{"operationId":"getPlatformStatus","tags":["Exchange contracts"],"summary":"Platform status","description":"Redacted public status of the exchange and each feature.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Status.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `public, max-age=30`.","schema":{"type":"string","const":"public, max-age=30"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformStatus"}}}},"304":{"$ref":"#/components/responses/NotModified"},"503":{"description":"Status is disabled or unavailable (`platform_health_disabled`, `platform_status_unavailable`).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/network-fees/estimates":{"get":{"operationId":"getNetworkFeeEstimates","tags":["Exchange contracts"],"summary":"Network fee estimates","description":"Per-operation Hedera network fee estimates (USD, incl. the published markup) and the fee policy. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Estimates.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `public, max-age=60`.","schema":{"type":"string","const":"public, max-age=60"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFeeEstimates"}}}},"304":{"$ref":"#/components/responses/NotModified"},"503":{"description":"Network fees are not configured (`network_fees_unavailable`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/source-snapshots/{file}":{"get":{"operationId":"getSourceSnapshot","tags":["Usage data and NATDAQ"],"summary":"Rights-qualified source snapshot","description":"`usage.json`: OpenRouter daily token rankings (the NATDAQ input); `modalities.json`: weekly request counts for image, video, speech and transcription models; `model-usage.json`: weekly per-model request series by modality; `opencode.json`: opencode public usage data (not part of NATDAQ).","parameters":[{"name":"file","in":"path","required":true,"description":"Snapshot file.","schema":{"type":"string","enum":["usage.json","opencode.json","modalities.json","model-usage.json"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"The snapshot.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/UsageSnapshot"},{"$ref":"#/components/schemas/RequestSnapshot"},{"$ref":"#/components/schemas/ModelUsageSnapshot"},{"$ref":"#/components/schemas/OpencodeSnapshot"}]}}}},"304":{"$ref":"#/components/responses/NotModified"},"404":{"description":"Unknown snapshot file.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"503":{"description":"Not currently redistributable or past its maximum age (`reason: rights_unavailable`: withdrawn, drop any copy; daily token usage 7 days after its last complete day, the weekly request feeds 21 days after their last complete week), missing or failing validation (or snapshot storage is not configured).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":null,"x-data-rights":"Served only while the source's retention AND redistribution rights are approved and unexpired (re-checked before and after every read); otherwise 503. Attribute OpenRouter (or opencode) and link the source page; the `license` field states the licence the source asserts for request feeds, if any.","x-example-request":"/api/aiex/v2/source-snapshots/usage.json"}},"/api/aiex/v2/model-identity-history":{"get":{"operationId":"getModelIdentityHistory","tags":["Usage data and NATDAQ"],"summary":"Model identity timeline","description":"When a source listed or stopped listing a model id, and what canonical identity it carried, as recorded by SF·SIX (paged, 50 events per page). With `at` (and optionally `knownAt`) it also resolves the identity in force at that time as SF·SIX knew it then.","parameters":[{"name":"source","in":"query","required":true,"description":"Source catalog.","schema":{"type":"string","enum":["openrouter","huggingface","fal","models.dev"]}},{"name":"modelId","in":"query","required":true,"description":"The source's model id.","schema":{"type":"string","minLength":1,"maxLength":500}},{"name":"at","in":"query","required":false,"description":"Resolve the identity in force at this instant (exact `toISOString()` form, e.g. `2026-09-22T00:00:00.000Z`).","schema":{"type":"string","format":"date-time"}},{"name":"knownAt","in":"query","required":false,"description":"Knowledge cutoff for the resolution (requires `at`).","schema":{"type":"string","format":"date-time"}},{"name":"revision","in":"query","required":false,"description":"Head revision the client paged from; 409 if the history changed since.","schema":{"type":"string","pattern":"^(0|[1-9]\\d{0,3}|10000)$"}},{"name":"before","in":"query","required":false,"description":"Return events before this revision (requires `revision`).","schema":{"type":"string","pattern":"^[1-9]\\d{0,4}$"}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Identity timeline.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityTimeline"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid query, pagination without its revision, or a future cutoff.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"409":{"description":"History changed since `revision`: refresh.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"503":{"description":"Identity history is not enabled or temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":null,"x-example-request":"/api/aiex/v2/model-identity-history?source=openrouter&modelId=openai%2Fgpt-5"}},"/api/aiex/v2/natdaq/frozen-baskets":{"get":{"operationId":"getNatdaqFrozenBaskets","tags":["Usage data and NATDAQ"],"summary":"Frozen NATDAQ baskets","description":"The frozen basket members and base tokens behind listed NATDAQ basket markets. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Baskets (`disabled` with an empty list when markets are off).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NatdaqFrozenBaskets"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Any query parameter (`invalid_request`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"503":{"description":"Baskets temporarily unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/natdaq/evidence/{sha256}":{"get":{"operationId":"getNatdaqEvidence","tags":["Usage data and NATDAQ"],"summary":"NATDAQ evidence package","description":"A signed, provisional NATDAQ benchmark package with its replayable evidence, readable while every observation source still permits redistribution and the signer is trusted. Final packages are not public.","parameters":[{"name":"sha256","in":"path","required":true,"description":"Package SHA-256.","schema":{"type":"string","pattern":"^[a-f0-9]{64}$"}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"The package.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NatdaqEvidence"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid hash.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"403":{"description":"Not available under current source or signer permissions.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"404":{"description":"No such package.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}}},"security":[],"x-rate-limit":null,"x-data-rights":"Re-checks every observation source's redistribution right and the signer key on each request."}},"/api/aiex/v2/prediction-markets":{"get":{"operationId":"listPredictionMarkets","tags":["Prediction markets (testnet)"],"summary":"Open prediction markets","description":"Open, funded prediction markets with their resolution rules, 10 per page (cursor pagination). SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"after","in":"query","required":false,"description":"Cursor: `nextCursor` of the previous page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,120}$"}},{"name":"limit","in":"query","required":false,"description":"Page size 1–10 (default 10).","schema":{"type":"string","pattern":"^(?:[1-9]|10)$"}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"A page of markets.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, no-store`.","schema":{"type":"string","const":"private, no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionMarketDirectory"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Unknown, repeated or malformed parameter (`invalid_directory_query`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Busy (`prediction_directory_busy`, Retry-After: 1) or unavailable.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-prediction-directory","requestsPerMinute":20,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"}}},"/api/aiex/v2/prediction-markets/models":{"get":{"operationId":"searchModelMarkets","tags":["Prediction markets (testnet)"],"summary":"Model markets directory","description":"Models with weekly price and usage markets: whether each is tradable (and why not), market counts, volume and next close. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"q","in":"query","required":false,"description":"Search text.","schema":{"type":"string","maxLength":100}},{"name":"sort","in":"query","required":false,"description":"Order (default `activity`).","schema":{"type":"string","enum":["activity","closing","name"]}},{"name":"limit","in":"query","required":false,"description":"Page size (default 24).","schema":{"type":"integer","minimum":1,"maximum":60}},{"name":"offset","in":"query","required":false,"description":"Offset (default 0).","schema":{"type":"integer","minimum":0,"maximum":100000}},{"name":"tradable","in":"query","required":false,"description":"`1`: tradable models only.","schema":{"type":"string","enum":["1","0"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Matching models.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `public, max-age=10`.","schema":{"type":"string","const":"public, max-age=10"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelMarketSearch"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid or unknown parameter (`invalid_query`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Model markets are disabled (`model_markets_disabled`) or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-model-markets-read","requestsPerMinute":240,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-example-request":"/api/aiex/v2/prediction-markets/models?tradable=1&limit=10"}},"/api/aiex/v2/prediction-markets/models/coverage":{"get":{"operationId":"getModelMarketCoverage","tags":["Prediction markets (testnet)"],"summary":"Model market coverage","description":"How many catalog models are tradable per ladder, and why the others are not.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Coverage.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `public, max-age=60`.","schema":{"type":"string","const":"public, max-age=60"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelMarketCoverage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Model markets are disabled or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-model-markets-read","requestsPerMinute":240,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"}}},"/api/aiex/v2/prediction-markets/models/{modelId}":{"get":{"operationId":"getModelMarkets","tags":["Prediction markets (testnet)"],"summary":"Markets of one model","description":"Current reference values (average provider price, daily tokens), the provider breakdown and every ladder of weekly strikes for one model. Unknown models answer 200 with `known: false`. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"modelId","in":"path","required":true,"description":"URL-encoded model id (`openai%2Fgpt-5`).","schema":{"type":"string","minLength":1,"maxLength":350}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Model markets.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelMarketOverview"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid model id or any query parameter.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Model markets are disabled or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-model-markets-read","requestsPerMinute":240,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-example-request":"/api/aiex/v2/prediction-markets/models/openai%2Fgpt-5"}},"/api/aiex/v2/prediction-markets/{market}/data":{"get":{"operationId":"getMarketData","tags":["Prediction markets (testnet)"],"summary":"Order book, trades and candles","description":"Aggregate YES/NO order book, the latest confirmed trades (with HashScan testnet links) and YES price candles of one market. No order ids, owners or wallets. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"market","in":"path","required":true,"description":"Chain market id (`0x` + 64 hex) or listing id.","schema":{"type":"string","pattern":"^(0x[a-f0-9]{64}|[A-Za-z0-9_-]{1,120})$"}},{"name":"range","in":"query","required":false,"description":"Candle range (default `1D`).","schema":{"type":"string","enum":["1H","1D","1W","ALL"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Market data (`disabled`/`not_installed` when markets are off).","headers":{"Cache-Control":{"description":"`public, max-age=2` for market data; `no-store` when markets are off.","schema":{"type":"string","enum":["public, max-age=2","no-store"]}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketData"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid market reference or query.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"404":{"description":"Unknown market (`market_not_found`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Busy (Retry-After: 1) or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-prediction-market-data","requestsPerMinute":240,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"}}},"/api/aiex/v2/market-activity/recent":{"get":{"operationId":"getRecentMarketActivity","tags":["Prediction markets (testnet)"],"summary":"Recent trades across venues","description":"The latest confirmed testnet trades across prediction markets and model token venues. Never exposes user ids, order ids or wallets. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"limit","in":"query","required":false,"description":"Trades to return, 1–100 (default 30).","schema":{"type":"string","pattern":"^\\d{1,3}$"}},{"name":"kind","in":"query","required":false,"description":"Venue filter (default `all`).","schema":{"type":"string","enum":["all","prediction","model_token","open_market"]}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Recent trades.","headers":{"Cache-Control":{"description":"`public, max-age=3` (`no-store` when disabled).","schema":{"type":"string","enum":["public, max-age=3","no-store"]}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketActivityRecent"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Invalid query (`invalid_market_activity_query`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Busy (Retry-After: 1) or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-market-activity","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"},"x-example-request":"/api/aiex/v2/market-activity/recent?limit=10"}},"/api/aiex/v2/market-activity/summary":{"get":{"operationId":"getMarketActivitySummary","tags":["Prediction markets (testnet)"],"summary":"24-hour market summary","description":"24-hour trade counts and volumes (trader counts below 5 are withheld). SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Summary.","headers":{"Cache-Control":{"description":"`public, max-age=10` (`no-store` when disabled).","schema":{"type":"string","enum":["public, max-age=10","no-store"]}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketActivitySummary"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Any query parameter.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"503":{"description":"Busy or unavailable.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"aiex-market-activity","requestsPerMinute":120,"window":"1 minute","key":"client IP address (IPv4) or IPv6 /64 prefix","onLimiterUnavailable":"admit","exceeded":"429 RATE_LIMITED with Retry-After: 60"}}},"/api/aiex/v2/ito/status":{"get":{"operationId":"getItoStatus","tags":["Model token offerings (testnet)"],"summary":"Model token offering status","description":"Whether model token offerings are available on this deployment, and their fee and royalty parameters. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"Status.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, no-store`.","schema":{"type":"string","const":"private, no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItoStatus"}}}},"304":{"$ref":"#/components/responses/NotModified"}},"security":[],"x-rate-limit":null}},"/api/aiex/v2/ito/offerings":{"get":{"operationId":"listItoOfferings","tags":["Model token offerings (testnet)"],"summary":"Model token offerings","description":"Published model token offerings, newest first, in pages of up to 100 (keyset cursor pagination: offerings launched while you page never repeat or shift a page). Without parameters the first page is returned. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"limit","in":"query","required":false,"description":"Page size 1–100 (default 100); larger values are capped at 100, 0 is `invalid_limit`.","schema":{"type":"string","pattern":"^\\d{1,6}$"}},{"name":"cursor","in":"query","required":false,"description":"Opaque cursor: `nextCursor` of the previous page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,200}$"}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"A page of offerings.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, no-store`.","schema":{"type":"string","const":"private, no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferingList"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"description":"Malformed `limit` (`invalid_limit`) or a cursor this API did not issue (`invalid_cursor`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"Per-client read budget exceeded (`rate_limited`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"503":{"description":"Offerings are not configured (`ITO_NOT_CONFIGURED`) or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"ito-read","requestsPerMinute":240,"window":"1 minute","key":"client IP address, counted per API instance","onLimiterUnavailable":"admit","exceeded":"409 rate_limited"}}},"/api/aiex/v2/ito/offerings/{id}":{"get":{"operationId":"getItoOffering","tags":["Model token offerings (testnet)"],"summary":"One model token offering","description":"An offering with its aftermarket order book (aggregated), recent trades and hourly candles. SF·SIX runs on the Hedera testnet. Prediction markets, model token offerings and their prices use test funds (tUSD, test HBAR) with no real value; nothing here is investment advice or an executable quote.","parameters":[{"name":"id","in":"path","required":true,"description":"Offering id (lowercase UUID).","schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/IfNoneMatch"}],"responses":{"200":{"description":"The offering.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `private, no-store`.","schema":{"type":"string","const":"private, no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferingDetail"}}}},"304":{"$ref":"#/components/responses/NotModified"},"404":{"description":"Unknown or unpublished offering (`offering_not_found`), or an id that is not a UUID (`invalid_id`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"409":{"description":"Per-client read budget exceeded (`rate_limited`).","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"503":{"description":"Offerings are not configured or unavailable.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"security":[],"x-rate-limit":{"bucket":"ito-read","requestsPerMinute":240,"window":"1 minute","key":"client IP address, counted per API instance","onLimiterUnavailable":"admit","exceeded":"409 rate_limited"}}}},"components":{"schemas":{"ErrorEnvelope":{"type":"object","description":"Structured error. Clients should branch on `error.code`.","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable, machine-readable error code."},"message":{"type":"string","description":"Human-readable explanation (wording may change)."},"retryable":{"type":"boolean","description":"True when the same request may succeed later."},"detail":{"type":"object","description":"Optional structured detail (for example `retryAfterSeconds`)."},"requestId":{"type":"string","description":"Request identifier for support."}},"required":["code"]}},"required":["error"]},"ErrorMessage":{"type":"object","description":"Legacy error body: a plain message (catalog, snapshot, identity and NATDAQ evidence routes).","properties":{"error":{"type":"string","description":"Human-readable error message."},"requestId":{"type":"string","description":"Request identifier for support (the response's `X-Request-Id`)."}},"required":["error"]},"Reason":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]},"Offer":{"type":"object","description":"One dated, source-attributed price observation. Not a firm quote.","properties":{"id":{"type":"string","description":"Stable offer id (source-scoped, e.g. `openrouter:<model>:<endpoint>`)."},"modelId":{"type":"string","description":"Id of the model this offer belongs to."},"provider":{"type":"string","description":"Inference provider serving the endpoint (`Automatic routing` for an aggregator's router)."},"channel":{"type":"string","description":"Distribution channel through which the price was observed."},"status":{"type":"string","description":"Price status. `unknown` and `variable` prices are not free.","enum":["priced","free","unknown","variable"]},"currency":{"type":"string","description":"ISO 4217 currency of every price field (USD for current sources)."},"unit":{"type":"string","description":"Billing unit: `1M tokens` for token prices (`input`, `output`, `cacheRead`, `cacheWrite`), otherwise the unit of `unitPrice` (per image, second, request …)."},"input":{"anyOf":[{"type":"number","description":"Input (prompt) price per 1M tokens.","minimum":0},{"type":"null"}]},"output":{"anyOf":[{"type":"number","description":"Output (completion) price per 1M tokens.","minimum":0},{"type":"null"}]},"cacheRead":{"anyOf":[{"type":"number","description":"Cached-input read price per 1M tokens.","minimum":0},{"type":"null"}]},"cacheWrite":{"anyOf":[{"type":"number","description":"Cache write price per 1M tokens.","minimum":0},{"type":"null"}]},"unitPrice":{"anyOf":[{"type":"number","description":"Price per native `unit` for non-token endpoints.","minimum":0},{"type":"null"}]},"context":{"anyOf":[{"type":"number","description":"Context window of this endpoint in tokens."},{"type":"null"}]},"maxOutput":{"anyOf":[{"type":"number","description":"Maximum output tokens of this endpoint."},{"type":"null"}]},"parameters":{"type":"array","items":{"type":"string"},"description":"Request parameters this endpoint declares."},"source":{"type":"string","description":"Id of the source that reported this offer (see `sources`)."},"sourceUrl":{"type":"string","description":"Public page or API document the observation came from. Cite it when you republish the value.","format":"uri"},"provenance":{"type":"string","description":"`provider`: the provider's own listing; `aggregator`: an aggregator such as OpenRouter; `community`: an unverified community catalog reference (models.dev).","enum":["provider","aggregator","community"]},"observedAt":{"type":"string","description":"When SF·SIX last observed this price at its source.","format":"date-time"},"tier":{"type":"string","description":"Service tier: `standard`, `flex`, `batch`, `priority`, `fast`, `turbo`, `ultrafast`, `highspeed` or `free` (open list)."},"region":{"anyOf":[{"type":"string","description":"Region of a regional endpoint (`us`, `eu`, `global`, `us-east-1` …); null for the default endpoint."},{"type":"null"}]},"quantization":{"anyOf":[{"type":"string"},{"type":"null"}]},"retention":{"anyOf":[{"type":"string","description":"Data-retention terms when known (`zero data retention`)."},{"type":"null"}]},"latency":{"anyOf":[{"type":"number","description":"Legacy field: p50 time to first token in SECONDS. Prefer `latencyMs`."},{"type":"null"}]},"latencyMs":{"anyOf":[{"type":"number","description":"p50 time to first token in milliseconds, over `performanceWindow` (source-reported)."},{"type":"null"}]},"throughput":{"anyOf":[{"type":"number","description":"p50 output tokens per second over `performanceWindow` (source-reported)."},{"type":"null"}]},"uptime":{"anyOf":[{"type":"number","description":"Source-reported uptime percentage."},{"type":"null"}]},"performanceWindow":{"anyOf":[{"type":"string","description":"The window the source measured performance over."},{"type":"null"}]},"pricingRules":{"anyOf":[{"type":"object","description":"Conditional pricing terms (e.g. long-context tiers) as the source states them."},{"type":"null"}]}},"required":["id","modelId","provider","channel","status","currency","unit","source","sourceUrl","provenance","observedAt"]},"Model":{"type":"object","description":"A model profile with its source-qualified price observations.","properties":{"id":{"type":"string","description":"Exchange model id (source-prefixed outside OpenRouter, e.g. `hf:org/repo`, `fal:…`, `catalog:…`)."},"name":{"type":"string","description":"Name as the source spells it (may carry a `Vendor: ` prefix, kept for older clients). Prefer `displayName`."},"displayName":{"type":"string","description":"Clean display name."},"brandedName":{"type":"string","description":"Display name led by the developer brand (for titles)."},"developer":{"type":"string","description":"Model developer as the source reports it."},"description":{"type":"string","description":"Source-provided description."},"inputModalities":{"type":"array","items":{"type":"string"},"description":"Accepted input modalities (`text`, `image`, `audio`, `video`, `file`)."},"outputModalities":{"type":"array","items":{"type":"string"},"description":"Produced output modalities."},"parameters":{"type":"array","items":{"type":"string"},"description":"Request parameters the source declares as supported (e.g. `tools`)."},"context":{"anyOf":[{"type":"number","description":"Context window in tokens, when reported."},{"type":"null"}]},"released":{"anyOf":[{"type":"string","description":"Release date as reported by the source."},{"type":"null"}]},"firstSeen":{"anyOf":[{"type":"string","description":"When SF·SIX first observed one of the model's offers.","format":"date-time"},{"type":"null"}]},"aliases":{"type":"array","items":{"type":"string"},"description":"Other spellings of the name."},"ticker":{"type":"string","description":"Short display ticker (unique within the catalog; never a key)."},"medusaId":{"anyOf":[{"type":"string"},{"type":"null"}]},"benchmarkKey":{"type":"string","description":"Key into `/benchmarks` (`modelKey`)."},"sourceIdentity":{"anyOf":[{"type":"object","description":"The source's identity record (see `/model-identity-history`)."},{"type":"null"}]},"headlineOfferId":{"anyOf":[{"type":"string","description":"Id of the offer SF·SIX shows as the model's price: the cheapest standard-tier, default-region token quote (never a flex, batch, fast or regional endpoint while a standard one exists)."},{"type":"null"}]},"offers":{"type":"array","items":{"$ref":"#/components/schemas/Offer"},"description":"Dated price observations for this model, one per provider endpoint, tier and region."}},"required":["id","name","displayName","brandedName","developer","description","inputModalities","outputModalities","parameters","headlineOfferId","offers"]},"Source":{"type":"object","description":"A data source behind the catalog.","properties":{"id":{"type":"string","description":"Source id, referenced by `Offer.source`."},"label":{"type":"string","description":"Display name of the source."},"status":{"type":"string","description":"`stale`: the last refresh failed and the last good snapshot (at most 7 days old) is served; `error` (no offers) also when redistribution rights are unavailable or the last successful refresh is older than 7 days.","enum":["ok","error","unconfigured","stale"]},"observedAt":{"anyOf":[{"type":"string","description":"When the source was last read successfully.","format":"date-time"},{"type":"null"}]},"attemptedAt":{"type":"string","description":"When a refresh was last attempted."},"count":{"type":"integer","description":"Records in the last accepted refresh."},"message":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","label","status","observedAt"]},"Catalog":{"type":"object","description":"The rights-qualified model and price catalog.","properties":{"models":{"type":"array","items":{"$ref":"#/components/schemas/Model"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"dataQuality":{"type":"object","description":"Rows rejected or quarantined by integrity checks.","properties":{"version":{"type":"string","const":"sfaie.catalog-quality.v1"},"status":{"type":"string","enum":["ok","degraded"]},"quarantinedOffers":{"type":"integer"},"issueCount":{"type":"integer"},"issues":{"type":"array","items":{"type":"object"},"description":"At most 100."},"issuesTruncated":{"type":"boolean"}},"required":["version","status"]},"coverage":{"type":"object","description":"Counts over the full catalog.","properties":{"models":{"type":"integer"},"offers":{"type":"integer"},"providers":{"type":"integer"},"priced":{"type":"integer"},"endpointModels":{"type":"integer"},"independentlyBenchmarked":{"type":"integer"}},"required":["models","offers","providers","priced","endpointModels","independentlyBenchmarked"]},"units":{"type":"object","description":"Units of every numeric offer field.","properties":{"version":{"type":"string","const":"sfaie.catalog-units.v1"},"tokenPrices":{"type":"string"},"unitPrice":{"type":"string"},"latencyMs":{"type":"string"},"throughput":{"type":"string"}},"required":["version"]},"policy":{"type":"object","properties":{"paidInference":{"type":"boolean"},"paidFeeds":{"type":"boolean"},"refreshMinutes":{"type":"integer"},"historyDays":{"type":"integer"},"benchmarkStatus":{"type":"string"}},"required":["paidInference","paidFeeds","refreshMinutes","historyDays","benchmarkStatus"]}},"required":["models","sources","coverage","units","policy"]},"CompactCatalog":{"type":"object","description":"Lossless compact encoding of the catalog (`view=slim`: the full catalog; `view=recent`: the 200 newest releases).","properties":{"format":{"type":"string","const":"sfai.catalog-compact.v1"},"modelKeys":{"type":"array","items":{"type":"string"},"description":"Keys every model has (a null value of one of these keys is omitted)."},"offerKeys":{"type":"array","items":{"type":"string"},"description":"Keys every offer has (likewise)."},"base":{"type":"object","description":"Every top-level catalog member except `models` (for `view=recent` also `view: \"recent\"` and `totalModels`)."},"models":{"type":"array","items":{"type":"object"},"description":"Compact models. An offer omits `modelId`, `parameters` or `context` when equal to its model's (listed in `$i`)."}},"required":["format","modelKeys","offerKeys","base","models"]},"CatalogIndex":{"type":"object","description":"LOSSY list and search projection of the catalog (`view=index`): each model with its headline offer only. Use `/catalog/models/{id}` or the full catalog for every offer.","properties":{"format":{"type":"string","const":"sfai.catalog-index.v1"},"base":{"type":"object","description":"Every top-level catalog member except `models` (sources without their raw-archive digests, coverage, units, policy, dataQuality)."},"community":{"type":"boolean","description":"True for `community=1` (every model); false for the connected-market models only."},"totalModels":{"type":"integer","description":"Models in the full catalog this index was cut from."},"fields":{"type":"array","items":{"type":"string"},"description":"Model fields of each row, in row order: `id`, `name` (clean display name), `aliases`, `developer`, `inputModalities`, `outputModalities`, `context`, `parameters`, `released`, `firstSeen`, `ticker`, `medusaId`, `benchmarkKey`, `sourceIdentity`."},"offerFields":{"type":"array","items":{"type":"string"},"description":"Fields of the headline offer, in order: `id`, `provider`, `channel`, `source`, `sourceUrl`, `observedAt`, `provenance`, `status`, `currency`, `unit`, `input`, `output`, `cacheRead`, `cacheWrite`, `unitPrice`, `context`, `region`, `quantization`, `tier`, `retention`, `pricingRules`."},"rows":{"type":"array","items":{"type":"array","items":{}},"description":"One row per model: the `fields` values, then the headline offer as `offerFields` values (or null), then `[offers, pairs, sources, flags, poolOffers, poolPairIndexes]` summarising the other offers (flags: 1 = some community offer, 2 = community only)."}},"required":["format","base","community","totalModels","fields","offerFields","rows"]},"CatalogModel":{"type":"object","description":"One model with all of its offers, cut from the same snapshot (and version) as the catalog.","properties":{"format":{"type":"string","const":"sfai.catalog-model.v1"},"canonical":{"type":"boolean","description":"False when `{id}` was a raw id or alias rather than the model's slug: link to `slug` instead."},"slug":{"type":"string","description":"The model's SF·SIX slug (as in https://sfsi.exchange/models/{slug})."},"model":{"$ref":"#/components/schemas/Model"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"},"description":"The sources this model's offers come from."},"coverage":{"type":"object"},"units":{"type":"object"},"policy":{"type":"object"}},"required":["format","canonical","slug","model","sources"]},"SourceFreshness":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"kind":{"type":"string","enum":["prices","community-prices","provider-detail","benchmarks"]},"status":{"type":"string","enum":["fresh","stale","error","unconfigured"]},"observedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"attemptedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"ageSeconds":{"anyOf":[{"type":"integer"},{"type":"null"}]},"staleAfterSeconds":{"type":"integer","description":"Age after which the source is labeled stale."},"records":{"type":"integer"}},"required":["id","label","kind","status","observedAt","attemptedAt","ageSeconds","staleAfterSeconds","records"]},"CatalogVersion":{"type":"object","properties":{"version":{"type":"string","const":"sfai.catalog-version.v1"},"catalogVersion":{"type":"string","description":"Changes whenever any catalog byte changes. Poll this and refetch the catalog only when it changes."},"generatedAt":{"type":"string","description":"When the current catalog snapshot was built.","format":"date-time"},"checkedAt":{"type":"string","description":"When freshness was computed.","format":"date-time"},"etags":{"type":"object","description":"Current strong ETag of each catalog view (`community=1`, default, `view=slim`, `view=recent`, `view=index`, `view=index&community=1`), quoted exactly as sent.","properties":{"full":{"type":"string"},"market":{"type":"string"},"slim":{"type":"string"},"recent":{"type":"string"},"index":{"type":"string"},"communityIndex":{"type":"string"}},"required":["full","market","slim","recent","index","communityIndex"]},"models":{"type":"object","properties":{"all":{"type":"integer"},"market":{"type":"integer"}},"required":["all","market"]},"freshness":{"type":"object","properties":{"status":{"type":"string","enum":["fresh","stale","error"]},"newestPriceObservedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/SourceFreshness"}}},"required":["status","newestPriceObservedAt","sources"]}},"required":["version","catalogVersion","generatedAt","checkedAt","etags","models","freshness"]},"Freshness":{"type":"object","properties":{"version":{"type":"string","const":"sfai.freshness.v1"},"checkedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"status":{"type":"string","description":"Worst state of the configured price sources.","enum":["fresh","stale","error"]},"newestPriceObservedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/SourceFreshness"}},"endpoints":{"anyOf":[{"type":"object","description":"Provider endpoint detail sweep: freshness, newest observation and sweep size."},{"type":"null"}]},"benchmarks":{"type":"array","items":{"$ref":"#/components/schemas/SourceFreshness"}},"refresh":{"type":"array","items":{"type":"object","properties":{"task":{"type":"string"},"lastSuccessAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAttemptAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"consecutiveFailures":{"type":"integer"}},"required":["task","lastSuccessAt","nextAttemptAt","consecutiveFailures"]}}},"required":["version","checkedAt","status","newestPriceObservedAt","sources","endpoints","benchmarks","refresh"]},"PriceChange":{"type":"object","description":"One observed material change of an offer (price, status, unit, pricing rules, or a new offer). Initial observations are not changes.","properties":{"id":{"type":"string","description":"Change id (int8 as a string)."},"offer_id":{"type":"string"},"model_id":{"type":"string"},"observed_at":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"payload":{"type":"object","properties":{"name":{"type":"string","description":"Model name."},"offer":{"type":"object","description":"The offer after the change (internal shape: `latency` in ms, no `latencyMs`)."},"previous":{"anyOf":[{"type":"object","description":"The offer before the change; null for a new offer."},{"type":"null"}]}},"required":["name","offer","previous"]}},"required":["id","offer_id","model_id","observed_at","payload"]},"MaterialChange":{"type":"object","description":"One material price change or new priced listing (`/changes?kind=price`). Community catalog references and OpenRouter's automatic-routing endpoint (a moving average, not a list price) are excluded.","properties":{"id":{"type":"string","description":"Change id (int8 as a string)."},"offer_id":{"type":"string"},"model_id":{"type":"string"},"observed_at":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"kind":{"type":"string","description":"`price`: a priced offer's input, output or unit rate changed; `listed`: a new priced offer.","enum":["price","listed"]},"payload":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","description":"Model name."},{"type":"null"}]},"offer":{"anyOf":[{"type":"object","description":"The offer after the change (price-relevant fields only)."},{"type":"null"}]},"previous":{"anyOf":[{"type":"object","description":"The offer before the change; null for a new listing."},{"type":"null"}]}},"required":["name","offer","previous"]}},"required":["id","offer_id","model_id","observed_at","kind","payload"]},"LatestChanges":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.model-change-index.v1"},"windowDays":{"type":"integer","description":"Change retention window in days."},"models":{"type":"array","items":{"type":"array","prefixItems":[{"type":"string","description":"Model id."},{"type":"string","description":"Newest material change.","format":"date-time"}],"minItems":2,"maxItems":2},"description":"[model id, time of its newest material change] pairs, sorted by id. Community-only models are excluded."}},"required":["version","windowDays","models"]},"PriceHistory":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.price-history.v1"},"modelId":{"type":"string"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"retentionDays":{"type":"integer","description":"Days of observed history retained."},"trackingInstalled":{"type":"boolean","description":"False until price tracking has been installed on this deployment."},"offers":{"type":"array","items":{"type":"object","properties":{"offerId":{"type":"string"},"provider":{"type":"string"},"channel":{"type":"string"},"source":{"type":"string"},"unit":{"type":"string"},"currency":{"type":"string"},"observedAt":{"type":"string"},"sourceUrl":{"type":"string"},"series":{"type":"array","items":{"type":"object","properties":{"metric":{"type":"string","enum":["input","output","price"]},"status":{"type":"string","enum":["series","flat","current-only","unavailable"]},"label":{"type":"string"},"steps":{"type":"array","items":{"type":"object","properties":{"t":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"kind":{"type":"string","enum":["first-observation","change","baseline","retention-bound","current"]}},"required":["t","value","kind"]}},"endAt":{"type":"string"},"trackingSince":{"anyOf":[{"type":"string"},{"type":"null"}]},"retentionStart":{"type":"string"},"truncatedByRetention":{"type":"boolean"}},"required":["metric","status","steps"]}}},"required":["offerId","provider","source","unit","currency","series"]},"description":"Observed step series per offer: each step is a value that held from one observation to the next. Token offers have `input` and `output` series, others one `price` series."},"community":{"type":"object","description":"Separately labeled community-reported list prices (LiteLLM, models.dev git history). Never merged with SF·SIX observations.","properties":{"status":{"type":"string","enum":["ok","none","not-installed","rights-unavailable"]},"series":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["litellm","models.dev"]},"sourceLabel":{"type":"string"},"repositoryUrl":{"type":"string"},"license":{"type":"string","description":"Licence of the community repository (cite it)."},"licenseUrl":{"type":"string"},"currency":{"type":"string"},"unit":{"type":"string"},"points":{"type":"array","items":{"type":"object"}}},"required":["source","license","points"]}}},"required":["status","series"]}},"required":["version","modelId","asOf","retentionDays","trackingInstalled","offers","community"]},"Benchmarks":{"type":"object","description":"Published benchmark scores with their source attribution. Scores keep the named evaluation, configuration and date; they are not an SF·SIX quality score.","properties":{"benchmarks":{"type":"array","items":{"type":"object","properties":{"modelKey":{"type":"string","description":"Matches `Model.benchmarkKey`."},"name":{"type":"string"},"source":{"type":"string"},"sourceUrl":{"type":"string"},"citation":{"type":"string","description":"How to cite the score."},"observedAt":{"type":"string"},"asOf":{"anyOf":[{"type":"string"},{"type":"null"}]},"license":{"anyOf":[{"type":"string"},{"type":"null"}]},"licenseUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"intelligence":{"anyOf":[{"type":"number"},{"type":"null"}]},"coding":{"anyOf":[{"type":"number"},{"type":"null"}]},"agentic":{"anyOf":[{"type":"number"},{"type":"null"}]},"benchmarkType":{"anyOf":[{"type":"string"},{"type":"null"}]},"accuracy":{"anyOf":[{"type":"number"},{"type":"null"}]},"sampleSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"uncertainty":{"anyOf":[{"type":"number"},{"type":"null"}]},"configuration":{"type":"string","description":"Evaluation configuration as a JSON string."}},"required":["modelKey","name","source","sourceUrl","citation","observedAt"]}},"sources":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"status":{"type":"string","enum":["ok","unavailable"]},"observedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"count":{"type":"integer"}},"required":["source","status"]}}},"required":["benchmarks","sources"]},"Capabilities":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.v1"},"mode":{"type":"string","const":"research"},"predictionNetwork":{"anyOf":[{"type":"string","const":"hedera-testnet"},{"type":"null"}]},"capabilities":{"type":"object","additionalProperties":{"type":"object","properties":{"status":{"type":"string","enum":["available","disabled","unavailable"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","reason"]},"description":"Feature (`catalog`, `workloadEstimates`, `providerClaims`, `rfq`, `activation`, `predictionSimulation`, `testnetTrading`, `realMoneyTrading`, `deposits`, `withdrawals`, `mainnet`) → state."},"policy":{"type":"object","properties":{"paidInference":{"type":"boolean"},"newPaidServices":{"type":"boolean"},"custody":{"type":"boolean"},"simulationPointsRedeemable":{"type":"boolean"}},"required":["paidInference","newPaidServices","custody","simulationPointsRedeemable"]}},"required":["version","mode","predictionNetwork","capabilities","policy"]},"MeasurementContract":{"type":"object","description":"The measurement domains the exchange keeps apart (external usage, procurement, simulation, live trading).","properties":{"version":{"type":"string","const":"sfaie.measurement.v1"},"crossDomainAggregation":{"const":false},"environmentsIncludedByDefault":{"type":"array","items":{"type":"string"}},"domains":{"type":"object","additionalProperties":{"type":"object","properties":{"label":{"type":"string"},"authority":{"type":"string"},"deduplication":{"type":"string"},"exclusions":{"type":"array","items":{"type":"string"}}},"required":["label","authority","deduplication","exclusions"]}},"revenueAttribution":{"type":"object"}},"required":["version","crossDomainAggregation","environmentsIncludedByDefault","domains","revenueAttribution"]},"ReleasePolicy":{"type":"object","description":"The release gates in force (every gated action and why it is not available).","properties":{"version":{"type":"string","const":"sfaie.release.v1"},"buildResultsApproveRelease":{"const":false},"actions":{"type":"object","additionalProperties":{"type":"object","properties":{"status":{"type":"string","enum":["available","disabled","unavailable"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","reason"]}}},"required":["version","buildResultsApproveRelease","actions"]},"UsageSnapshot":{"type":"object","description":"OpenRouter daily token rankings (usage.json).","properties":{"version":{"type":"string","const":"sfaie.natdaq-usage-snapshot.v1"},"source":{"type":"string","const":"openrouter"},"fetchedAt":{"type":"string","description":"When SF·SIX fetched the source data."},"meta":{"type":"object","properties":{"as_of":{"type":"string","description":"Source as-of time."},"start_date":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end_date":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["as_of","start_date","end_date"]},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"model_permaslug":{"type":"string","description":"OpenRouter model permaslug; `other` aggregates the rest."},"total_tokens":{"type":"string","description":"Tokens processed that UTC day.","pattern":"^\\d+$"}},"required":["date","model_permaslug","total_tokens"]},"description":"Daily token totals per model for every day of the window (top models per day)."}},"required":["version","source","fetchedAt","meta","data"]},"RequestSnapshot":{"type":"object","description":"Weekly request counts by modality (modalities.json).","properties":{"version":{"type":"string","const":"sfaie.natdaq-request-snapshot.v1"},"fetchedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"source":{"type":"string","const":"OpenRouter"},"license":{"type":"string","description":"Licence the source states for this feed. `Unverified for public-page feeds` unless the CC BY 4.0 statement was checked on every source page.","enum":["CC BY 4.0","Unverified for public-page feeds"]},"licenseEvidence":{"type":"object","description":"When present: the dated check of the CC BY 4.0 statement on each rankings page."},"modalities":{"type":"object","properties":{"image":{"type":"object","properties":{"sourceUrl":{"type":"string","format":"uri"},"period":{"type":"string","const":"Trailing seven days"},"metric":{"type":"string","const":"requests"},"start":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"chartCachedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"count":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"developer":{"type":"string"}},"required":["key","count","id","name","developer"]}},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"requests":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"other":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["date"]}}},"required":["sourceUrl","period","metric","start","end","rows","history"]},"video":{"type":"object","properties":{"sourceUrl":{"type":"string","format":"uri"},"period":{"type":"string","const":"Trailing seven days"},"metric":{"type":"string","const":"requests"},"start":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"chartCachedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"count":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"developer":{"type":"string"}},"required":["key","count","id","name","developer"]}},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"requests":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"other":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["date"]}}},"required":["sourceUrl","period","metric","start","end","rows","history"]},"speech":{"type":"object","properties":{"sourceUrl":{"type":"string","format":"uri"},"period":{"type":"string","const":"Trailing seven days"},"metric":{"type":"string","const":"requests"},"start":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"chartCachedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"count":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"developer":{"type":"string"}},"required":["key","count","id","name","developer"]}},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"requests":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"other":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["date"]}}},"required":["sourceUrl","period","metric","start","end","rows","history"]},"transcription":{"type":"object","properties":{"sourceUrl":{"type":"string","format":"uri"},"period":{"type":"string","const":"Trailing seven days"},"metric":{"type":"string","const":"requests"},"start":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"end":{"type":"string","description":"UTC calendar date (YYYY-MM-DD).","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"chartCachedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"count":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"type":"string"},"developer":{"type":"string"}},"required":["key","count","id","name","developer"]}},"history":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"requests":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"other":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["date"]}}},"required":["sourceUrl","period","metric","start","end","rows","history"]}},"required":["image","video","speech","transcription"]}},"required":["version","fetchedAt","source","license","modalities"]},"ModelUsageSnapshot":{"type":"object","description":"Weekly per-model request series by modality (model-usage.json).","properties":{"source":{"type":"string","const":"OpenRouter"},"fetchedAt":{"type":"string"},"license":{"type":"string","description":"Licence the source states for this feed. `Unverified for public-page feeds` unless the CC BY 4.0 statement was checked on every source page.","enum":["CC BY 4.0","Unverified for public-page feeds"]},"licenseEvidence":{"type":"object"},"feeds":{"type":"object","properties":{"image":{"type":"object","properties":{"sourceUrl":{"type":"string"},"aliases":{"type":"object","additionalProperties":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"values":{"type":"object","additionalProperties":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}}},"required":["date","values"]}}},"required":["sourceUrl","aliases","points"]},"speech":{"type":"object","properties":{"sourceUrl":{"type":"string"},"aliases":{"type":"object","additionalProperties":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"values":{"type":"object","additionalProperties":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}}},"required":["date","values"]}}},"required":["sourceUrl","aliases","points"]},"transcription":{"type":"object","properties":{"sourceUrl":{"type":"string"},"aliases":{"type":"object","additionalProperties":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"values":{"type":"object","additionalProperties":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}}},"required":["date","values"]}}},"required":["sourceUrl","aliases","points"]},"video":{"type":"object","properties":{"sourceUrl":{"type":"string"},"aliases":{"type":"object","additionalProperties":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"A Monday.","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"values":{"type":"object","additionalProperties":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}}},"required":["date","values"]}}},"required":["sourceUrl","aliases","points"]}},"required":["image","speech","transcription","video"]}},"required":["source","fetchedAt","license","feeds"]},"OpencodeSnapshot":{"type":"object","description":"opencode public usage data (opencode.json).","properties":{"source":{"type":"string","const":"opencode"},"url":{"type":"string","const":"https://opencode.ai/data/"},"includedInNATDAQ":{"const":false},"rows":{"type":"array","items":{"type":"object"},"description":"Rows as published by opencode (not part of any NATDAQ index)."}},"required":["source","url","includedInNATDAQ","rows"]},"IdentityEvent":{"type":"object","properties":{"source":{"type":"string"},"modelId":{"type":"string"},"revision":{"type":"integer","minimum":1,"maximum":10000},"observedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"recordedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"status":{"type":"string","enum":["listed","absent"]},"identity":{"anyOf":[{"type":"object","properties":{"version":{"type":"string","const":"sfaie.source-model-identity.v1"},"source":{"type":"string"},"sourceId":{"type":"string"},"canonicalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"expirationDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"observedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"reference":{"type":"string"}},"required":["version","source","sourceId"]},{"type":"null"}]}},"required":["source","modelId","revision","observedAt","status","identity"]},"IdentityTimeline":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.model-identity-timeline.v1"},"source":{"type":"string"},"modelId":{"type":"string"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"coverageThrough":{"anyOf":[{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},{"type":"null"}]},"revision":{"type":"integer","description":"Revision of the newest event (0 when there are none). Pass it back with `before` to page."},"beforeRevision":{"anyOf":[{"type":"integer"},{"type":"null"}]},"nextBeforeRevision":{"anyOf":[{"type":"integer","description":"Pass as `before` (with `revision`) for the previous page; null on the last page."},{"type":"null"}]},"resolution":{"anyOf":[{"type":"object","properties":{"source":{"type":"string"},"modelId":{"type":"string"},"observationCutoff":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"knowledgeCutoff":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"status":{"type":"string","enum":["listed","absent","unrecorded"]},"revision":{"anyOf":[{"type":"integer"},{"type":"null"}]},"observedAt":{"anyOf":[{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},{"type":"null"}]},"recordedAt":{"anyOf":[{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},{"type":"null"}]},"canonicalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"nativeId":{"anyOf":[{"type":"string"},{"type":"null"}]},"automaticMigration":{"const":false}},"required":["source","modelId","observationCutoff","knowledgeCutoff","status","revision","observedAt","recordedAt","canonicalId","nativeId","automaticMigration"]},{"type":"null"}]},"events":{"type":"array","items":{"$ref":"#/components/schemas/IdentityEvent"},"description":"Up to 50 events, oldest first.","maxItems":50}},"required":["version","source","modelId","asOf","coverageThrough","revision","beforeRevision","nextBeforeRevision","resolution","events"]},"NatdaqFrozenBaskets":{"type":"object","properties":{"status":{"type":"string","enum":["available","disabled"]},"baskets":{"type":"array","items":{"type":"object","properties":{"basketId":{"type":"string","enum":["NATDAQ10","NATDAQ50"]},"snapshotSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"frozenAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"basePoints":{"const":100},"calculation":{"type":"string","const":"frozen_member_total_over_base_total"},"missingMember":{"type":"string","const":"void"},"members":{"type":"array","items":{"type":"object","properties":{"modelId":{"type":"string"},"baseTokens":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["modelId","baseTokens"]}},"marketIds":{"type":"array","items":{"type":"string","pattern":"^0x[a-f0-9]{64}$"}}},"required":["basketId","snapshotSha256","frozenAt","basePoints","calculation","missingMember","members","marketIds"]}}},"required":["status","baskets"]},"NatdaqEvidence":{"type":"object","description":"A signed NATDAQ benchmark package with its replayable evidence.","properties":{"package":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.natdaq.benchmark.v1"},"evidenceSha256":{"type":"string"},"formula":{"type":"string"},"historyKind":{"type":"string","enum":["publication_time","reconstructed","backfilled"]},"finalization":{"type":"string","const":"provisional"},"coverage":{"type":"object"},"replay":{"type":"object"},"settlement":{"type":"object"},"quality":{"type":"object"},"sha256":{"type":"string"}},"required":["version","evidenceSha256","formula","historyKind","finalization","sha256"]},"signature":{"type":"object","properties":{"domain":{"type":"string","const":"sfaie.natdaq.benchmark.signature.v1"},"keyId":{"type":"string"},"packageSha256":{"type":"string"},"signature":{"type":"string","description":"Base64 signature over the package digest."}},"required":["domain","keyId","packageSha256","signature"]},"evidence":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.evidence.v1"},"ruleVersion":{"type":"string"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"observations":{"type":"array","items":{"type":"object"}},"sha256":{"type":"string"}},"required":["version","observations","sha256"]},"source":{"type":"object","properties":{"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"archivedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"}},"required":["asOf","archivedAt"]}},"required":["package","signature","evidence","source"]},"ModelMarketSearch":{"type":"object","properties":{"status":{"type":"string","const":"available"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"total":{"type":"integer"},"offset":{"type":"integer"},"limit":{"type":"integer"},"models":{"type":"array","items":{"type":"object","properties":{"modelId":{"type":"string"},"name":{"type":"string"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}]},"source":{"type":"string","enum":["openrouter","huggingface","fal","community","other"]},"linkedModelId":{"anyOf":[{"type":"string"},{"type":"null"}]},"price":{"type":"object","properties":{"tradable":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/Reason"},{"type":"null"}]}},"required":["tradable","reason"]},"usage":{"type":"object","properties":{"tradable":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/Reason"},{"type":"null"}]},"latestTokens":{"anyOf":[{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},{"type":"null"}]}},"required":["tradable","reason","latestTokens"]},"markets":{"type":"integer","description":"Listed markets on this model."},"volumeShares":{"type":"string","description":"All-time traded shares (testnet).","pattern":"^\\d+$"},"nextClose":{"anyOf":[{"type":"string","description":"Next market close (date or timestamp)."},{"type":"null"}]}},"required":["modelId","name","developer","source","linkedModelId","price","usage","markets","volumeShares","nextClose"]}},"templates":{"type":"object","properties":{"price":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string"},"digest":{"type":"string"}},"required":["templateId","digest"]},{"type":"null"}]},"usage":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string"},"digest":{"type":"string"}},"required":["templateId","digest"]},{"type":"null"}]}},"required":["price","usage"]}},"required":["status","asOf","total","offset","limit","models","templates"]},"ModelMarketCoverage":{"type":"object","properties":{"status":{"type":"string","const":"available"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"catalogModels":{"type":"integer"},"communityModels":{"type":"integer"},"routerOnlyModels":{"type":"integer"},"checkedModels":{"type":"integer"},"priceInput":{"type":"object","properties":{"tradable":{"type":"integer"},"reasons":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["tradable","reasons"]},"priceOutput":{"type":"object","properties":{"tradable":{"type":"integer"},"reasons":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["tradable","reasons"]},"usage":{"type":"object","properties":{"tradable":{"type":"integer"},"reasons":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["tradable","reasons"]},"reasonText":{"type":"object","additionalProperties":{"type":"string"},"description":"Reason code → explanation."},"priceMethodology":{"type":"string","enum":["cross-platform-v2","openrouter-endpoints-v1"]},"pricePlatforms":{"type":"object","properties":{"openrouterOnly":{"type":"integer"},"huggingfaceOnly":{"type":"integer"},"both":{"type":"integer"}},"required":["openrouterOnly","huggingfaceOnly","both"]}},"required":["status","asOf","catalogModels","communityModels","routerOnlyModels","checkedModels","priceInput","priceOutput","usage","reasonText","priceMethodology"]},"ModelMarketOverview":{"type":"object","properties":{"status":{"type":"string","const":"available"},"modelId":{"type":"string"},"name":{"type":"string"},"developer":{"anyOf":[{"type":"string"},{"type":"null"}]},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"network":{"type":"string","const":"hedera-testnet"},"testFundsOnly":{"const":true},"known":{"type":"boolean","description":"False for a model the catalog does not know (never a 404)."},"tradable":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/Reason"},{"type":"null"}]},"price":{"anyOf":[{"type":"object","properties":{"input":{"type":"object","description":"Average input price across included providers, with each provider quote and why it was included or excluded."},"output":{"type":"object"},"method":{"type":"string"}},"required":["input","output","method"]},{"type":"null"}]},"usage":{"anyOf":[{"type":"object","description":"Latest OpenRouter daily tokens and up to 14 days of history."},{"type":"null"}]},"ladders":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","enum":["price-input","price-output","usage"]},"templateId":{"anyOf":[{"type":"string"},{"type":"null"}]},"templateDigest":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["tradable","not_tradable"]},"reason":{"anyOf":[{"$ref":"#/components/schemas/Reason"},{"type":"null"}]},"expiries":{"type":"array","items":{"type":"object","description":"One weekly expiry with its reference value and strikes (each strike: market status, last and best prices in cents, volumes)."}}},"required":["key","templateId","templateDigest","status","reason","expiries"]}}},"required":["status","modelId","name","developer","asOf","network","testFundsOnly","known","tradable","reason","price","usage","ladders"]},"FundedMarket":{"type":"object","description":"An open, funded testnet prediction market and its resolution rule. Payouts are in test collateral.","properties":{"listingId":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"sourceUrl":{"type":"string"},"termsVersion":{"type":"string","description":"SHA-256 of the published contract terms.","pattern":"^[a-f0-9]{64}$"},"closeAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"resolutionDeadline":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"kind":{"type":"string","enum":["token_price","benchmark_score","benchmark_reported_score","source_usage","source_reported_usage","developer_share","head_to_head","natdaq_basket","model_avg_price","model_usage_total","user_freeform"]},"rule":{"type":"object","properties":{"sourceId":{"type":"string"},"scopeId":{"type":"string"},"entityId":{"type":"string"},"metric":{"type":"string"},"unit":{"type":"string"},"scale":{"type":"integer"},"thresholdCoefficient":{"type":"string","description":"Integer as a decimal string.","pattern":"^-?\\d+$"},"comparator":{"type":"string","enum":["gt","gte","lt","lte"]},"aggregation":{"type":"string","enum":["sum","last","mean_floor"]},"methodologyVersion":{"type":"string"},"bucketMilliseconds":{"type":"integer"},"windowStart":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"windowEnd":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"evidenceDeadline":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"challengeMilliseconds":{"type":"integer"},"revision":{"type":"integer"},"missingData":{"type":"string","const":"void"},"revisionPolicy":{"type":"string","const":"latest_at_deadline"}},"required":["sourceId","scopeId","entityId","metric","unit","scale","thresholdCoefficient","comparator","aggregation","methodologyVersion","bucketMilliseconds","windowStart","windowEnd","evidenceDeadline","challengeMilliseconds","revision","missingData","revisionPolicy"]},"feePolicy":{"type":"string","const":"none"},"payoutPerShareMicroUsd":{"type":"string","const":"1000000"},"voidPayoutPerShareMicroUsd":{"type":"string","const":"500000"},"losingPayoutPerShareMicroUsd":{"type":"string","const":"0"},"priceScaleCents":{"const":100}},"required":["listingId","title","summary","sourceUrl","termsVersion","closeAt","resolutionDeadline","kind","rule","feePolicy","payoutPerShareMicroUsd","voidPayoutPerShareMicroUsd","losingPayoutPerShareMicroUsd","priceScaleCents"]},"PredictionMarketDirectory":{"type":"object","properties":{"status":{"type":"string","description":"`disabled`/`not_installed`: markets are not running on this deployment (empty list).","enum":["available","disabled","not_installed"]},"markets":{"type":"array","items":{"$ref":"#/components/schemas/FundedMarket"}},"hasMore":{"type":"boolean"},"nextCursor":{"anyOf":[{"type":"string","description":"Pass as `after` to read the next page."},{"type":"null"}]}},"required":["status","markets","hasMore","nextCursor"]},"MarketData":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"marketId":{"type":"string","pattern":"^0x[a-f0-9]{64}$"},"listingId":{"type":"string"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"marketStatus":{"type":"string","enum":["open","suspended","closed"]},"stats":{"type":"object","properties":{"lastYesCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"change24hCents":{"anyOf":[{"type":"integer"},{"type":"null"}]},"volume24hShares":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"volume24hMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"volumeAllShares":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"tradeCount24h":{"type":"integer"}},"required":["lastYesCents","change24hCents","volume24hShares","volume24hMicroUsd","volumeAllShares","tradeCount24h"]},"book":{"type":"object","properties":{"YES":{"type":"object","properties":{"bids":{"type":"array","items":{"type":"object","properties":{"priceCents":{"type":"integer","minimum":1,"maximum":99},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"cumulative":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"impliedSize":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceCents","size","cumulative","impliedSize"]}},"asks":{"type":"array","items":{"type":"object","properties":{"priceCents":{"type":"integer","minimum":1,"maximum":99},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"cumulative":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"impliedSize":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceCents","size","cumulative","impliedSize"]}},"bestBidCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"bestAskCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"spreadCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"midDeciCents":{"anyOf":[{"type":"integer"},{"type":"null"}]},"crossed":{"type":"boolean"}},"required":["bids","asks","bestBidCents","bestAskCents","spreadCents","midDeciCents","crossed"]},"NO":{"type":"object","properties":{"bids":{"type":"array","items":{"type":"object","properties":{"priceCents":{"type":"integer","minimum":1,"maximum":99},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"cumulative":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"impliedSize":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceCents","size","cumulative","impliedSize"]}},"asks":{"type":"array","items":{"type":"object","properties":{"priceCents":{"type":"integer","minimum":1,"maximum":99},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"cumulative":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"impliedSize":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceCents","size","cumulative","impliedSize"]}},"bestBidCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"bestAskCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"spreadCents":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"midDeciCents":{"anyOf":[{"type":"integer"},{"type":"null"}]},"crossed":{"type":"boolean"}},"required":["bids","asks","bestBidCents","bestAskCents","spreadCents","midDeciCents","crossed"]}},"required":["YES","NO"]},"trades":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"outcome":{"type":"string","enum":["YES","NO"]},"takerSide":{"type":"string","enum":["buy","sell"]},"priceCents":{"type":"integer"},"yesPriceCents":{"type":"integer"},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"notionalMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"txHash":{"type":"string"},"explorerUrl":{"type":"string","description":"HashScan (testnet) transaction link."}},"required":["id","at","outcome","takerSide","priceCents","yesPriceCents","size","notionalMicroUsd","txHash","explorerUrl"]},"description":"Up to 50 confirmed trades, newest first.","maxItems":50},"candles":{"type":"object","properties":{"range":{"type":"string","enum":["1H","1D","1W","ALL"]},"bucketSeconds":{"type":"integer"},"points":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string"},"openCents":{"type":"integer"},"highCents":{"type":"integer"},"lowCents":{"type":"integer"},"closeCents":{"type":"integer"},"volume":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["time","openCents","highCents","lowCents","closeCents","volume"]}}},"required":["range","bucketSeconds","points"]}},"required":["status","marketId","listingId","asOf","marketStatus","stats","book","trades","candles"]},{"type":"object","properties":{"status":{"type":"string","description":"Markets are not running on this deployment.","enum":["disabled","not_installed"]}},"required":["status"]}]},"MarketActivityRecent":{"type":"object","properties":{"status":{"type":"string","enum":["available","not_installed","disabled"]},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"kind":{"type":"string"},"limit":{"type":"integer"},"trades":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"at":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"kind":{"type":"string","enum":["prediction","model_token"]},"marketKind":{"type":"string","enum":["prediction","open_market"]},"venue":{"type":"string","enum":["prediction","ito_aftermarket","ito_primary","ito_curve"]},"instrument":{"type":"object","properties":{"ref":{"type":"string"},"marketId":{"anyOf":[{"type":"string"},{"type":"null"}]},"title":{"type":"string"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"subject":{"anyOf":[{"type":"string"},{"type":"null"}]},"entityId":{"anyOf":[{"type":"string"},{"type":"null"}]},"metric":{"anyOf":[{"type":"string"},{"type":"null"}]},"modelRepo":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["ref","marketId","title","symbol","subject","entityId","metric","modelRepo"]},"side":{"type":"string","enum":["buy_yes","buy_no","sell_yes","sell_no","buy","sell"]},"priceCents":{"anyOf":[{"type":"integer"},{"type":"null"}]},"priceNanoUsd":{"anyOf":[{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},{"type":"null"}]},"size":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"notionalMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"txHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"explorerUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","at","kind","marketKind","venue","instrument","side","priceCents","priceNanoUsd","size","notionalMicroUsd","txHash","explorerUrl"]}}},"required":["status","trades"]},"MarketActivitySummary":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","const":"available"},"asOf":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"},"predictions":{"type":"object","properties":{"trades24h":{"type":"integer"},"volume24hMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"volume24hShares":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"traders24h":{"anyOf":[{"type":"integer","description":"Null below 5 distinct traders (k-anonymity)."},{"type":"null"}]},"openInterestShares":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["trades24h","volume24hMicroUsd","volume24hShares","traders24h","openInterestShares"]},"modelTokens":{"type":"object","properties":{"trades24h":{"type":"integer"},"volume24hMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["trades24h","volume24hMicroUsd"]}},"required":["status","asOf","predictions","modelTokens"]},{"type":"object","properties":{"status":{"type":"string","const":"disabled"}},"required":["status"]}]},"ItoStatus":{"type":"object","properties":{"available":{"type":"boolean"},"mode":{"type":"string","enum":["hedera-testnet","not_configured"]},"canCreate":{"type":"boolean"},"canTrade":{"type":"boolean"},"canUseModels":{"type":"boolean"},"hosting":{"type":"object","properties":{"creatorEndpoints":{"type":"boolean"},"huggingFace":{"type":"boolean"}},"required":["creatorEndpoints","huggingFace"]},"receiptSigner":{"type":"string","description":"Public address that signs usage receipts."},"creatorReleaseBps":{"type":"integer"},"maxRoyaltyBps":{"type":"integer"},"platformRoyaltyPpm":{"type":"integer"},"curve":{"type":"object","description":"Bonding-curve fee and steepness parameters."},"reason":{"type":"string","description":"Why the feature is limited, when it is."}},"required":["available","mode","canCreate","canTrade","canUseModels","hosting","maxRoyaltyBps","curve"]},"Offering":{"type":"object","description":"A model token offering on the Hedera testnet. Amounts are decimal strings.","properties":{"id":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"modelRepo":{"type":"string"},"modelRevision":{"type":"string"},"status":{"type":"string","enum":["draft","open","sold_out","market_live","failed","halted"]},"termsHash":{"type":"string"},"supplyMode":{"type":"string","enum":["fixed","unlimited"]},"freezeMode":{"type":"string","enum":["freezable","non_freezable"]},"totalSupply":{"anyOf":[{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},{"type":"null"}]},"itoQuantity":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"initialPriceNanoUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"closesAt":{"type":"string"},"soldQuantity":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"tokenId":{"anyOf":[{"type":"string","description":"Hedera testnet token id once minted."},{"type":"null"}]},"createdAt":{"type":"string"},"tradingPausedAt":{"type":"string","description":"Present only while SF·SIX operators have paused this offering's trading: when the pause began. New purchases, aftermarket orders and curve trades are refused until it is lifted; order cancellations, refunds, settlement and model use continue.","format":"date-time"},"creatorVerification":{"type":"object","description":"Current, approved creator verification badges.","properties":{"identity":{"type":"boolean"},"business":{"type":"boolean"}},"required":["identity","business"]}},"required":["id","name","symbol","modelRepo","status","termsHash","createdAt","creatorVerification"]},"OfferingList":{"type":"object","properties":{"offerings":{"type":"array","items":{"$ref":"#/components/schemas/Offering"},"description":"One page, newest first (ties by id), at most `limit` (100 by default); drafts are never listed.","maxItems":100},"nextCursor":{"anyOf":[{"type":"string","description":"Opaque: pass as `cursor` to read the next (older) page; `null` on the last page."},{"type":"null"}]}},"required":["offerings","nextCursor"]},"OfferingDetail":{"type":"object","properties":{"offering":{"$ref":"#/components/schemas/Offering"},"book":{"type":"object","properties":{"bids":{"type":"array","items":{"type":"object","properties":{"priceNanoUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"quantity":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceNanoUsd","quantity"]}},"asks":{"type":"array","items":{"type":"object","properties":{"priceNanoUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"quantity":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"}},"required":["priceNanoUsd","quantity"]}}},"required":["bids","asks"]},"trades":{"type":"array","items":{"type":"object"},"description":"Up to 200 aftermarket trades.","maxItems":200},"candles":{"type":"array","items":{"type":"object"},"description":"Up to 168 hourly candles (nano-USD).","maxItems":168},"curveTrades":{"type":"array","items":{"type":"object"},"description":"Bonding-curve trades, when the offering uses a curve.","maxItems":100}},"required":["offering","book","trades","candles"]},"PlatformStatus":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.platform-status.v1"},"status":{"type":"string","enum":["operational","degraded","outage"]},"features":{"type":"object","additionalProperties":{"type":"string","enum":["operational","degraded","outage","unknown"]},"description":"Feature (`trading`, `model_markets`, `user_markets`, `ito`, `faucet`, `withdrawals`, `catalog`) → state."},"observedAt":{"type":"string","description":"ISO 8601 UTC timestamp.","format":"date-time"}},"required":["version","status","features","observedAt"]},"NetworkFeeEstimates":{"type":"object","properties":{"version":{"type":"string","const":"sfaie.network-fee-estimates.v1"},"markupBps":{"type":"integer"},"passthrough":{"type":"boolean"},"policy":{"type":"string"},"currency":{"type":"string","const":"USD"},"estimates":{"type":"object","additionalProperties":{"type":"object","properties":{"estimateMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"costMicroUsd":{"type":"string","description":"Non-negative integer as a decimal string (may exceed 2^53).","pattern":"^\\d+$"},"basis":{"type":"string","enum":["recent","gas_price"]}},"required":["estimateMicroUsd","costMicroUsd","basis"]},"description":"Operation → Hedera testnet network fee estimate in micro-USD (may be empty)."}},"required":["version","markupBps","passthrough","policy","currency","estimates"]}},"parameters":{"IfNoneMatch":{"name":"If-None-Match","in":"header","required":false,"description":"An ETag from a previous response: 304 Not Modified (empty body) when unchanged. On weak-ETag routes a request that also sends `Cache-Control: no-cache` (as browser `fetch` does when you set a validator yourself) always gets a full 200.","schema":{"type":"string"}}},"headers":{"ETag":{"description":"Entity tag of this representation (strong `\"<tag>-<sha256 prefix>\"` on catalog-class data, otherwise weak `W/\"…\"`).","schema":{"type":"string"}},"RetryAfter":{"description":"Seconds to wait before retrying.","schema":{"type":"string","pattern":"^\\d+$"}},"RequestId":{"description":"Identifier of this request: your own `X-Request-Id` when it is well formed, otherwise a new one. Error bodies repeat it as `requestId`; quote it when you report a problem.","schema":{"type":"string","minLength":1}}},"responses":{"NotModified":{"description":"Unchanged since the ETag sent in `If-None-Match` (no body)."},"RateLimited":{"description":"Per-client budget exceeded (`RATE_LIMITED`). Wait `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"RouteNotFound":{"description":"No such API route (`NOT_FOUND`).","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"InternalError":{"description":"Unexpected server failure (`INTERNAL_ERROR`); a later retry may succeed. The body names the request but never the cause.","headers":{"Cache-Control":{"description":"Cache-Control for this response: `no-store`.","schema":{"type":"string","const":"no-store"}},"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}