Polyrankdocs
Rankings

POST /v1/rankings/custom

Compute a composite ranking over the wallet cohort with user-supplied weights and filters. The composite score is a weighted sum of percentile ranks across the chosen metrics; weights are auto-normalized. Paid feature (Builder).

POST
/v1/rankings/custom

Compute a composite ranking over the wallet cohort with user-supplied weights and filters. The composite score is a weighted sum of percentile ranks across the chosen metrics; weights are auto-normalized. Paid feature (Builder).

AuthorizationBearer <token>

API key: Authorization: Bearer pk_live_… (mint at polyrank.app/api-keys)

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/v1/rankings/custom" \  -H "Content-Type: application/json" \  -d '{    "weights": {      "property1": {        "weight": 0      },      "property2": {        "weight": 0      }    }  }'
{  "rows": [    {      "rank": -9007199254740991,      "proxy_wallet": "string",      "user_id": "string",      "wallet_count": -9007199254740991,      "wallets": [        {          "proxy_wallet": "string",          "realized_pnl": 0,          "lifetime_volume_usdc": 0,          "trade_count": -9007199254740991,          "win_rate_pct": 0,          "display": {            "username": "string",            "pseudonym": "string",            "profile_image": "string",            "verified": true          }        }      ],      "display": {        "username": "string",        "pseudonym": "string",        "profile_image": "string",        "verified": true      },      "composite_score": 0,      "lifetime_volume_usdc": 0,      "realized_pnl": 0,      "trade_count": -9007199254740991,      "markets_traded": -9007199254740991,      "win_rate_pct": 0,      "profit_per_dollar_risked": 0,      "return_on_avg_capital": 0,      "pnl_net_usdc": 0,      "roi_net": 0,      "prediction_accuracy_pct": 0,      "prediction_n": -9007199254740991,      "prediction_avg_price": 0,      "brier": 0,      "last_trade_at": "string",      "last_fill_at": "string",      "breakdown": {        "property1": 0,        "property2": 0      },      "raw": {        "property1": 0,        "property2": 0      },      "engine": {        "property1": 0,        "property2": 0      },      "breakdown_measured": {        "property1": true,        "property2": true      },      "verdict": {        "overall": 0,        "tone": "good",        "title": "string",        "topTag": {          "label": "string",          "tone": "good",          "title": "string"        },        "copyRecommended": true,        "copiesBadly": true      },      "cluster_id": "string",      "cluster_size": -9007199254740991    }  ],  "total_rows": -9007199254740991,  "cohort_size": -9007199254740991,  "eligible_universe": -9007199254740991,  "normalized_weights": {    "property1": 0,    "property2": 0  },  "gated_out_count": -9007199254740991,  "query_ms": -9007199254740991,  "snapshot_age_seconds": -9007199254740991,  "applied_filters": {    "active_within_days": -9007199254740991  },  "rows_capped_at": -9007199254740991,  "preset_redirect": {    "from": "string",    "to": "string"  },  "dropped_weights": [    "string"  ],  "dropped_gates": [    {      "kind": "skill_gate",      "metric": "string",      "window": "string",      "reason": "string"    }  ],  "effective_weights": {    "property1": 0,    "property2": 0  },  "grain": "wallet",  "explain": {    "cohort_size": -9007199254740991,    "gates": [      {        "label": "string",        "condition": "string",        "dropped": -9007199254740991,        "remaining": -9007199254740991      }    ]  }}