Get Leaderboard
Fetch the global leaderboard rankings for traders based on profit, volume, or other metrics.
Number of leaderboard entries to return (max 100)
Number of records to skip for pagination
Category to filter by. Options:
overall - All markets
crypto - Cryptocurrency markets
sports - Sports markets
politics - Political markets
- Custom category names
Time period for rankings. Options:
today - Today’s performance
weekly - This week’s performance
monthly - This month’s performance
all - All-time performance
Sort metric. Options:
PNL - Profit and loss
volume - Trading volume
Optional search query to filter by username
Optional wallet address to get a specific user’s ranking
Response
The user’s rank position on the leaderboard
The user’s proxy wallet address
The user’s X (Twitter) username
Total trading volume in USD
URL to the user’s profile image
Whether the user has a verified badge
Example Request
curl -X GET "https://api.kuest.com/v1/leaderboard?limit=20&offset=0&category=overall&timePeriod=monthly&orderBy=PNL" \
-H "Content-Type: application/json"
```bash
### Example Response
```json
[
{
"rank": 1,
"proxyWallet": "0x1234567890abcdef",
"userName": "crypto_master",
"xUsername": "cryptomaster",
"vol": 125000.50,
"pnl": 15234.75,
"profileImage": "https://cdn.kuest.com/avatars/user1.jpg",
"verifiedBadge": true
},
{
"rank": 2,
"proxyWallet": "0xabcdef1234567890",
"userName": "market_guru",
"vol": 98000.25,
"pnl": 12500.00,
"profileImage": "https://cdn.kuest.com/avatars/user2.jpg",
"verifiedBadge": false
}
]
```bash
## Get Biggest Winners
Retrieve the biggest winning trades for a given time period and category.
<ParamField query="limit" type="string" default="20">
Number of entries to return (max 100)
</ParamField>
<ParamField query="offset" type="string" default="0">
Number of records to skip for pagination
</ParamField>
<ParamField query="category" type="string" default="overall">
Category to filter by (same options as leaderboard)
</ParamField>
<ParamField query="timePeriod" type="string" default="monthly">
Time period for biggest wins (same options as leaderboard)
</ParamField>
### Response
<ResponseField name="rank" type="number | string">
Position in the biggest winners list
</ResponseField>
<ResponseField name="winRank" type="number | string">
Alternative rank field for wins
</ResponseField>
<ResponseField name="proxyWallet" type="string">
The user's proxy wallet address
</ResponseField>
<ResponseField name="userName" type="string">
The user's display name
</ResponseField>
<ResponseField name="xUsername" type="string">
The user's X (Twitter) username
</ResponseField>
<ResponseField name="profileImage" type="string">
URL to the user's profile image
</ResponseField>
<ResponseField name="eventTitle" type="string">
Title of the market/event for this win
</ResponseField>
<ResponseField name="eventSlug" type="string">
Event slug identifier
</ResponseField>
<ResponseField name="marketSlug" type="string">
Market slug identifier
</ResponseField>
<ResponseField name="amountIn" type="number">
Initial investment amount in USD
</ResponseField>
<ResponseField name="amountOut" type="number">
Final payout amount in USD
</ResponseField>
<ResponseField name="initialValue" type="number">
Alternative field for initial value
</ResponseField>
<ResponseField name="finalValue" type="number">
Alternative field for final value
</ResponseField>
### Example Request
```bash cURL
curl -X GET "https://api.kuest.com/v1/biggest-winners?limit=20&offset=0&category=overall&timePeriod=monthly" \
-H "Content-Type: application/json"
```bash
### Example Response
```json
[
{
"rank": 1,
"winRank": 1,
"proxyWallet": "0x1234567890abcdef",
"userName": "lucky_trader",
"xUsername": "luckytrader",
"profileImage": "https://cdn.kuest.com/avatars/user3.jpg",
"eventTitle": "Will Bitcoin reach $100k in 2024?",
"eventSlug": "crypto-predictions",
"marketSlug": "bitcoin-100k-2024",
"amountIn": 100.00,
"amountOut": 850.50
},
{
"rank": 2,
"proxyWallet": "0xabcdef1234567890",
"userName": "smart_bettor",
"profileImage": "https://cdn.kuest.com/avatars/user4.jpg",
"eventTitle": "Super Bowl Winner 2024",
"eventSlug": "sports-2024",
"marketSlug": "super-bowl-winner",
"amountIn": 250.00,
"amountOut": 1200.75
}
]
```bash
## Search Users
Search for users by username to display in leaderboards or profiles.
<ParamField query="search" type="string" required>
Search query (minimum 2 characters)
</ParamField>
### Response
Returns an array of user profiles matching the search query (max 10 results).
<ResponseField name="address" type="string">
The user's public wallet address
</ResponseField>
<ResponseField name="proxy_wallet_address" type="string | null">
The user's proxy wallet address if available
</ResponseField>
<ResponseField name="username" type="string">
The user's username
</ResponseField>
<ResponseField name="image" type="string">
URL to the user's profile image
</ResponseField>
<ResponseField name="created_at" type="string">
ISO 8601 timestamp of account creation
</ResponseField>
### Example Request
```bash cURL
curl -X GET "https://api.kuest.com/api/users?search=alice" \
-H "Content-Type: application/json"
```bash
### Example Response
```json
[
{
"address": "0x1234567890abcdef",
"proxy_wallet_address": "0xproxy123...",
"username": "alice_crypto",
"image": "https://cdn.kuest.com/avatars/alice.jpg",
"created_at": "2024-01-15T10:30:00Z"
},
{
"address": "0xabcdef1234567890",
"proxy_wallet_address": null,
"username": "alice_trader",
"image": "https://cdn.kuest.com/avatars/alice2.jpg",
"created_at": "2024-02-20T14:22:00Z"
}
]
```bash
<Note>
The leaderboard updates periodically. Rankings are calculated based on verified on-chain data. Use the `user` parameter to get a specific user's current rank.
</Note>
<Warning>
The search endpoint requires a minimum of 2 characters and returns a maximum of 10 results sorted by username.
</Warning>