/cex/exchanges/weightscex-exchangeWeightsReturns the per-venue confidence registry that drives CWAP (Confidence-Weighted Average Price) and FMAP (Fixed Mean Average Price). Each entry includes the aggregate 0-100 score, a four-axis breakdown (regulatory, liquidity, track record, data quality), and an operator-written summary explaining the score. The response also carries the scoring rubric so callers know what each axis means without reading the source. Updated by PR review of packages/libs/price-aggregation/src/exchange-weights.ts; the next aggregation cycle picks up changes without a migration.
| Name | Location | Details |
|---|---|---|
BearerAuth | Authorization header · bearer | JWT issued by the Honeycluster auth service for the `oracle` audience. Present as `Authorization: Bearer <token>`. |
| Field | Type | Description |
|---|---|---|
rubric | object | |
rubric. | string | Top-level explanation of the registry. |
rubric. | object | |
rubric. | object | |
rubric. | number | Maximum value this axis can contribute. |
rubric. | string | How operators score this axis. |
rubric. | object | |
rubric. | number | Maximum value this axis can contribute. |
rubric. | string | How operators score this axis. |
rubric. | object | |
rubric. | number | Maximum value this axis can contribute. |
rubric. | string | How operators score this axis. |
rubric. | object | |
rubric. | number | Maximum value this axis can contribute. |
rubric. | string | How operators score this axis. |
items | object[] | Per-venue scores + rationale, sorted by confidence desc. |
items[]. | string | Exchange identifier. |
items[]. | number | Aggregate 0-100 score (= sum of axes). Used by CWAP and FMAP. |
items[]. | object | |
items[]. | number | Regulatory standing score (0-30). |
items[]. | number | Liquidity tier score (0-30). |
items[]. | number | Operational track record score (0-25). |
items[]. | number | Data quality / coverage score (0-15). |
items[]. | string | Operator-written rationale for the score. |
{
"rubric": {
"description": "Per-exchange confidence (0-100). Higher = more trust…",
"axes": {
"regulatory": {
"max": 30,
"description": "Regulatory standing…"
},
"liquidity": {
"max": 30,
"description": "Liquidity tier…"
},
"trackRecord": {
"max": 25,
"description": "Operational track record…"
},
"dataQuality": {
"max": 15,
"description": "Data quality…"
}
}
},
"items": [
{
"exchangeId": "COINBASE",
"confidence": 95,
"axes": {
"regulatory": 30,
"liquidity": 28,
"trackRecord": 22,
"dataQuality": 15
},
"summary": "US-regulated (NYDFS BitLicense + CFTC), public on NASDAQ as COIN…"
}
]
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}| Field | Type | Description |
|---|---|---|
message | string | The error message |
code | string | The error code |
issues | object[] | An array of issues that were responsible for the error |
issues[]. | string |
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}