---
title: "Get trading stats for users"
method: POST
path: "/v1/users/trading-stats"
tags: ["user"]
---

# Get trading stats for users

`POST /v1/users/trading-stats`

## Request body

- object
  - `userIds` string[], required
  - `period` '24h' | '7d' | '30d' | 'all', required

## Response `200`

Successful response

- object[]
  - `user` PublicUser, required
    - `id` string, required
    - `telegram_id` string, nullable, required
    - `username` string, required
    - `display_name` string, required
    - `referral_code` string, nullable, required
    - `referral_code_alt` string, nullable, required
    - `referred_by_id` string, nullable, required
    - `wallet_address` string, nullable, required
    - `created_at` string, required
    - `updated_at` string, required
    - `x_username` string, nullable, required
    - `last_online` string, nullable, required
    - `last_online_mobile` string, nullable, required
    - `avatar_url` string, required
    - `bio` string, nullable, required
    - `clan_id` string, nullable, required
    - `clan` UserClan, nullable
      - `id` string, required
      - `name` string, required
      - `description` string, nullable, required
      - `image_url` string, nullable, required
      - `banner_url` string, nullable, required
      - `chat_room_id` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `rank` integer, nullable, required
    - `rank_testnet` integer, nullable, required
    - `streak` integer, nullable, required
    - `elo` integer, nullable, required
    - `is_npc` boolean, required
    - `last_reset_at` string, nullable, required
    - `feature_image` string, required
    - `completed_onboarding` boolean, required
    - `dismissed_trade_note_cta` boolean, required
    - `has_deposited` boolean, required
    - `invite_code_id` string, nullable, required
    - `main_signer_quorum_id` string, nullable, required
    - `builder_fee_override` integer, nullable, required
    - `fee_rebate_rate` number, nullable, required
    - `deleted_at` string, nullable, required
    - `network_mode` 'hyperliquid_testnet' | 'hyperliquid_mainnet' | 'hyperliquid_paper', required
    - `restrict_dms_to_following` boolean, required
    - `pnl_share_enabled` boolean, required
    - `pnl_share_rate` number, required
    - `acknowledged_season_zero` boolean, required
    - `notification_preferences` unknown, required
    - `fat_finger_settings` unknown, required
    - `account_value_tier` integer, required
    - `is_official` boolean, required
    - `trader_level_seen` integer, nullable, required
    - `max_market_order_slippage` number, nullable, required
    - `wallets` Wallet[]
      - `id` string, required
      - `user_id` string, required
      - `address` string, required
      - `type` 'primary' | 'arena' | 'copy_trading', required
      - `privy_wallet_id` string, required
      - `signer_quorum_id` string, nullable, required
      - `hl_setup_complete` boolean, required
      - `created_at` string, required
      - `updated_at` string, required
  - `rank` integer, required
  - `snapshot` unknown, required
  - `topPositions` object[], required
    - `symbol` string, required
    - `side` 'LONG' | 'SHORT', required
    - `size` number, required
    - `entry_price` number, required
    - `unrealized_pnl` number, required
    - `linked_post_id` string, uuid, nullable, required
  - `copiedBy` CopiedBy, required
    - `users` PublicUser[], required
      - `id` string, required
      - `telegram_id` string, nullable, required
      - `username` string, required
      - `display_name` string, required
      - `referral_code` string, nullable, required
      - `referral_code_alt` string, nullable, required
      - `referred_by_id` string, nullable, required
      - `wallet_address` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
      - `x_username` string, nullable, required
      - `last_online` string, nullable, required
      - `last_online_mobile` string, nullable, required
      - `avatar_url` string, required
      - `bio` string, nullable, required
      - `clan_id` string, nullable, required
      - `clan` UserClan, nullable
        - `id` string, required
        - `name` string, required
        - `description` string, nullable, required
        - `image_url` string, nullable, required
        - `banner_url` string, nullable, required
        - `chat_room_id` string, nullable, required
        - `created_at` string, required
        - `updated_at` string, required
      - `rank` integer, nullable, required
      - `rank_testnet` integer, nullable, required
      - `streak` integer, nullable, required
      - `elo` integer, nullable, required
      - `is_npc` boolean, required
      - `last_reset_at` string, nullable, required
      - `feature_image` string, required
      - `completed_onboarding` boolean, required
      - `dismissed_trade_note_cta` boolean, required
      - `has_deposited` boolean, required
      - `invite_code_id` string, nullable, required
      - `main_signer_quorum_id` string, nullable, required
      - `builder_fee_override` integer, nullable, required
      - `fee_rebate_rate` number, nullable, required
      - `deleted_at` string, nullable, required
      - `network_mode` 'hyperliquid_testnet' | 'hyperliquid_mainnet' | 'hyperliquid_paper', required
      - `restrict_dms_to_following` boolean, required
      - `pnl_share_enabled` boolean, required
      - `pnl_share_rate` number, required
      - `acknowledged_season_zero` boolean, required
      - `notification_preferences` unknown, required
      - `fat_finger_settings` unknown, required
      - `account_value_tier` integer, required
      - `is_official` boolean, required
      - `trader_level_seen` integer, nullable, required
      - `max_market_order_slippage` number, nullable, required
      - `wallets` Wallet[]
        - `id` string, required
        - `user_id` string, required
        - `address` string, required
        - `type` 'primary' | 'arena' | 'copy_trading', required
        - `privy_wallet_id` string, required
        - `signer_quorum_id` string, nullable, required
        - `hl_setup_complete` boolean, required
        - `created_at` string, required
        - `updated_at` string, required
    - `totalCount` integer, required
  - `volumeUsd` number, required
  - `accountValue` number, nullable, required
  - `totalProfitUsd` number, required
  - `roiPercent` number, nullable, required
  - `tradeWinRate` number, nullable, required
  - `avgWinPercent` number, nullable, required
  - `avgHoldTimeHours` number, nullable, required
  - `sharpeRatio` number, nullable, required
  - `elo` number, nullable
  - `wins` integer, required
  - `losses` integer, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `500` — Internal server error

---

[API](https://skmtc.net/legend/apis/legend-api.md) · [All operations](https://skmtc.net/legend/apis/legend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/legend/legend-api/versions/34b8f4885f8a/schema)
