{"openapi":"3.1.0","servers":[{"url":"https://game-api.evedex.com"}],"info":{"title":"EVEDEX - Game","version":"1.0.0"},"paths":{"/api/ping":{"get":{"tags":["System"],"security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PingResponse"}}}}}}},"/api/redirect/{questId}":{"get":{"tags":["Redirect"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"questId","schema":{"type":"string","format":"uuid"},"required":true},{"in":"query","name":"jwt","schema":{"type":"string"},"required":true}],"responses":{"302":{"description":"302 OK"}}}},"/api/user/{id}":{"put":{"tags":["User"],"security":[{"InternalKey":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"competitionJoinAt":{"type":"string"}},"required":["competitionJoinAt"]}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}},"/api/user/referral-fee-batch":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"},"percent":{"type":"number"}},"required":["authId","percent"]}}}}}}}},"/api/user/me":{"get":{"tags":["User"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMe"}}}}}}},"/api/user/manual-xp-award":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualXpAwardBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualXpAwardResponse"}}}}}}},"/api/user/manual-award-upload":{"post":{"tags":["User"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"line":{"type":"string"},"reason":{"type":"string"}},"required":["line","reason"]}}}}}}}},"/api/user/manual-award-batch":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualAwardBatchBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualAwardListResponse"}}}}}}},"/api/user/manual-award":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualAward"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualAwardListResponse"}}}}}}},"/api/user/lookup":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLookupBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/UserLookup"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/user":{"get":{"tags":["User"],"security":[{"InternalKey":[]}],"parameters":[{"in":"query","name":"wallet","description":"Wallet address","schema":{"type":"string","description":"Wallet address"}},{"in":"query","name":"authId","description":"authId","schema":{"type":"string","description":"authId"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserInternal"}}}}}}},"/api/user/fee-rates":{"get":{"tags":["User"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeeRates"}}}}}}},"/api/user/account":{"post":{"tags":["User"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"authId":{"type":"string","format":"uuid","description":"Wallet address"},"avatar":{"type":"string"},"referralCode":{"type":"string"},"disabled":{"type":["boolean","null"],"description":"Wallet address"},"subscribedAt":{"type":["string","null"],"default":null,"description":"Prime subscription added date"}},"required":["authId","disabled"]}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}},"/api/skill/list":{"get":{"tags":["Skill"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/UserSkillTree"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/skill":{"get":{"tags":["Skill"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSkillTree"}}}}}}},"/api/skill/select":{"post":{"tags":["Skill"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectSkillBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectSkillResponse"}}}}}}},"/api/skill/public":{"get":{"tags":["Skill"],"security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/PublicSkill"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/skill/flush":{"post":{"tags":["Skill"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectSkillResponse"}}}}}}},"/api/skill/claim":{"post":{"tags":["Skill"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectSkillResponse"}}}}}}},"/api/reward":{"get":{"tags":["Reward"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRewardListObject"}}}}}}},"/api/reward/history":{"get":{"tags":["Reward"],"description":"Get reward grant history","security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"action","schema":{"type":"string","enum":["reward.points","reward.luckyshot-ticket","reward.collectable-ticket","reward.bundle","adjust.xp"]}},{"in":"query","name":"targetUser","schema":{"type":"string"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardHistoryResponse"}}}}}}},"/api/reward/claim":{"post":{"tags":["Reward"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimResponse"}}}}}}},"/api/reward/points":{"post":{"tags":["Reward"],"description":"Award Points to user","security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardPointsBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardPointsResponse"}}}}}}},"/api/reward/luckyshot-ticket":{"post":{"tags":["Reward"],"description":"Award LuckyShotTicket to user","security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardTicketBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardTicketResponse"}}}}}}},"/api/reward/collectable-ticket":{"post":{"tags":["Reward"],"description":"Award CollectableTicket to user","security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardTicketBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardTicketResponse"}}}}}}},"/api/reward/bundle":{"post":{"tags":["Reward"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardBundleBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardBundleResponse"}}}}}}},"/api/reward/adjust-xp":{"post":{"tags":["Reward"],"description":"Adjust user XP in both PostgreSQL and ClickHouse","security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdjustXpBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdjustXpResponse"}}}}}}},"/api/quest":{"get":{"tags":["Quest"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"category","schema":{"type":"string","enum":["basic","trading","education","social"]}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"onlyUnclaimed","schema":{"type":"string","enum":["yes","no"]}},{"in":"query","name":"onlyReadyToClaim","schema":{"type":"string","enum":["yes","no"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/UserQuest"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/quest-partner":{"get":{"tags":["Quest"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserQuest"}}}}}}},"/api/quest/public":{"get":{"deprecated":true,"tags":["Quest"],"security":[],"parameters":[{"in":"query","name":"category","schema":{"type":"string","enum":["basic","trading","education","social"]}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"onlyUnclaimed","schema":{"type":"string","enum":["yes","no"]}},{"in":"query","name":"onlyReadyToClaim","schema":{"type":"string","enum":["yes","no"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/PublicQuest"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/quest/{questId}":{"get":{"tags":["Quest"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"questId","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserQuest"}}}}}}},"/api/public/{authId}/profile":{"get":{"tags":["Public profile"],"security":[],"parameters":[{"in":"path","name":"authId","description":"User auth ID","schema":{"type":"string","format":"uuid","description":"User auth ID"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"authId":{"type":"string","format":"uuid"},"level":{"type":"number"},"rank":{"type":"number"},"league":{"type":["object","null"],"properties":{"name":{"type":"string"},"image":{"type":["string","null"]}},"required":["name","image"]},"quests":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"url":{"type":["string","null"]}},"required":["name","description"]}},"monthlyChallenges":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"goal":{"type":"number"},"progress":{"type":"number"},"date":{"type":"string"}},"required":["title","goal","progress","date"]}},"collectables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"image":{"type":["string","null"]}},"required":["name","image"]}}},"required":["id","authId","level","rank","league","quests","monthlyChallenges","collectables"]}}}}}}},"/api/promocodes/{id}":{"put":{"tags":["Promocodes"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeUpdateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeUpdateResponse"}}}}}}},"/api/promocodes/redeem":{"post":{"tags":["Promocodes"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeRedeemBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeRedeemResponse"}}}}}}},"/api/promocodes/list":{"get":{"tags":["Promocodes"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeListResponse"}}}}}}},"/api/promocodes":{"post":{"tags":["Promocodes"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeCreateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromocodeCreateResponse"}}}}}}},"/api/points/summary":{"get":{"tags":["Points"],"summary":"Returns aggregated information about current user points.","security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsSummary"}}}}}}},"/api/points/share/{authId}":{"post":{"tags":["Points"],"summary":"Returns shared image current user points badge URLs","security":[{"InternalKey":[]}],"parameters":[{"in":"path","name":"authId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsImageShareParams"}}}}}}},"/api/points/history":{"get":{"tags":["Points"],"summary":"Returns user weekly history for the points competitions.","security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsHistoryList"}}}}}}},"/api/points/claim":{"post":{"tags":["Points"],"summary":"Moves user points from the unclaimed bucket to claimed balance.","security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointsClaimResponse"}}}}}}},"/api/lucky-shot/winners":{"get":{"tags":["Lucky Shot"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"best","schema":{"type":"string","enum":["yes","no"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"smartAccountAddress":{"type":"string"},"avatar":{"type":"string"},"amount":{"type":"number"},"transactionHash":{"type":"string"},"createdAt":{"type":"string"}},"required":["smartAccountAddress","avatar","amount","transactionHash","createdAt"]}}}}}}}},"/api/lucky-shot":{"post":{"tags":["Lucky Shot"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"level":{"type":"number"},"status":{"type":"string","enum":["process","fail","claimed","withdrawn"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","level","status","createdAt","updatedAt"]}}}}}},"get":{"tags":["Lucky Shot"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":["object","null"],"properties":{"id":{"type":"string"},"level":{"type":"number"},"status":{"type":"string","enum":["process","fail","claimed","withdrawn"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"history":{"type":"array","items":{"type":"object","properties":{"level":{"type":"number"},"value":{"type":"number"},"createdAt":{"type":"string"}},"required":["level","value","createdAt"]}}},"required":["id","level","status","createdAt","updatedAt","history"]}}}}}}},"/api/lucky-shot/share/{code}":{"get":{"tags":["Lucky Shot"],"summary":"Get image for user lucky shot","security":[],"parameters":[{"in":"path","name":"code","schema":{"type":"string"},"required":true},{"in":"query","name":"renderingMode","schema":{"type":"string","enum":["narrow","wide"],"default":"wide"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LuckyShotImageGetResponse"}}}}}}},"/api/lucky-shot/share":{"post":{"tags":["Lucky Shot"],"summary":"Share image for user lucky shot","security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LuckyShotImageShareBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LuckyShotImageShareResponse"}}}}}}},"/api/lucky-shot/select":{"post":{"tags":["Lucky Shot"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"anyOf":[{"type":"number","const":0},{"type":"number","const":1}]}},"required":["value"]}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"level":{"type":"number"},"status":{"type":"string","enum":["process","fail","claimed","withdrawn"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"awardedPoints":{"type":"number"}},"required":["id","level","status","createdAt","updatedAt","awardedPoints"]}}}}}}},"/api/lucky-shot/levels":{"get":{"tags":["Lucky Shot"],"security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number"},"winningAmount":{"type":"number"},"points":{"type":"number"}},"required":["id","winningAmount","points"]}}}}}}}},"/api/lucky-shot/claim":{"post":{"tags":["Lucky Shot"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"lottery":{"type":"object","properties":{"id":{"type":"string"},"level":{"type":"number"},"status":{"type":"string","enum":["process","fail","claimed","withdrawn"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","level","status","createdAt","updatedAt"]},"payload":{"type":"object","properties":{"nonce":{"type":"string"},"recipient":{"type":"string"},"token":{"type":"string"},"amount":{"type":"string"},"signature":{"type":"string"}},"required":["nonce","recipient","token","amount","signature"]}},"required":["lottery","payload"]}}}}}}},"/api/lucky-shot/award":{"post":{"tags":["Lucky Shot"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardLuckyShotTicketsBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardLuckyShotTicketsResponse"}}}}}}},"/api/league/list":{"get":{"tags":["League"],"security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/PublicLeague"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/leaderboard/winner":{"get":{"tags":["Leaderboard","Winner"],"summary":"Получить список победителей (с пагинацией по соревнованиям)","security":[],"parameters":[{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"type","schema":{"type":"string","enum":["weekly","trading","points","referral","grand-contest","challenges","templateBased"]}},{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"competition":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"},"title":{"type":["string","null"],"description":"Есть только у template-based конкурсов, у легаси null"}},"required":["id","startAt","finishAt","title"]},"winners":{"type":"array","items":{"type":"object","properties":{"experience":{"type":"string","deprecated":true,"description":"Use rating/ratingType"},"rating":{"type":["string","null"]},"ratingType":{"type":["string","null"],"enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"place":{"type":"number"},"reward":{"type":"number"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["experience","rating","ratingType","place","reward","avatar","skill"]}}},"required":["competition","winners"]}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/leaderboard/newcomer":{"get":{"tags":["Leaderboard","Newcomer"],"summary":"Получить топ-100 новичков (XP) за последние 7 дней","security":[],"parameters":[{"in":"query","name":"code","schema":{"type":["string","null"]}},{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}},{"in":"query","name":"sort","schema":{"type":"string","enum":["tradingVolume-desc","realizedPnL-desc","experience-desc"],"default":"experience-desc"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}}}}}}}},"/api/leaderboard-podium/newcomer":{"get":{"tags":["Leaderboard","Newcomer","Podium"],"summary":"Получить топ-100 новичков (XP) за последние 7 дней + Подиум","security":[],"parameters":[{"in":"query","name":"code","schema":{"type":["string","null"]}},{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}},{"in":"query","name":"sort","schema":{"type":"string","enum":["tradingVolume-desc","realizedPnL-desc","experience-desc"],"default":"experience-desc"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"podium":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"competition":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"}},"required":["id","startAt","finishAt"]}},"required":["leaderboard","podium","competition"]}}}}}}},"/api/leaderboard":{"get":{"tags":["Leaderboard"],"summary":"Получить топ-100 пользователей (XP) за последние 7 или 30 дней","security":[],"parameters":[{"in":"query","name":"code","schema":{"type":["string","null"]}},{"in":"query","name":"period","schema":{"type":"string","enum":["7d","14d","30d","365d"]}},{"in":"query","name":"sort","schema":{"type":"string","enum":["tradingVolume-desc","realizedPnL-desc","experience-desc"],"default":"experience-desc"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}}}}}}}},"/api/leaderboard-podium/trading":{"get":{"tags":["Leaderboard","TradingCompetition","Podium"],"summary":"Get top Trading Competition","security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"podium":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"competition":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"}},"required":["id","startAt","finishAt"]},"totalTradingVolume":{"type":"string"},"podiumPrizes":{"type":"array","items":{"type":"object","properties":{"place":{"type":"number"},"reward":{"type":"number"},"prize":{"type":"string"}},"required":["place","reward"]}},"prizeVolumeScale":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"requireTradingVolume":{"type":"string"},"prizePool":{"type":"number"},"prizePlaces":{"type":"number"},"isReached":{"type":"boolean"}},"required":["id","requireTradingVolume","prizePool","prizePlaces","isReached"]}},"activePrizePool":{"type":["object","null"],"properties":{"id":{"type":"string"},"requireTradingVolume":{"type":"string"},"prizePool":{"type":"number"},"prizePlaces":{"type":"number"}},"required":["id","requireTradingVolume","prizePool","prizePlaces"]},"user":{"type":"object","properties":{"personalVolume":{"type":"string"},"partnerVolume":{"type":"string"},"points":{"type":"string"},"multiplier":{"type":"number"},"lastMultiplierUpgrade":{"type":["string","null"]}},"required":["personalVolume","partnerVolume","points","multiplier","lastMultiplierUpgrade"]},"multiplierScale":{"type":"array","items":{"type":"object","properties":{"multiplier":{"type":"number"},"requirePartnerVolume":{"type":"string"},"achievedAt":{"type":["string","null"]}},"required":["multiplier","requirePartnerVolume","achievedAt"]}}},"required":["leaderboard","podium","competition","totalTradingVolume","podiumPrizes","prizeVolumeScale","activePrizePool","user","multiplierScale"]}}}}}}},"/api/leaderboard-podium/referral":{"get":{"tags":["Leaderboard","ReferralCompetition","Podium"],"summary":"Get Referral Competition Leaderboard (2-week referral contest)","security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string"},"level":{"type":"number"},"experience":{"type":"string"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"},"score":{"type":"number"}},"required":["rank","user","level","experience","avatar","skill","achievements","wallet","smartAccountAddress","score"]}},"podium":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string"},"level":{"type":"number"},"experience":{"type":"string"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"},"score":{"type":"number"}},"required":["rank","user","level","experience","avatar","skill","achievements","wallet","smartAccountAddress","score"]}},"competition":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"}},"required":["id","startAt","finishAt"]},"podiumPrizes":{"type":"array","items":{"type":"object","properties":{"place":{"type":"number"},"reward":{"type":"number"},"prize":{"type":"string"}},"required":["place","reward"]}},"minReferralVolume":{"type":"number"}},"required":["leaderboard","podium","competition","podiumPrizes","minReferralVolume"]}}}}}}},"/api/leaderboard-podium":{"get":{"tags":["Leaderboard","Podium"],"summary":"Получить топ-100 пользователей (XP) за последние 7 или 30 дней + Подиум","security":[],"parameters":[{"in":"query","name":"code","schema":{"type":["string","null"]}},{"in":"query","name":"period","schema":{"type":"string","enum":["7d","14d","30d","365d"]}},{"in":"query","name":"sort","schema":{"type":"string","enum":["tradingVolume-desc","realizedPnL-desc","experience-desc"],"default":"experience-desc"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"podium":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"user":{"type":"string","format":"uuid"},"level":{"type":"number"},"experience":{"type":"string"},"realizedPnL":{"type":"string"},"score":{"type":"string","default":"0"},"tradingVolume":{"type":"string"},"partnerTradingVolume":{"type":"string","default":"0"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"skill":{"type":"object","properties":{"name":{"type":"string"}}},"achievements":{"type":"number"},"wallet":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["rank","user","level","experience","realizedPnL","score","tradingVolume","partnerTradingVolume","avatar","skill","achievements","wallet","smartAccountAddress"]}},"competition":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"}},"required":["id","startAt","finishAt"]}},"required":["leaderboard","podium","competition"]}}}}}}},"/api/grand-contest/volume-scale":{"get":{"tags":["GrandContest"],"summary":"Returns volume tiers and current daily volume.","security":[],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestVolumeScaleResponse"}}}}}}},"/api/grand-contest/top-earners":{"get":{"tags":["GrandContest"],"summary":"Returns top 50 users by total USDT earned.","security":[],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestTopEarnersResponse"}}}}}}},"/api/grand-contest/me":{"get":{"tags":["GrandContest"],"summary":"Returns authenticated user grand contest stats.","security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestMeResponse"}}}}}}},"/api/grand-contest":{"get":{"tags":["GrandContest"],"summary":"Returns all grant contest competitions","security":[],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"array","items":{"type":["object","null"],"properties":{"id":{"type":"string"},"startAt":{"type":"string"},"finishAt":{"type":"string"},"status":{"type":"string"}},"required":["id","startAt","finishAt","status"]}}}}}}}},"/api/grand-contest/leaderboard":{"get":{"tags":["GrandContest"],"summary":"Returns top 250 traders by total volume (filtered to daily-active users).","security":[],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestLeaderboardResponse"}}}}}}},"/api/grand-contest/claim-milestone":{"post":{"tags":["GrandContest"],"summary":"Claim 100 USDT milestone reward.","security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestClaimMilestoneResponse"}}}}}}},"/api/grand-contest/claim":{"post":{"tags":["GrandContest"],"summary":"Claim available USDT rewards.","security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"competition","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrandContestClaimResponse"}}}}}}},"/api/dev/trading-volume":{"post":{"tags":["Dev"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVolumeCreateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/sync-tickets":{"post":{"tags":["Challenges"],"security":[{"InternalKey":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/dev/exp":{"post":{"tags":["Dev"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"authId":{"type":"string"},"exp":{"type":"number"}},"required":["authId","exp"]}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/dev/competition":{"post":{"tags":["Dev"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionCreateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionCreateResponse"}}}}}}},"/api/daily-task/summary":{"get":{"tags":["DailyTask"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"crystals":{"type":"number"},"dailyTradingVolume":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["login","tradePair","tradeLeverage","openCloseShort","openCloseLong","limitOrderFilled","stopLossTakeProfit","increasePositionSize","activateAiStrategy","keepPositionOpen","closeTradeWithRoi","reachDailyVolume","claimCashback","twoPositions","threePositions","stopLimitTriggered"]},"name":{"type":"string"},"description":{"type":"string"},"difficulty":{"type":"number"},"rewardXp":{"type":"number"},"parameters":{"type":"object","properties":{"pair":{"type":"string"},"targetLeverage":{"type":"number"},"targetRoi":{"type":"number"},"targetVolume":{"type":"string"},"targetPositions":{"type":"number"}},"additionalProperties":false},"action":{"type":["object","null"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["navigate","modal","deeplink","external"]},"payload":{"type":"object","additionalProperties":{}}},"required":["id","type","payload"],"additionalProperties":false},"status":{"type":"string","enum":["assigned","readyToClaim","claimed"]}},"required":["id","type","name","description","difficulty","rewardXp","parameters","action","status"],"additionalProperties":false}},"chests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["default","special"]},"requiredCrystals":{"type":"number"},"requiredTradingVolume":{"type":"number"},"rewardXp":{"type":"number"},"reward":{"type":"object","properties":{"cashbackBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"referralBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"collectibleChance":{"type":"number"}},"additionalProperties":false},"status":{"type":"string","enum":["new","readyToClaim","claimed"]}},"required":["id","type","requiredCrystals","requiredTradingVolume","rewardXp","reward","status"],"additionalProperties":false}}},"required":["date","crystals","dailyTradingVolume","tasks","chests"],"additionalProperties":false}}}}}}},"/api/daily-task/chest/{chestId}/claim":{"post":{"tags":["DailyTask"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"chestId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"crystals":{"type":"number"},"dailyTradingVolume":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["login","tradePair","tradeLeverage","openCloseShort","openCloseLong","limitOrderFilled","stopLossTakeProfit","increasePositionSize","activateAiStrategy","keepPositionOpen","closeTradeWithRoi","reachDailyVolume","claimCashback","twoPositions","threePositions","stopLimitTriggered"]},"name":{"type":"string"},"description":{"type":"string"},"difficulty":{"type":"number"},"rewardXp":{"type":"number"},"parameters":{"type":"object","properties":{"pair":{"type":"string"},"targetLeverage":{"type":"number"},"targetRoi":{"type":"number"},"targetVolume":{"type":"string"},"targetPositions":{"type":"number"}},"additionalProperties":false},"action":{"type":["object","null"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["navigate","modal","deeplink","external"]},"payload":{"type":"object","additionalProperties":{}}},"required":["id","type","payload"],"additionalProperties":false},"status":{"type":"string","enum":["assigned","readyToClaim","claimed"]}},"required":["id","type","name","description","difficulty","rewardXp","parameters","action","status"],"additionalProperties":false}},"chests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["default","special"]},"requiredCrystals":{"type":"number"},"requiredTradingVolume":{"type":"number"},"rewardXp":{"type":"number"},"reward":{"type":"object","properties":{"cashbackBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"referralBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"collectibleChance":{"type":"number"}},"additionalProperties":false},"status":{"type":"string","enum":["new","readyToClaim","claimed"]}},"required":["id","type","requiredCrystals","requiredTradingVolume","rewardXp","reward","status"],"additionalProperties":false}}},"required":["date","crystals","dailyTradingVolume","tasks","chests"],"additionalProperties":false}}}}}}},"/api/daily-task/{taskId}/claim":{"post":{"tags":["DailyTask"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"taskId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"},"crystals":{"type":"number"},"dailyTradingVolume":{"type":"number"},"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["login","tradePair","tradeLeverage","openCloseShort","openCloseLong","limitOrderFilled","stopLossTakeProfit","increasePositionSize","activateAiStrategy","keepPositionOpen","closeTradeWithRoi","reachDailyVolume","claimCashback","twoPositions","threePositions","stopLimitTriggered"]},"name":{"type":"string"},"description":{"type":"string"},"difficulty":{"type":"number"},"rewardXp":{"type":"number"},"parameters":{"type":"object","properties":{"pair":{"type":"string"},"targetLeverage":{"type":"number"},"targetRoi":{"type":"number"},"targetVolume":{"type":"string"},"targetPositions":{"type":"number"}},"additionalProperties":false},"action":{"type":["object","null"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["navigate","modal","deeplink","external"]},"payload":{"type":"object","additionalProperties":{}}},"required":["id","type","payload"],"additionalProperties":false},"status":{"type":"string","enum":["assigned","readyToClaim","claimed"]}},"required":["id","type","name","description","difficulty","rewardXp","parameters","action","status"],"additionalProperties":false}},"chests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["default","special"]},"requiredCrystals":{"type":"number"},"requiredTradingVolume":{"type":"number"},"rewardXp":{"type":"number"},"reward":{"type":"object","properties":{"cashbackBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"referralBoost":{"type":"object","properties":{"percent":{"type":"number"},"durationHours":{"type":"number"}},"required":["percent","durationHours"]},"collectibleChance":{"type":"number"}},"additionalProperties":false},"status":{"type":"string","enum":["new","readyToClaim","claimed"]}},"required":["id","type","requiredCrystals","requiredTradingVolume","rewardXp","reward","status"],"additionalProperties":false}}},"required":["date","crystals","dailyTradingVolume","tasks","chests"],"additionalProperties":false}}}}}}},"/api/competition-templates/{id}":{"put":{"tags":["Competition Templates"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateUpdateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateUpdateResponse"}}}}}},"get":{"tags":["Competition Templates"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateGetResponse"}}}}}}},"/api/competition-templates/list":{"get":{"tags":["Competition Templates"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"archived","schema":{"type":"string","enum":["true","false"],"default":"false"}},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateListResponse"}}}}}}},"/api/competition-templates":{"post":{"tags":["Competition Templates"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateCreateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionTemplateCreateResponse"}}}}}}},"/api/competitions/{id}":{"put":{"tags":["Competitions"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateBasedCompetitionUpdateBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateBasedCompetitionUpdateResponse"}}}}}},"get":{"tags":["Competitions"],"security":[],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTemplateBasedCompetitionGetResponse"}}}}}}},"/api/competitions/public":{"get":{"tags":["Competitions"],"security":[],"parameters":[{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"status","schema":{"type":"string","enum":["active","finished","pending"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTemplateBasedCompetitionListResponse"}}}}}}},"/api/competitions/participation":{"get":{"tags":["Competitions"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionParticipationListResponse"}}}}}}},"/api/competitions/{id}/participate":{"post":{"tags":["Competitions"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionParticipateResponse"}}}}}}},"/api/competitions/list":{"get":{"summary":"Список template-based competitions","tags":["Competitions"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}},{"in":"query","name":"status","schema":{"type":"string","enum":["active","finished","pending"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateBasedCompetitionListResponse"}}}}}}},"/api/competitions/{id}/leaderboard/me":{"get":{"tags":["Competitions"],"summary":"Место текущего пользователя в лидерборде template-based конкурса","security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionLeaderboardMeResponse"}}}}}}},"/api/competitions/{id}/leaderboard":{"get":{"tags":["Competitions"],"summary":"Лидерборда для template-based competitions","security":[],"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"required":true},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitionLeaderboardResponse"}}}}}}},"/api/competitions":{"post":{"tags":["Competitions"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateBasedCompetitionLaunchBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateBasedCompetitionLaunchResponse"}}}}}}},"/api/collectable":{"get":{"tags":["Collectable"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"rarity","schema":{"type":"string","enum":["common","rare","legendary"]}},{"in":"query","name":"usingType","schema":{"type":"string","enum":["achievement-bonus","right-away","active","passive"]}},{"in":"query","name":"consolation","schema":{"type":"string"}},{"in":"query","name":"received","schema":{"type":"string","enum":["yes","no"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"color":{"type":"string","description":"HEX color code","example":"FF00AA"},"image":{"type":["string","null"],"format":"uri"},"imageState":{"type":"object","properties":{"big":{"type":["string","null"],"format":"uri"},"regular":{"type":["string","null"],"format":"uri"},"disabled":{"type":["string","null"],"format":"uri"}},"required":["big","regular","disabled"]},"description":{"type":"object","properties":{"common":{"type":"string"},"give":{"type":"string"},"howTo":{"type":"string"}}},"rarity":{"type":"string","enum":["common","rare","legendary"]},"usingType":{"type":"string","enum":["achievement-bonus","right-away","active","passive"]},"award":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"experience"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"skill-point"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"daily-task-freezer"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"cashback-hour"},"payload":{"type":"object","properties":{"volume":{"type":"number","example":0.2,"description":"0.2 = 2%"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"referral-fee-hour"},"payload":{"type":"object","properties":{"volume":{"type":"number","example":0.2,"description":"0.2 = 2%"}},"required":["volume"]}},"required":["type","payload"]}]},"consolation":{"type":"boolean"},"createdAt":{"type":"string"},"received":{"type":"boolean"},"progress":{"type":"number"},"target":{"type":"number"},"progressBarEnabled":{"type":"boolean"}},"required":["id","name","color","image","imageState","description","rarity","usingType","award","consolation","createdAt","received","progress","target","progressBarEnabled"]}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]}}}}}}},"/api/collectable/limit":{"get":{"tags":["Collectable"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number"},"flipped":{"type":"number"},"left":{"type":"number"}},"required":["limit","flipped","left"]}}}}}}},"/api/collectable/flip":{"post":{"tags":["Collectable"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"type":"object","properties":{"card":{"type":["object","null"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"color":{"type":"string","description":"HEX color code","example":"FF00AA"},"image":{"type":["string","null"],"format":"uri"},"imageState":{"type":"object","properties":{"big":{"type":["string","null"],"format":"uri"},"regular":{"type":["string","null"],"format":"uri"},"disabled":{"type":["string","null"],"format":"uri"}},"required":["big","regular","disabled"]},"description":{"type":"object","properties":{"common":{"type":"string"},"give":{"type":"string"},"howTo":{"type":"string"}}},"rarity":{"type":"string","enum":["common","rare","legendary"]},"usingType":{"type":"string","enum":["achievement-bonus","right-away","active","passive"]},"award":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"experience"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"skill-point"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"daily-task-freezer"},"payload":{"type":"object","properties":{"volume":{"type":"number"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"cashback-hour"},"payload":{"type":"object","properties":{"volume":{"type":"number","example":0.2,"description":"0.2 = 2%"}},"required":["volume"]}},"required":["type","payload"]},{"type":"object","properties":{"type":{"type":"string","const":"referral-fee-hour"},"payload":{"type":"object","properties":{"volume":{"type":"number","example":0.2,"description":"0.2 = 2%"}},"required":["volume"]}},"required":["type","payload"]}]},"consolation":{"type":"boolean"},"createdAt":{"type":"string"}},"required":["id","name","color","image","imageState","description","rarity","usingType","award","consolation","createdAt"]}},"required":["card"]}}}}}}},"/api/collectable/{cardId}/claim":{"post":{"tags":["Collectable"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"cardId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/collectable/{cardId}/activate":{"post":{"tags":["Collectable"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"cardId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/claim-stop-list":{"delete":{"tags":["Claim stop list"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"}},"required":["authId"]}}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}},"post":{"tags":["Claim stop list"],"security":[{"AccessToken":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"}},"required":["authId"]}}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/summary":{"get":{"tags":["Challenges"],"security":[{"AccessToken":[]}],"parameters":[{"in":"query","name":"showAll","schema":{"type":"string","enum":["yes","no"]}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengesSummaryResponse"}}}}}}},"/api/challenges/streak/summary":{"get":{"tags":["Challenges"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreStreakBalanceResponse"}}}}}}},"/api/challenges/streak/restore":{"post":{"tags":["Challenges"],"security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/restart":{"post":{"tags":["Challenges"],"security":[{"InternalKey":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/manual-claim":{"post":{"tags":["Challenges"],"security":[{"InternalKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualChallengeClaimBody"}}}},"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualChallengeClaimResponse"}}}}}}},"/api/challenges/{userId}/increase":{"post":{"tags":["Challenges"],"security":[{"InternalKey":[]}],"parameters":[{"in":"path","name":"userId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/{challengeId}/claim":{"post":{"tags":["Challenges"],"security":[{"AccessToken":[]}],"parameters":[{"in":"path","name":"challengeId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponse"}}}}}}},"/api/challenges/leaderboard/me":{"get":{"tags":["Challenges"],"summary":"Return leaderboard me","security":[{"AccessToken":[]}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeCompetitionLeaderboardMeResponse"}}}}}}},"/api/challenges/{challengeTitle}/leaderboard":{"get":{"tags":["Challenges"],"summary":"Return leaderboard","security":[],"parameters":[{"in":"path","name":"challengeTitle","schema":{"type":"string","enum":["sprint","middleRace","marathon"]},"required":true},{"in":"query","name":"limit","schema":{"$ref":"#/components/schemas/PageLimitParam"}},{"in":"query","name":"offset","schema":{"$ref":"#/components/schemas/PageOffsetParam"}}],"responses":{"200":{"description":"200 OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChallengeCompetitionLeaderboardResponse"}}}}}}}},"components":{"securitySchemes":{"AccessToken":{"type":"http","scheme":"bearer"},"InternalKey":{"type":"http","scheme":"bearer"}},"schemas":{"PingResponse":{"type":"object","properties":{"time":{"type":"number","description":"Current timestamp"}},"required":["time"],"description":"Ping response"},"User":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"},"level":{"type":"object","properties":{"number":{"type":"number"},"bonus":{"$ref":"#/components/schemas/LevelBonus"}},"required":["number","bonus"]},"skill":{"type":"object","properties":{"points":{"type":"number"}},"required":["points"]},"quests":{"type":["object","null"],"properties":{"claimedCount":{"type":"number","description":"Number of quests with isClaimed=true"}},"required":["claimedCount"]},"experience":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["authId","level","skill","experience","createdAt","updatedAt"]},"LevelBonus":{"type":"object","properties":{"EducationDiscount":{"type":"number"},"TradeDiscount":{"type":"number"},"ReferralPercentage":{"type":"number"},"TradeDiscountOld":{"type":"number"},"ReferralPercentageOld":{"type":"number"}},"required":["EducationDiscount","TradeDiscount","ReferralPercentage","TradeDiscountOld","ReferralPercentageOld"]},"UserMe":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"},"level":{"type":"object","properties":{"number":{"type":"number"},"bonus":{"$ref":"#/components/schemas/LevelBonus"},"experience":{"type":"string"},"nextLevelExperience":{"type":["string","null"]}},"required":["number","bonus","experience","nextLevelExperience"]},"skill":{"type":"object","properties":{"points":{"type":"number"},"name":{"type":"string"},"id":{"type":"string"},"readyToClaimCount":{"type":"number"}},"required":["points","readyToClaimCount"]},"quests":{"type":["object","null"],"properties":{"claimedCount":{"type":"number","description":"Number of quests with isClaimed=true"},"readyToClaimCount":{"type":"number","description":"Number of quests with isReadyToClaim=true"}},"required":["claimedCount","readyToClaimCount"]},"experience":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"challenges":{"type":"object","properties":{"claimedCount":{"type":"number","description":"Number of claimed challenges"},"readyToClaimCount":{"type":"number","description":"Number of challenges ready to claim"}},"required":["claimedCount","readyToClaimCount"]},"tradingVolume":{"type":"string"},"dailyTradingVolume":{"type":"number"},"buff":{"type":["object","null"],"properties":{"EducationDiscount":{"type":"number"},"TradeDiscount":{"type":"number"},"ReferralPercentage":{"type":"number"},"expiredAt":{"type":"string"}},"required":["EducationDiscount","TradeDiscount","ReferralPercentage","expiredAt"],"description":"Deprecated: use buffs array instead. First active buff for backward compatibility."},"buffs":{"type":"array","items":{"$ref":"#/components/schemas/Buff"},"description":"All active buffs for the user"},"points":{"$ref":"#/components/schemas/PointsSummary"},"collectableTickets":{"type":"object","properties":{"received":{"type":"number","description":"Total tickets received"},"used":{"type":"number","description":"Total tickets used"},"available":{"type":"number","description":"Available tickets (received - used)"}},"required":["received","used","available"],"description":"Collectable tickets balance for the collectables system"},"luckyShotTickets":{"type":"object","properties":{"received":{"type":"number","description":"Total Lucky Shot tickets received"},"used":{"type":"number","description":"Total Lucky Shot tickets used"},"available":{"type":"number","description":"Available Lucky Shot tickets (received - used)"}},"required":["received","used","available"],"description":"Lucky Shot tickets balance for the lottery system"},"levelDiscount":{"type":"number","description":"Скидка на торговую комиссию, обусловленная только уровнем"},"skillDiscount":{"type":"number","description":"Скидка на торговую комиссию из навыков/артефактов/подписки"},"userLeague":{"$ref":"#/components/schemas/UserLeague"}},"required":["authId","level","skill","experience","createdAt","updatedAt","challenges","tradingVolume","dailyTradingVolume","buff","buffs","points","collectableTickets","luckyShotTickets","levelDiscount","skillDiscount","userLeague"]},"Buff":{"type":"object","properties":{"source":{"type":"string","enum":["referral","chestCashback","chestReferral","collectable"]},"EducationDiscount":{"type":"number"},"TradeDiscount":{"type":"number"},"ReferralPercentage":{"type":"number"},"expiredAt":{"type":"string"}},"required":["source","EducationDiscount","TradeDiscount","ReferralPercentage","expiredAt"]},"PointsSummary":{"type":"object","properties":{"totalPoints":{"type":"string"},"unclaimedPoints":{"type":"string"},"rankId":{"type":"string"},"leagueId":{"type":"string"},"updatedAt":{"type":"string"}},"required":["totalPoints","unclaimedPoints","rankId","leagueId","updatedAt"]},"UserLeague":{"type":"object","properties":{"league":{"oneOf":[{"$ref":"#/components/schemas/League"},{"type":"null"}]},"rank":{"type":"number"},"nextLeague":{"oneOf":[{"$ref":"#/components/schemas/League"},{"type":"null"}]}},"required":["league","rank","nextLeague"]},"League":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"level":{"type":"number"},"steps":{"type":"number"},"image":{"type":["string","null"],"description":"League image URL"}},"required":["id","name","level","steps","image"]},"ManualXpAwardBody":{"type":"object","properties":{"wallet":{"type":"string","description":"User wallet address"},"authId":{"type":"string","format":"uuid","description":"User Auth Id"},"amount":{"type":"number","exclusiveMinimum":0,"description":"Amount of XP to award"},"reason":{"type":"string","description":"Reason for awarding XP"}},"required":["amount"]},"ManualXpAwardResponse":{"type":"object","properties":{"success":{"type":"boolean"},"userId":{"type":"string","format":"uuid"},"authId":{"type":"string","format":"uuid"},"xpAwarded":{"type":"number"},"previousExperience":{"type":"string"},"newExperience":{"type":"string"}},"required":["success","userId","authId","xpAwarded","previousExperience","newExperience"]},"ManualAwardBatchBody":{"type":"object","properties":{"batch":{"type":"array","items":{"$ref":"#/components/schemas/ManualAward"}}},"required":["batch"]},"ManualAward":{"type":"object","properties":{"authId":{"type":"string","description":"User Auth Id"},"questId":{"type":"string","description":"Quest Id"}},"required":["authId","questId"]},"ManualAwardListResponse":{"type":"object","properties":{"inserted":{"type":"array","items":{"$ref":"#/components/schemas/ManualAwardResponse"}},"updated":{"type":"array","items":{"$ref":"#/components/schemas/ManualAwardResponse"}},"ignored":{"type":"array","items":{"$ref":"#/components/schemas/ManualAwardResponse"}}},"required":["inserted","updated","ignored"]},"ManualAwardResponse":{"type":"object","properties":{"user":{"type":"string","format":"uuid"},"quest":{"type":"string","format":"uuid"},"isReadyToClaim":{"type":"boolean"}},"required":["user","quest","isReadyToClaim"]},"UserLookupBody":{"type":"object","properties":{"authIds":{"type":"array","items":{"type":"string","description":"User Auth Id"},"description":"Список Auth Id пользователей"}},"required":["authIds"]},"UserLookup":{"type":"object","properties":{"authId":{"type":"string","format":"uuid"},"level":{"type":"object","properties":{"number":{"type":"number"},"bonus":{"$ref":"#/components/schemas/LevelBonus"}},"required":["number","bonus"]},"quests":{"type":["object","null"],"properties":{"claimedCount":{"type":"number","description":"Number of quests with isClaimed=true"}},"required":["claimedCount"]},"experience":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["authId","level","experience","createdAt","updatedAt"]},"UserInternal":{"allOf":[{"$ref":"#/components/schemas/User"}],"type":"object","properties":{"buff":{"type":["object","null"],"properties":{"EducationDiscount":{"type":"number"},"TradeDiscount":{"type":"number"},"ReferralPercentage":{"type":"number"},"expiredAt":{"type":"string"}},"required":["EducationDiscount","TradeDiscount","ReferralPercentage","expiredAt"]}},"required":["buff"]},"FeeRates":{"type":"object","properties":{"cashback":{"type":"number"},"referral":{"type":"number"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/FeeRateRow"}}},"required":["cashback","referral","rows"]},"FeeRateRow":{"type":"object","properties":{"type":{"type":"string","enum":["level","subscription","traderArtifact","influencerArtifact","affiliateWeight","referral","chestCashback","chestReferral","collectable"]},"cashback":{"type":"number"},"referral":{"type":"number"},"expiredAt":{"type":["string","null"]}},"required":["type","cashback","referral","expiredAt"]},"UserSkillTree":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/UserArtifact"}},"availableСhangeAt":{"type":["string","null"]}},"required":["id","name","description","artifacts","availableСhangeAt"]},"UserArtifact":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"bonus":{"$ref":"#/components/schemas/ArtifactBonus"},"status":{"type":"string","enum":["default","open","done","claimed"]},"skillPoints":{"type":"number"},"requiredSkillPoints":{"type":"number"},"claimedAt":{"type":["string","null"]}},"required":["id","name","description","image","bonus","status","skillPoints","requiredSkillPoints","claimedAt"]},"ArtifactBonus":{"anyOf":[{"$ref":"#/components/schemas/EducationDiscountBonus"},{"$ref":"#/components/schemas/FreeCourseMonthBonus"},{"$ref":"#/components/schemas/FreeCourseForBeginnersBonus"},{"$ref":"#/components/schemas/PersonalMentorshipAccessBonus"},{"$ref":"#/components/schemas/TradingProfitPercentBonus"},{"$ref":"#/components/schemas/AccessAdvancedStrategiesBonus"},{"$ref":"#/components/schemas/FreeTradingToolCountBonus"},{"$ref":"#/components/schemas/TradingMentorBonus"},{"$ref":"#/components/schemas/IncreasedRefFeeBonus"},{"$ref":"#/components/schemas/ReferralBonusPercentBonus"},{"$ref":"#/components/schemas/AccessPremiumContentBonus"},{"$ref":"#/components/schemas/FreeCollaborationOpportunitiesBonus"},{"$ref":"#/components/schemas/FeaturePlatformBonus"}]},"EducationDiscountBonus":{"type":"object","properties":{"educationDiscount":{"type":"number"}},"required":["educationDiscount"]},"FreeCourseMonthBonus":{"type":"object","properties":{"freeCourseMonth":{"type":"number"}},"required":["freeCourseMonth"]},"FreeCourseForBeginnersBonus":{"type":"object","properties":{"freeCourseForBeginers":{"type":"boolean"}},"required":["freeCourseForBeginers"]},"PersonalMentorshipAccessBonus":{"type":"object","properties":{"personalMentorshipAccess":{"type":"boolean"}},"required":["personalMentorshipAccess"]},"TradingProfitPercentBonus":{"type":"object","properties":{"tradingProfitPercent":{"type":"number"}},"required":["tradingProfitPercent"]},"AccessAdvancedStrategiesBonus":{"type":"object","properties":{"accessAdvancedStrategies":{"type":"boolean"}},"required":["accessAdvancedStrategies"]},"FreeTradingToolCountBonus":{"type":"object","properties":{"freeTradingToolCount":{"type":"number"}},"required":["freeTradingToolCount"]},"TradingMentorBonus":{"type":"object","properties":{"tradingMentor":{"type":"boolean"}},"required":["tradingMentor"]},"IncreasedRefFeeBonus":{"type":"object","properties":{"increasedRefFee":{"type":"number"}},"required":["increasedRefFee"]},"ReferralBonusPercentBonus":{"type":"object","properties":{"referralBonusPercent":{"type":"number"}},"required":["referralBonusPercent"]},"AccessPremiumContentBonus":{"type":"object","properties":{"accessPremiumContent":{"type":"boolean"}},"required":["accessPremiumContent"]},"FreeCollaborationOpportunitiesBonus":{"type":"object","properties":{"freeCollaborationOpportunities":{"type":"boolean"}},"required":["freeCollaborationOpportunities"]},"FeaturePlatformBonus":{"type":"object","properties":{"featurePlatform":{"type":"boolean"}},"required":["featurePlatform"]},"SelectSkillBody":{"type":"object","properties":{"skill":{"type":"string"}},"required":["skill"]},"SelectSkillResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"PublicSkill":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/PublicArtifact"}}},"required":["id","name","description","artifacts"]},"PublicArtifact":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"bonus":{"$ref":"#/components/schemas/ArtifactBonus"},"skillPoints":{"type":"number"},"skillTree":{"type":"string"}},"required":["id","name","description","image","bonus","skillPoints","skillTree"]},"ArtifactBody":{"type":"object","properties":{"artifact":{"type":"string"}},"required":["artifact"]},"PageLimitParam":{"type":"string","default":"50"},"PageOffsetParam":{"type":"string","default":"0"},"UserRewardListObject":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/UserRewardItem"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]},"UserRewardItem":{"type":"object","properties":{"quest":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["quest","createdAt"]},"RewardHistoryResponse":{"type":"object","properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/RewardHistoryItem"}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]},"RewardHistoryItem":{"type":"object","properties":{"id":{"type":"string"},"actorId":{"type":"string"},"action":{"type":"string"},"targetUser":{"type":["string","null"]},"targetAuthId":{"type":["string","null"]},"targetWallet":{"type":["string","null"]},"payload":{"type":"object","additionalProperties":{}},"comment":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","actorId","action","targetUser","targetAuthId","targetWallet","payload","comment","createdAt"]},"ClaimBody":{"type":"object","properties":{"quest":{"type":"string"}},"required":["quest"]},"ClaimResponse":{"type":"object","properties":{"experience":{"type":"number"}},"required":["experience"]},"AwardPointsBody":{"type":"object","properties":{"userIdentifier":{"type":"string"},"amount":{"type":"number","exclusiveMinimum":0},"comment":{"type":"string","maxLength":1000}},"required":["userIdentifier","amount"]},"AwardPointsResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"recipientAuthId":{"type":"string"},"recipientWallet":{"type":["string","null"]},"amount":{"type":"string"},"comment":{"type":["string","null"]},"grantedBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"points":{"type":"object","properties":{"totalPoints":{"type":"string"},"unclaimedPoints":{"type":"string"}},"required":["totalPoints","unclaimedPoints"]}},"required":["id","recipientAuthId","recipientWallet","amount","comment","grantedBy","createdAt","points"]},"AwardTicketBody":{"type":"object","properties":{"userIdentifier":{"type":"string"},"amount":{"type":"integer","exclusiveMinimum":0},"comment":{"type":"string","maxLength":1000}},"required":["userIdentifier","amount"]},"AwardTicketResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"recipientAuthId":{"type":"string"},"recipientWallet":{"type":["string","null"]},"amount":{"type":"string"},"comment":{"type":["string","null"]},"grantedBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"tickets":{"type":"object","properties":{"received":{"type":"number"},"used":{"type":"number"},"available":{"type":"number"}},"required":["received","used","available"]}},"required":["id","recipientAuthId","recipientWallet","amount","comment","grantedBy","createdAt","tickets"]},"AwardBundleBody":{"type":"object","properties":{"userIdentifier":{"type":"string"},"points":{"type":"number","exclusiveMinimum":0},"luckyShotTickets":{"type":"integer","exclusiveMinimum":0},"collectableTickets":{"type":"integer","exclusiveMinimum":0},"comment":{"type":"string","maxLength":1000}},"required":["userIdentifier"]},"AwardBundleResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"recipientAuthId":{"type":"string"},"recipientWallet":{"type":["string","null"]},"awarded":{"type":"object","properties":{"points":{"type":["string","null"]},"luckyShotTickets":{"type":["number","null"]},"collectableTickets":{"type":["number","null"]}},"required":["points","luckyShotTickets","collectableTickets"]},"comment":{"type":["string","null"]},"grantedBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"balances":{"type":"object","properties":{"points":{"type":["object","null"],"properties":{"totalPoints":{"type":"string"},"unclaimedPoints":{"type":"string"}},"required":["totalPoints","unclaimedPoints"]},"luckyShotTickets":{"type":["object","null"],"properties":{"received":{"type":"number"},"used":{"type":"number"},"available":{"type":"number"}},"required":["received","used","available"]},"collectableTickets":{"type":["object","null"],"properties":{"received":{"type":"number"},"used":{"type":"number"},"available":{"type":"number"}},"required":["received","used","available"]}},"required":["points","luckyShotTickets","collectableTickets"]},"notificationError":{"type":["object","null"],"properties":{"failed":{"type":"boolean"},"reason":{"type":"string"}},"required":["failed","reason"]}},"required":["id","recipientAuthId","recipientWallet","awarded","comment","grantedBy","createdAt","balances","notificationError"]},"AdjustXpBody":{"type":"object","properties":{"userIdentifier":{"type":"string"},"amount":{"type":"number"},"comment":{"type":"string","maxLength":1000}},"required":["userIdentifier","amount"]},"AdjustXpResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"recipientAuthId":{"type":"string"},"recipientWallet":{"type":["string","null"]},"amount":{"type":"number"},"previousExperience":{"type":"string"},"newExperience":{"type":"string"},"comment":{"type":["string","null"]},"adjustedBy":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","recipientAuthId","recipientWallet","amount","previousExperience","newExperience","comment","adjustedBy","createdAt"]},"UserQuest":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"url":{"type":["string","null"]},"experienceReward":{"type":"number"},"criteria":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"userRegister"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"dailyActivity"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"manual"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"firstLiquidation"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"cashback"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"userDeposit"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"tradingVolume"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"diversifier"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"tradeCount"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"academyCourse"},"courseId":{"type":"string"}},"required":["type","courseId"]},{"type":"object","properties":{"type":{"type":"string","const":"amaParticipation"},"events":{"type":"number"}},"required":["type","events"]},{"type":"object","properties":{"type":{"type":"string","const":"referralCount"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"referralEarnings"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"positionLeverageUpdate"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"testnetParticipant"},"participation":{"type":"boolean"}},"required":["type","participation"]},{"type":"object","properties":{"type":{"type":"string","const":"liquidityProvider"},"amount":{"type":"number"},"days":{"type":"number"}},"required":["type","amount","days"]},{"type":"object","properties":{"type":{"type":"string","const":"copyTrader"},"successRate":{"type":"number"}},"required":["type","successRate"]},{"type":"object","properties":{"type":{"type":"string","const":"p2pExchanges"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"ehCardOwner"},"ownership":{"type":"boolean"}},"required":["type","ownership"]},{"type":"object","properties":{"type":{"type":"string","const":"cautiousInvestor"},"stopLossUses":{"type":"number"}},"required":["type","stopLossUses"]},{"type":"object","properties":{"type":{"type":"string","const":"riskManagementMaster"},"riskRatio":{"type":"number"},"periodDays":{"type":"number"}},"required":["type","riskRatio","periodDays"]},{"type":"object","properties":{"type":{"type":"string","const":"ironHands"},"durationDays":{"type":"number"},"recoveryPercentage":{"type":"number"}},"required":["type","durationDays","recoveryPercentage"]},{"type":"object","properties":{"type":{"type":"string","const":"friendOfFriends"},"referrals":{"type":"number"}},"required":["type","referrals"]},{"type":"object","properties":{"type":{"type":"string","const":"firstProfitTrade"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"firstLostTrade"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"link"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"tradingDailyVolume"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"singleTradeProfit"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"singleTradePnL"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkEmail"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkTelegram"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"aiStrategyCreated"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkTwoFA"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkDiscordNotifications"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkMobilePushNotifications"},"threshold":{"type":"number"}},"required":["type","threshold"]},{"type":"object","properties":{"type":{"type":"string","const":"linkWebPushNotifications"},"threshold":{"type":"number"}},"required":["type","threshold"]}]},"category":{"type":"string","enum":["basic","trading","education","social"]},"progress":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"userRegister"},"registered":{"type":"number"}},"required":["type","registered"]},{"type":"object","properties":{"type":{"type":"string","const":"manual"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"firstLiquidation"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"cashback"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"dailyActivity"},"consecutiveDays":{"type":"number"},"lastActivityDate":{"type":"string"}},"required":["type","consecutiveDays","lastActivityDate"]},{"type":"object","properties":{"type":{"type":"string","const":"userDeposit"},"deposit":{"type":"number"},"coin":{"type":"string"}},"required":["type","deposit","coin"]},{"type":"object","properties":{"type":{"type":"string","const":"tradingVolume"},"totalVolume":{"type":"number"}},"required":["type","totalVolume"]},{"type":"object","properties":{"type":{"type":"string","const":"diversifier"},"newInstrument":{"type":"string"},"uniqueInstruments":{"type":"array","items":{"type":"string"}}},"required":["type","newInstrument","uniqueInstruments"]},{"type":"object","properties":{"type":{"type":"string","const":"tradeCount"},"tradeCount":{"type":"number"}},"required":["type","tradeCount"]},{"type":"object","properties":{"type":{"type":"string","const":"academyCourse"},"coursesCompleted":{"type":"array","items":{"type":"string"}},"newCourseCompleted":{"type":"string"}},"required":["type","coursesCompleted","newCourseCompleted"]},{"type":"object","properties":{"type":{"type":"string","const":"amaParticipation"},"eventsAttended":{"type":"number"}},"required":["type","eventsAttended"]},{"type":"object","properties":{"type":{"type":"string","const":"referralCount"},"totalReferrals":{"type":"number"}},"required":["type","totalReferrals"]},{"type":"object","properties":{"type":{"type":"string","const":"referralEarnings"},"totalEarnings":{"type":"number"}},"required":["type","totalEarnings"]},{"type":"object","properties":{"type":{"type":"string","const":"positionLeverageUpdate"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"testnetParticipant"},"participated":{"type":"boolean"}},"required":["type","participated"]},{"type":"object","properties":{"type":{"type":"string","const":"liquidityProvider"},"totalLiquidityProvided":{"type":"number"},"daysProvided":{"type":"number"}},"required":["type","totalLiquidityProvided","daysProvided"]},{"type":"object","properties":{"type":{"type":"string","const":"copyTrader"},"successRate":{"type":"number"}},"required":["type","successRate"]},{"type":"object","properties":{"type":{"type":"string","const":"p2pExchanges"},"exchangeCount":{"type":"number"}},"required":["type","exchangeCount"]},{"type":"object","properties":{"type":{"type":"string","const":"ehCardOwner"},"ownsCard":{"type":"boolean"}},"required":["type","ownsCard"]},{"type":"object","properties":{"type":{"type":"string","const":"cautiousInvestor"},"stopLossUsed":{"type":"number"}},"required":["type","stopLossUsed"]},{"type":"object","properties":{"type":{"type":"string","const":"riskManagementMaster"},"currentRiskRatio":{"type":"number"},"daysMaintained":{"type":"number"}},"required":["type","currentRiskRatio","daysMaintained"]},{"type":"object","properties":{"type":{"type":"string","const":"ironHands"},"positionHeldDays":{"type":"number"},"recoveredPercentage":{"type":"number"}},"required":["type","positionHeldDays","recoveredPercentage"]},{"type":"object","properties":{"type":{"type":"string","const":"friendOfFriends"},"referrals":{"type":"number"}},"required":["type","referrals"]},{"type":"object","properties":{"type":{"type":"string","const":"firstProfitTrade"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"firstLostTrade"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"link"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"tradingDailyVolume"},"totalVolume":{"type":"number"},"day":{"type":"string"}},"required":["type","totalVolume","day"]},{"type":"object","properties":{"type":{"type":"string","const":"singleTradeProfit"},"pnl":{"type":"number"}},"required":["type","pnl"]},{"type":"object","properties":{"type":{"type":"string","const":"singleTradePnL"},"pnl":{"type":"number"}},"required":["type","pnl"]},{"type":"object","properties":{"type":{"type":"string","const":"linkEmail"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"linkTelegram"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"aiStrategyCreated"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"linkTwoFA"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"linkDiscordNotifications"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"linkMobilePushNotifications"},"count":{"type":"number"}},"required":["type","count"]},{"type":"object","properties":{"type":{"type":"string","const":"linkWebPushNotifications"},"count":{"type":"number"}},"required":["type","count"]},{"type":"null"}]},"isClaimed":{"type":"boolean","default":false},"isExternalUrl":{"type":"boolean","default":false},"isReadyToClaim":{"type":"boolean"},"rewardType":{"type":"string","enum":["static","dynamic"]},"dynamicPercent":{"type":"number"},"dynamicMinExp":{"type":"number"},"viewType":{"type":"string","enum":["card","progressBarCard"]},"progressBar":{"type":"object","properties":{"current":{"type":"number"},"total":{"type":"number"}},"required":["current","total"]},"buttonText":{"type":["string","null"]}},"required":["id","name","description","type","url","experienceReward","criteria","category","progress","isClaimed","isExternalUrl","isReadyToClaim","rewardType","dynamicPercent","dynamicMinExp","viewType","progressBar","buttonText"]},"PublicQuest":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["basic","trading","education","social"]},"type":{"type":"string"},"url":{"type":["string","null"]},"viewType":{"type":"string","enum":["card","progressBarCard"]},"buttonText":{"type":["string","null"]}},"required":["id","name","description","category","type","url","viewType","buttonText"]},"PromocodeUpdateBody":{"type":"object","properties":{"code":{"type":"string"},"expiresAt":{"type":"string"},"totalUses":{"type":"integer","minimum":0},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}}},"PromocodeUpdateResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"code":{"type":"string"},"user":{"type":"string","format":"uuid"},"expiresAt":{"type":"string"},"availableUses":{"type":"integer","minimum":0},"totalUses":{"type":"integer","minimum":0},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}},"required":["id","code","user","expiresAt","availableUses","totalUses","createdAt","updatedAt","reward"]},"PromocodeRedeemBody":{"type":"object","properties":{"code":{"type":"string"}},"required":["code"]},"PromocodeRedeemResponse":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}},"required":["success"]},"PromocodeListResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"code":{"type":"string"},"user":{"type":"string","format":"uuid"},"expiresAt":{"type":"string"},"availableUses":{"type":"integer","minimum":0},"totalUses":{"type":"integer","minimum":0},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}},"required":["id","code","user","expiresAt","availableUses","totalUses","createdAt","updatedAt","reward"]}}},"required":["list"]},"PromocodeCreateBody":{"type":"object","properties":{"code":{"type":"string"},"expiresAt":{"type":"string"},"totalUses":{"type":"integer","minimum":0},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}},"required":["code","expiresAt","totalUses","reward"]},"PromocodeCreateResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"code":{"type":"string"},"user":{"type":"string","format":"uuid"},"expiresAt":{"type":"string"},"availableUses":{"type":"integer","minimum":0},"totalUses":{"type":"integer","minimum":0},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"reward":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["points","luckyShotTickets","streakFreeze"]},"amount":{"type":"number","minimum":0}},"required":["type","amount"]}}},"required":["list"]}},"required":["id","code","user","expiresAt","availableUses","totalUses","createdAt","updatedAt","reward"]},"PointsImageShareParams":{"type":"object","properties":{"wide":{"type":"string","format":"uri"},"narrow":{"type":"string","format":"uri"}},"required":["wide","narrow"]},"PointsHistoryList":{"type":"array","items":{"$ref":"#/components/schemas/PointsHistoryItem"}},"PointsHistoryItem":{"type":"object","properties":{"fromDate":{"type":"string"},"toDate":{"type":"string"},"experience":{"type":["string","null"]},"tradingVolume":{"type":["string","null"]},"referralVolume":{"type":["string","null"]},"referralPoints":{"type":["string","null"]},"points":{"type":["string","null"]},"pendingPoints":{"type":["string","null"]},"status":{"type":"string","enum":["hasData","missing","active","zeroProgress"]}},"required":["fromDate","toDate","experience","tradingVolume","referralVolume","referralPoints","points","pendingPoints","status"]},"PointsClaimResponse":{"type":"object","properties":{"claimed":{"type":"string"},"totalPoints":{"type":"string"},"unclaimedPoints":{"type":"string"}},"required":["claimed","totalPoints","unclaimedPoints"]},"LuckyShotImageGetResponse":{"type":"object","properties":{"badgeUrl":{"type":"string","format":"uri"}},"required":["badgeUrl"]},"LuckyShotImageShareBody":{"type":"object","properties":{"renderingMode":{"type":"string","enum":["narrow","wide"]}},"required":["renderingMode"]},"LuckyShotImageShareResponse":{"type":"object","properties":{"badgeUrl":{"type":"string","format":"uri"}},"required":["badgeUrl"]},"AwardLuckyShotTicketsBody":{"type":"object","properties":{"authId":{"type":"string","description":"User Auth Id"},"amount":{"type":"integer","exclusiveMinimum":0,"description":"Number of tickets to award"}},"required":["authId","amount"]},"AwardLuckyShotTicketsResponse":{"type":"object","properties":{"authId":{"type":"string"},"amount":{"type":"number"},"tickets":{"$ref":"#/components/schemas/LuckyShotTickets"}},"required":["authId","amount","tickets"]},"LuckyShotTickets":{"type":"object","properties":{"received":{"type":"number","description":"Total Lucky Shot tickets received"},"used":{"type":"number","description":"Total Lucky Shot tickets used"},"available":{"type":"number","description":"Available Lucky Shot tickets (received - used)"}},"required":["received","used","available"]},"PublicLeague":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"level":{"type":"number"},"steps":{"type":"number"},"image":{"type":["string","null"],"description":"League image URL"}},"required":["id","name","level","steps","image"]},"GrandContestVolumeScaleResponse":{"type":"object","properties":{"competition":{"type":["object","null"],"properties":{"id":{"type":"string"},"startAt":{"type":"string"},"finishAt":{"type":"string"},"status":{"type":"string"}},"required":["id","startAt","finishAt","status"]},"currentRound":{"type":["object","null"],"properties":{"roundNumber":{"type":"number"},"startAt":{"type":"string"},"finishAt":{"type":"string"}},"required":["roundNumber","startAt","finishAt"]},"dailyVolume":{"type":"string"},"activeTier":{"type":"object","properties":{"requireDailyVolume":{"type":"string"},"usdtPool":{"type":"number"},"pointsPool":{"type":"number"}},"required":["requireDailyVolume","usdtPool","pointsPool"]},"volumeScale":{"type":"array","items":{"type":"object","properties":{"requireDailyVolume":{"type":"string"},"usdtPool":{"type":"number"},"pointsPool":{"type":"number"}},"required":["requireDailyVolume","usdtPool","pointsPool"]}}},"required":["competition","currentRound","dailyVolume","activeTier","volumeScale"]},"GrandContestTopEarnersResponse":{"type":"object","properties":{"topEarners":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"avatar":{"type":["string","null"]},"smartAccountAddress":{"type":["string","null"]},"totalUsdtEarned":{"type":"string"},"totalVolume":{"type":"string"}},"required":["rank","avatar","smartAccountAddress","totalUsdtEarned","totalVolume"]}}},"required":["topEarners"]},"GrandContestMeResponse":{"type":"object","properties":{"totalVolume":{"type":"string"},"dailyVolume":{"type":"string"},"currentPlace":{"type":["number","null"]},"yesterdayPlace":{"type":["number","null"]},"totalClaimed":{"type":"string"},"rewards":{"type":"object","properties":{"totalEarned":{"type":"string"},"claimed":{"type":"string"},"availableToClaim":{"type":"string"},"pendingClaim":{"type":"string"}},"required":["totalEarned","claimed","availableToClaim","pendingClaim"]},"milestone":{"type":"object","properties":{"threshold":{"type":"string"},"currentVolume":{"type":"string"},"reward":{"type":"number"},"isClaimed":{"type":"boolean"},"isAvailable":{"type":"boolean"}},"required":["threshold","currentVolume","reward","isClaimed","isAvailable"]}},"required":["totalVolume","dailyVolume","currentPlace","yesterdayPlace","totalClaimed","rewards","milestone"]},"GrandContestLeaderboardResponse":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"number"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"smartAccountAddress":{"type":["string","null"]},"dailyVolume":{"type":"string"},"totalVolume":{"type":"string"},"currentPlace":{"type":"number"},"yesterdayPlace":{"type":["number","null"]},"expectedReward":{"type":["object","null"],"properties":{"type":{"type":"string"},"amount":{"type":"string"},"isActiveTier":{"type":"boolean"}},"required":["type","amount","isActiveTier"]},"xp":{"type":"string"},"tradingVolume":{"type":"string"},"skillTreeName":{"type":["string","null"]},"totalClaimed":{"type":"string"}},"required":["rank","avatar","smartAccountAddress","dailyVolume","totalVolume","currentPlace","yesterdayPlace","expectedReward","xp","tradingVolume","skillTreeName"]}},"totalDailyVolume":{"type":"string"},"activeTier":{"type":"object","properties":{"requireDailyVolume":{"type":"string"},"usdtPool":{"type":"number"},"pointsPool":{"type":"number"}},"required":["requireDailyVolume","usdtPool","pointsPool"]}},"required":["leaderboard","totalDailyVolume","activeTier"]},"GrandContestClaimMilestoneResponse":{"type":"object","properties":{"claimed":{"type":"boolean"},"amount":{"type":"string"},"payload":{"type":["object","null"],"properties":{"nonce":{"type":"string"},"chainId":{"type":"number"},"recipient":{"type":"string"},"token":{"type":"string"},"amount":{"type":"string"},"contractAddress":{"type":"string"},"signature":{"type":"string"}},"required":["nonce","chainId","recipient","token","amount","contractAddress","signature"]}},"required":["claimed","amount","payload"]},"GrandContestClaimResponse":{"type":"object","properties":{"claimed":{"type":"string"},"totalEarned":{"type":"string"},"availableToClaim":{"type":"string"},"payload":{"type":["object","null"],"properties":{"nonce":{"type":"string"},"chainId":{"type":"number"},"recipient":{"type":"string"},"token":{"type":"string"},"amount":{"type":"string"},"contractAddress":{"type":"string"},"signature":{"type":"string"}},"required":["nonce","chainId","recipient","token","amount","contractAddress","signature"]}},"required":["claimed","totalEarned","availableToClaim","payload"]},"TradingVolumeCreateBody":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","format":"uuid"},"referralCode":{"type":"string","default":""},"competition":{"type":"string","default":""},"experience":{"type":"number"},"realizedPnL":{"type":"number"},"tradingVolume":{"type":"number"},"createdAt":{"type":"string"}},"required":["user","experience","realizedPnL","tradingVolume","createdAt"]}},"EmptyResponse":{"type":"object"},"CompetitionCreateBody":{"type":"object","properties":{"startAt":{"type":"string"},"finishAt":{"type":"string"},"type":{"type":"string","enum":["weekly","trading","points","referral","grand-contest","challenges","templateBased"]},"status":{"type":"string","enum":["active","finished","pending"]},"settings":{"type":"object","properties":{"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"number"},"reward":{"type":"number"},"prize":{"type":"string"}},"required":["place","reward"]}},"poolSettings":{"type":"array","items":{"type":"object","properties":{"requireTradingVolume":{"type":"string"},"pricePool":{"type":"number"},"maxWinners":{"type":"number"}},"required":["requireTradingVolume","pricePool","maxWinners"]}},"minVolumeTrade":{"type":"number"},"pointsDistribution":{"type":"object","properties":{"pointsPool":{"anyOf":[{"type":"number"},{"type":"string"}]},"payload":{"type":["object","null"],"additionalProperties":{}},"weights":{"type":"object","properties":{"experience":{"type":"number"},"tradingVolume":{"type":"number"},"referralVolume":{"type":"number"}},"required":["experience","tradingVolume","referralVolume"]}},"required":["pointsPool"]},"referralSettings":{"type":"object","properties":{"minReferralVolume":{"type":"number"},"excludePartners":{"type":"boolean"},"useCompetitionTimeRange":{"type":"boolean"}},"required":["minReferralVolume","excludePartners","useCompetitionTimeRange"]},"grandContestSettings":{"type":"object","properties":{"roundDurationMinutes":{"type":"number"},"volumeTiers":{"type":"array","items":{"type":"object","properties":{"requireDailyVolume":{"type":"string"},"usdtPool":{"type":"number"},"pointsPool":{"type":"number"}},"required":["requireDailyVolume","usdtPool","pointsPool"]}},"milestoneVolumeThreshold":{"type":"string"},"milestoneReward":{"type":"number"},"rankingMode":{"type":"string","enum":["daily","total"]}},"required":["roundDurationMinutes","volumeTiers","milestoneVolumeThreshold","milestoneReward"]}},"required":["rewards","poolSettings","minVolumeTrade"]}},"required":["startAt","finishAt","type","status","settings"]},"CompetitionCreateResponse":{"type":"object","properties":{"id":{"type":"string"},"startAt":{"type":"string"},"finishAt":{"type":"string"},"status":{"type":"string","enum":["active","finished","pending"]},"type":{"type":"string","enum":["weekly","trading","points","referral","grand-contest","challenges","templateBased"]}},"required":["id","startAt","finishAt","status","type"]},"CompetitionTemplateUpdateBody":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place"]}},"eligiblePartnerCodes":{"type":"array","items":{"type":"string","minLength":1}},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"}},"visible":{"type":"boolean"},"archived":{"type":"boolean"}}},"CompetitionTemplateUpdateResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}}},"required":["list"]},"eligiblePartnerCodes":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string"}}},"required":["list"]},"blacklistAuthIds":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["list"]},"visible":{"type":"boolean"},"archived":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards","eligiblePartnerCodes","blacklistAuthIds","visible","archived","createdAt","updatedAt"]},"CompetitionTemplateGetResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}}},"required":["list"]},"eligiblePartnerCodes":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string"}}},"required":["list"]},"blacklistAuthIds":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["list"]},"visible":{"type":"boolean"},"archived":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards","eligiblePartnerCodes","blacklistAuthIds","visible","archived","createdAt","updatedAt"]},"CompetitionTemplateListResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}}},"required":["list"]},"eligiblePartnerCodes":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string"}}},"required":["list"]},"blacklistAuthIds":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["list"]},"visible":{"type":"boolean"},"archived":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards","eligiblePartnerCodes","blacklistAuthIds","visible","archived","createdAt","updatedAt"]}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]},"CompetitionTemplateCreateBody":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":512},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"],"default":"manual"},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place"]},"default":[]},"eligiblePartnerCodes":{"type":"array","items":{"type":"string","minLength":1},"default":[]},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"},"default":[]},"visible":{"type":"boolean","default":true}},"required":["name","scoringStrategyType","eligibilityType","rewardType"]},"CompetitionTemplateCreateResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}}},"required":["list"]},"eligiblePartnerCodes":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string"}}},"required":["list"]},"blacklistAuthIds":{"type":"object","properties":{"list":{"type":"array","items":{"type":"string","format":"uuid"}}},"required":["list"]},"visible":{"type":"boolean"},"archived":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards","eligiblePartnerCodes","blacklistAuthIds","visible","archived","createdAt","updatedAt"]},"TemplateBasedCompetitionUpdateBody":{"type":"object","properties":{"startAt":{"type":"string"},"finishAt":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":512},"visible":{"type":"boolean"},"eligiblePartnerCodes":{"type":"array","items":{"type":"string","minLength":1}},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"}},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place"]}}}},"TemplateBasedCompetitionUpdateResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"templateId":{"type":"string","format":"uuid"},"title":{"type":"string"},"visible":{"type":"boolean"},"status":{"type":"string","enum":["active","finished","pending"]},"startAt":{"type":"string"},"finishAt":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"eligiblePartnerCodes":{"type":"array","items":{"type":"string"}},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"}},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","templateId","title","visible","status","startAt","finishAt","scoringStrategyType","eligibilityType","eligiblePartnerCodes","blacklistAuthIds","enrollmentType","rewardType","rewards","createdAt","updatedAt"]},"PublicTemplateBasedCompetitionGetResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"status":{"type":"string","enum":["active","finished","pending"]},"startAt":{"type":"string"},"finishAt":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}},"participantCount":{"type":"integer"}},"required":["id","title","status","startAt","finishAt","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards","participantCount"]},"PublicTemplateBasedCompetitionListResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"status":{"type":"string","enum":["active","finished","pending"]},"startAt":{"type":"string"},"finishAt":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}}},"required":["id","title","status","startAt","finishAt","scoringStrategyType","eligibilityType","enrollmentType","rewardType","rewards"]}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]},"CompetitionParticipationListResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"competition":{"type":"string","format":"uuid"},"joinedAt":{"type":"string"}},"required":["competition","joinedAt"]}}},"required":["list"]},"CompetitionParticipateResponse":{"type":"object","properties":{"competition":{"type":"string","format":"uuid"},"joinedAt":{"type":"string"}},"required":["competition","joinedAt"]},"TemplateBasedCompetitionListResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"templateId":{"type":"string","format":"uuid"},"title":{"type":"string"},"visible":{"type":"boolean"},"status":{"type":"string","enum":["active","finished","pending"]},"startAt":{"type":"string"},"finishAt":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"eligiblePartnerCodes":{"type":"array","items":{"type":"string"}},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"}},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","templateId","title","visible","status","startAt","finishAt","scoringStrategyType","eligibilityType","eligiblePartnerCodes","blacklistAuthIds","enrollmentType","rewardType","rewards","createdAt","updatedAt"]}},"count":{"type":"number"},"next":{"type":"string"}},"required":["list","count"]},"CompetitionLeaderboardMeResponse":{"type":"object","properties":{"rank":{"type":["integer","null"]},"score":{"type":["string","null"]},"participantCount":{"type":"integer"},"walletAddress":{"type":"string"},"smartAccountAddress":{"type":"string"},"updatedAt":{"type":"string"}},"required":["rank","score","participantCount","walletAddress","smartAccountAddress","updatedAt"]},"CompetitionLeaderboardResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"user":{"type":"string","format":"uuid"},"walletAddress":{"type":"string"},"smartAccountAddress":{"type":"string"},"score":{"type":"string"},"avatar":{"type":["string","null"]},"name":{"type":["string","null"]},"level":{"type":"number"},"skill":{"type":"object","properties":{"name":{"type":"string"}}}},"required":["rank","user","walletAddress","smartAccountAddress","score","avatar","name","level","skill"]}},"count":{"type":"number"},"next":{"type":"string"},"updatedAt":{"type":"string"}},"required":["list","count","updatedAt"]},"TemplateBasedCompetitionLaunchBody":{"type":"object","properties":{"templateId":{"type":"string","format":"uuid"},"startAt":{"type":"string"},"finishAt":{"type":"string"},"title":{"type":"string","minLength":1,"maxLength":512},"visible":{"type":"boolean"},"eligiblePartnerCodesOverride":{"type":"array","items":{"type":"string","minLength":1}},"blacklistAuthIdsOverride":{"type":"array","items":{"type":"string","format":"uuid"}},"rewardsOverride":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place"]}}},"required":["templateId","startAt","finishAt"]},"TemplateBasedCompetitionLaunchResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"templateId":{"type":"string","format":"uuid"},"title":{"type":"string"},"visible":{"type":"boolean"},"status":{"type":"string","enum":["active","finished","pending"]},"startAt":{"type":"string"},"finishAt":{"type":"string"},"scoringStrategyType":{"type":"string","enum":["experience","tradingVolume","realizedPnL","referrals","points"]},"eligibilityType":{"type":"string","enum":["open","closed"]},"eligiblePartnerCodes":{"type":"array","items":{"type":"string"}},"blacklistAuthIds":{"type":"array","items":{"type":"string","format":"uuid"}},"enrollmentType":{"type":"string","enum":["manual","automatic"]},"rewardType":{"type":"string","enum":["points","gift","usdt","none"]},"rewards":{"type":"array","items":{"type":"object","properties":{"place":{"type":"integer","minimum":1},"reward":{"type":"number","minimum":0,"default":0},"prize":{"type":"string"}},"required":["place","reward"]}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","templateId","title","visible","status","startAt","finishAt","scoringStrategyType","eligibilityType","eligiblePartnerCodes","blacklistAuthIds","enrollmentType","rewardType","rewards","createdAt","updatedAt"]},"ChallengesSummaryResponse":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"date":{"type":"string"},"progress":{"type":"integer"},"goal":{"type":"integer"},"userChallengeId":{"type":["string","null"],"format":"uuid","default":null},"isClaimed":{"type":"boolean"},"isAvailable":{"type":"boolean"}},"required":["id","title","date","progress","goal","userChallengeId","isClaimed","isAvailable"]}},"RestoreStreakBalanceResponse":{"type":"object","properties":{"used":{"type":"integer"},"total":{"type":"integer"},"isAvailable":{"type":"boolean"}},"required":["used","total","isAvailable"]},"ManualChallengeClaimBody":{"type":"object","properties":{"wallet":{"type":"string","description":"User wallet address"},"authId":{"type":"string","format":"uuid","description":"User Auth Id"},"userChallengeId":{"type":"string","format":"uuid","description":"User Challenge Id (if known)"},"challengeTitle":{"type":"string","enum":["sprint","middleRace","marathon"],"description":"Challenge title (sprint, middleRace, marathon)"},"month":{"type":"string","description":"Month in format YYYY-MM (e.g. 2025-01)"}}},"ManualChallengeClaimResponse":{"type":"object","properties":{"success":{"type":"boolean"},"userId":{"type":"string","format":"uuid"},"userChallengeId":{"type":"string","format":"uuid"},"challengeTitle":{"type":"string"},"xpAwarded":{"type":"number"},"newExperience":{"type":"string"}},"required":["success","userId","userChallengeId","challengeTitle","xpAwarded","newExperience"]},"ChallengeCompetitionLeaderboardMeResponse":{"type":"object","properties":{"tradingVolume":{"type":"number"},"targetVolume":{"type":"number"},"tickets":{"type":"number"},"total":{"type":"number"}},"required":["tradingVolume","targetVolume","tickets","total"]},"ChallengeCompetitionLeaderboardResponse":{"type":"object","properties":{"list":{"type":"array","items":{"type":"object","properties":{"user":{"type":"string","format":"uuid"},"tradingVolume":{"type":"number"},"tickets":{"type":"number"},"total":{"type":"number"},"avatar":{"type":"string"},"smartAccountAddress":{"type":"string"}},"required":["user","tradingVolume","tickets","total","avatar","smartAccountAddress"]}},"count":{"type":"number"},"next":{"type":"string"},"startAt":{"type":["string","null"]},"finishAt":{"type":["string","null"]}},"required":["list","count","startAt","finishAt"]}}}}