---
title: "GET /api/v1/user/competitions/{competition_id}/placement"
method: GET
path: "/api/v1/user/competitions/{competition_id}/placement"
tags: ["user"]
---

# GET /api/v1/user/competitions/{competition_id}/placement

`GET /api/v1/user/competitions/{competition_id}/placement`

## Path parameters

- `competition_id` string, required

## Query parameters

- `sub_account` string, nullable

## Response `200`

Own competition placement

- CompetitionPlacementResponse
  - `competition` CompetitionSummary, required
    - `description_md` string, required
    - `end_time_ms` integer, required
    - `id` string, required
    - `prize_usdc` integer, required
    - `scoring` CompetitionScoringConfig, required — Parameters that drive score calculation. - min_daily_activity_units is raw USDC 1e6 units. - All bps values are basis points (1 bp = 0.01%).
      - `consistency_max_bonus_bps` integer, nullable — Max bonus (bps) granted when a participant hits `consistency_target_days`.
      - `consistency_target_days` integer, nullable — Target active day count for maximum bonus; required when `use_consistency_multiplier`.
      - `end_weight_bps` integer, required — Weight applied to the last day, in bps. Linear interpolation between start and end.
      - `max_daily_contribution_bps` integer, required — Per-day contribution cap as a fraction (bps) of the positive sum across the window.
      - `metric` 'volume' | 'pnl', required
      - `min_active_days` integer, required — Required active days for a sub-account to qualify for a rank.
      - `min_daily_activity_units` integer, required — Minimum daily raw metric value (USDC 1e6 units) for a day to count toward `active_days`.
      - `start_weight_bps` integer, required — Weight applied to the first day, in bps (typical: 10000 = 100%).
      - `use_consistency_multiplier` boolean — Whether to apply the consistency multiplier (scales with active days).
    - `slug` string, required
    - `start_time_ms` integer, required
    - `status` 'draft' | 'scheduled' | 'active' | 'ended' | 'cancelled', required
    - `symbol` string, nullable
    - `title` string, required
  - `data` CompetitionLeaderboardData[], required
    - `active_days` integer, required — Number of days that met the daily-activity threshold.
    - `eligible` boolean, required — Whether this entry is eligible to be ranked (min active days met, score > 0).
    - `ineligible_reason` string, nullable
    - `metric_value` string, required — Raw metric total across all days (before capping / weighting).
    - `projected_xp` string, required — Live display-only XP projected from the current eligible leaderboard scores.
    - `rank` integer, nullable
    - `score` string, required — Weighted, capped score summed across all days.
    - `sub_account_address` string, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Competition not found

---

[API](https://skmtc.net/ekidenfi/apis/ekiden-gateway.md) · [All operations](https://skmtc.net/ekidenfi/apis/ekiden-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ekidenfi/ekiden-gateway/revisions/75ffe546b73a/schema)
