{"openapi":"3.1.0","info":{"title":"dextrade-user-wallets","description":"","contact":{"name":"sotalabs","email":"admin@sotalabs.io"},"license":{"name":""},"version":"0.0.1"},"servers":[{"url":"/"}],"paths":{"/api/v1/my/balances":{"get":{"tags":["balances"],"operationId":"get_my_balances","parameters":[{"name":"network","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]}},{"name":"tokenAddress","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"walletAddress","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/my/stats":{"get":{"tags":["user-stats"],"operationId":"get_my_stats","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserStatsResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/positions/closed":{"get":{"tags":["positions"],"operationId":"get_user_closed_positions","parameters":[{"name":"network","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]}},{"name":"walletAddress","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"tokenAddress","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"showAll","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"orderBy","in":"query","required":true,"schema":{"oneOf":[{"$ref":"#/components/schemas/OrderBy"}],"default":"closed_at"}},{"name":"limit","in":"query","required":true,"schema":{"type":"integer","format":"int32","maximum":100,"minimum":20},"example":20},{"name":"cursor","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/positions/open":{"get":{"tags":["positions"],"operationId":"get_user_open_positions","parameters":[{"name":"network","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]}},{"name":"walletAddress","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"tokenAddress","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"showAll","in":"query","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/positions/{id}":{"get":{"tags":["positions"],"operationId":"get_user_position","parameters":[{"name":"id","in":"path","description":"Position ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"}}}},"/api/v1/positions/{id}/set-hidden-status":{"put":{"tags":["positions"],"operationId":"update_hidden_status","parameters":[{"name":"id","in":"path","description":"Position ID","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateHiddenStatusRequestDto"}}},"required":true},"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/user-balance-history-24h":{"get":{"tags":["user-balance-history"],"operationId":"get_user_balance_history_24h","parameters":[{"name":"userId","in":"query","description":"Optional user_id to query (if not provided, uses authenticated user's ID)","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/user-balance-snapshots":{"get":{"tags":["user-balance-snapshots"],"operationId":"get_user_balance_snapshots","parameters":[{"name":"duration","in":"query","required":true,"schema":{"type":"string"}},{"name":"userId","in":"query","description":"Optional user_id to query (if not provided, uses authenticated user's ID)","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/user-deposits-history":{"get":{"tags":["user-deposits-history"],"operationId":"get_user_deposits_history","parameters":[{"name":"walletAddress","in":"query","description":"Filter by wallet address (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"tokenAddress","in":"query","description":"Filter by token address (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"network","in":"query","description":"Filter by network (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"fromTimestampMs","in":"query","description":"Filter from timestamp in milliseconds (optional)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"toTimestampMs","in":"query","description":"Filter to timestamp in milliseconds (optional)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Number of items to return (default: 20, min: 20, max: 100)","required":true,"schema":{"type":"integer","format":"int32","maximum":100,"minimum":20},"example":20},{"name":"cursor","in":"query","description":"Cursor for pagination (timestamp_ms of last item from previous page)","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletActivitiesResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/user-pnl":{"get":{"tags":["user-pnl"],"operationId":"get_user_pnl","parameters":[{"name":"duration","in":"query","required":true,"schema":{"type":"string"}},{"name":"userId","in":"query","description":"Optional user_id to query (if not provided, uses authenticated user's ID)","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/user-stats/top-pnl":{"get":{"tags":["user-stats"],"operationId":"get_top_users_pnl","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":["integer","null"],"format":"int64","maximum":100,"minimum":1},"example":10},{"name":"resolution","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Resolution"}]},"example":"all"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TopUserPnlResponseDto"}}}}},"400":{"description":"Invalid request data"}}}},"/api/v1/user-trades-history":{"get":{"tags":["user-trades-history"],"operationId":"get_user_trades_history","parameters":[{"name":"walletAddress","in":"query","description":"Filter by wallet address (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"tokenAddress","in":"query","description":"Filter by token address (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"network","in":"query","description":"Filter by network (optional)","required":false,"schema":{"type":["string","null"]}},{"name":"fromTimestampMs","in":"query","description":"Filter from timestamp in milliseconds (optional)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"toTimestampMs","in":"query","description":"Filter to timestamp in milliseconds (optional)","required":false,"schema":{"type":["integer","null"],"format":"int64"}},{"name":"limit","in":"query","description":"Number of items to return (default: 20, min: 20, max: 100)","required":true,"schema":{"type":"integer","format":"int32","maximum":100,"minimum":20},"example":20},{"name":"cursor","in":"query","description":"Cursor for pagination (timestamp_ms of last item from previous page)","required":false,"schema":{"type":["integer","null"],"format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletActivitiesResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets":{"get":{"tags":["wallets"],"operationId":"get_list_wallets","parameters":[{"name":"network","in":"query","required":false,"schema":{"type":["string","null"]}},{"name":"showAll","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"isPublic","in":"query","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}}},"401":{"description":"Unauthorized to get wallets"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/active-trading":{"put":{"tags":["wallets"],"operationId":"update_active_trading_wallets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActiveTradingWalletsRequestDto"}}},"required":true},"responses":{"200":{"description":"Update active trading wallets successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to update active trading wallets"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/deactivate":{"put":{"tags":["wallets"],"operationId":"deactivate_wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InactiveUserWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"User wallet inactive successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to inactive wallet"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/deactivate-all":{"put":{"tags":["wallets"],"operationId":"deactivate_all_wallets","responses":{"200":{"description":"User wallet inactive successfully"},"201":{"description":"inactive all user wallets successfully"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to inactive wallet"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/export":{"post":{"tags":["wallets"],"operationId":"export_private_key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportPrivateKeyRequestDto"}}},"required":true},"responses":{"200":{"description":"Private key exported successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportPrivateKeyResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to export private key"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/generate":{"post":{"tags":["wallets"],"operationId":"generate_user_wallets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateUserWalletRequestDto"}}},"required":true},"responses":{"201":{"description":"User wallets generated successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to import wallets"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/import":{"post":{"tags":["wallets"],"operationId":"import_user_wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportUserWalletRequestDto"}}},"required":true},"responses":{"201":{"description":"User wallet imported successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to import wallets"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/reactivate":{"put":{"tags":["wallets"],"operationId":"reactivate_wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactivateUserWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"User wallet reactivate successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserWalletResponseDto"}}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to reactivate wallet"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/reactivate-all":{"put":{"tags":["wallets"],"operationId":"reactivate_all_wallets","responses":{"200":{"description":"User wallet reactivate successfully"},"201":{"description":"reactivate all user wallets successfully"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to reactivate wallet"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/set-public":{"put":{"tags":["wallets"],"operationId":"set_wallet_as_public","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPublicWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"Wallet set as public successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetPublicWalletResponseDto"}}}},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to set public wallet"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallets/{walletAddress}":{"put":{"tags":["wallets"],"operationId":"update_wallet_info","parameters":[{"name":"walletAddress","in":"path","description":"Wallet Address","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWalletInfoRequestDto"}}},"required":true},"responses":{"200":{"description":"User wallet updated successfully"},"400":{"description":"Invalid request data"},"401":{"description":"Unauthorized to update wallet"}},"security":[{"bearer_auth":[]}]}},"/health":{"get":{"tags":["health"],"operationId":"health_check","responses":{"200":{"description":"Health check successful"},"500":{"description":"Health check failed"}}}}},"components":{"schemas":{"ENetwork":{"type":"string","enum":["sui","hyperevm","somnia","plasma","monad","base","bsc","solana"]},"ExportPrivateKeyRequestDto":{"type":"object","required":["walletAddress","twofaCode"],"properties":{"twofaCode":{"type":"string"},"walletAddress":{"type":"string"}}},"ExportPrivateKeyResponseDto":{"type":"object","required":["address","privateKey"],"properties":{"address":{"type":"string"},"privateKey":{"type":"string"}}},"GenerateUserWalletRequestDto":{"type":"object","required":["network","numberWallets"],"properties":{"network":{"$ref":"#/components/schemas/ENetwork"},"numberWallets":{"type":"integer","format":"int32","minimum":0}}},"GetMyBalanceRequestDto":{"type":"object","properties":{"network":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]},"tokenAddress":{"type":["string","null"]},"walletAddress":{"type":["string","null"]}}},"GetTopUsersPnlQuery":{"type":"object","properties":{"limit":{"type":["integer","null"],"format":"int64","minimum":0},"resolution":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Resolution"}]}}},"ImportUserWalletRequestDto":{"type":"object","required":["network","privateKey"],"properties":{"network":{"$ref":"#/components/schemas/ENetwork"},"privateKey":{"type":"string"}}},"InactiveUserWalletRequestDto":{"type":"object","required":["walletAddresses"],"properties":{"walletAddresses":{"type":"array","items":{"type":"string"}}}},"MyBalanceResponseDto":{"type":"object","required":["network","walletAddress","token","balance","unrealizedVolume","unrealizedCurrency","balanceSyncStatus","sellVolumeUsd","buyVolumeUsd"],"properties":{"balance":{"type":"string"},"balanceNativeDirtyAt":{"type":["integer","null"],"format":"int64"},"balanceSyncStatus":{"type":"string"},"buyVolumeUsd":{"type":"string"},"network":{"type":"string"},"sellVolumeUsd":{"type":"string"},"token":{"$ref":"#/components/schemas/PublicToken"},"unrealizedCurrency":{"type":"string"},"unrealizedVolume":{"type":"string"},"walletAddress":{"type":"string"}}},"OrderBy":{"type":"string","enum":["closed_at","realized_pnl_usd"]},"PositionActivity":{"type":"object","required":["category","amount","amountUsd","mcapUsd","timestampMs"],"properties":{"amount":{"type":"string"},"amountUsd":{"type":"string"},"category":{"type":"string"},"mcapUsd":{"type":"string"},"timestampMs":{"type":"integer","format":"int64"}}},"PublicPositionResponseDto":{"type":"object","required":["id","network","token","balance","unrealizedVolume","unrealizedCurrency","buyVolumeUsd","buyQuantity","sellVolumeUsd","sellQuantity","realizedPnlUsd","openedAt","closedAt","activities"],"properties":{"activities":{"type":"array","items":{"$ref":"#/components/schemas/PositionActivity"}},"balance":{"type":"string"},"balanceNativeDirtyAt":{"type":["integer","null"],"format":"int64"},"buyQuantity":{"type":"string"},"buyVolumeUsd":{"type":"string"},"closedAt":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64"},"network":{"type":"string"},"openedAt":{"type":"integer","format":"int64"},"realizedPnlUsd":{"type":"string"},"sellQuantity":{"type":"string"},"sellVolumeUsd":{"type":"string"},"token":{"$ref":"#/components/schemas/PublicToken"},"unrealizedCurrency":{"type":"string"},"unrealizedVolume":{"type":"string"}}},"PublicToken":{"type":"object","required":["address"],"properties":{"address":{"type":"string"},"circulatingSupply":{"type":["string","null"]},"decimals":{"type":["integer","null"],"format":"int32"},"logoUrl":{"type":["string","null"]},"name":{"type":["string","null"]},"priceUsd":{"type":["string","null"]},"slug":{"type":["string","null"]},"symbol":{"type":["string","null"]},"totalSupply":{"type":["string","null"]}}},"ReactivateUserWalletRequestDto":{"type":"object","required":["walletAddresses"],"properties":{"walletAddresses":{"type":"array","items":{"type":"string"}}}},"Resolution":{"type":"string","enum":["24h","7d","30d","all"]},"SetPublicWalletRequestDto":{"type":"object","required":["network","walletAddress"],"properties":{"network":{"$ref":"#/components/schemas/ENetwork"},"walletAddress":{"type":"string"}}},"SetPublicWalletResponseDto":{"type":"object","required":["success","walletAddress"],"properties":{"success":{"type":"boolean"},"walletAddress":{"type":"string"}}},"TopUserPnlResponseDto":{"type":"object","required":["userId","totalRealizedPnlUsd","totalVolumeUsd","totalPosition","totalWinPosition","rank"],"properties":{"rank":{"type":"integer","format":"int64"},"totalPosition":{"type":"string","example":"100"},"totalRealizedPnlUsd":{"type":"string","example":"1234.56"},"totalVolumeUsd":{"type":"string","example":"12345.67"},"totalWinPosition":{"type":"string","example":"50"},"userId":{"type":"string"}}},"UpdateActiveTradingWalletsRequestDto":{"type":"object","required":["walletAddresses","isActiveTrading"],"properties":{"isActiveTrading":{"type":"boolean"},"walletAddresses":{"type":"array","items":{"type":"string"}}}},"UpdateHiddenStatusRequestDto":{"type":"object","required":["isHidden"],"properties":{"isHidden":{"type":"boolean"}}},"UpdateHiddenStatusResponseDto":{"type":"object","required":["id","isHidden"],"properties":{"id":{"type":"integer","format":"int64"},"isHidden":{"type":"boolean"}}},"UpdateWalletInfoRequestDto":{"type":"object","properties":{"aliasName":{"type":["string","null"]},"emoji":{"type":["string","null"]}}},"UserBalance24hRequestDto":{"type":"object","properties":{"userId":{"type":["string","null"],"description":"Optional user_id to query (if not provided, uses authenticated user's ID)"}}},"UserBalance24hResponseDto":{"type":"object","required":["balanceCurrency","balance","timestampMs"],"properties":{"balance":{"type":"string","example":"1234.56"},"balanceCurrency":{"type":"string"},"timestampMs":{"type":"integer","format":"int64"}}},"UserBalanceSnapshotRequestDto":{"type":"object","required":["duration"],"properties":{"duration":{"type":"string"},"userId":{"type":["string","null"],"description":"Optional user_id to query (if not provided, uses authenticated user's ID)"}}},"UserBalanceSnapshotResponseDto":{"type":"object","required":["balanceCurrency","totalBalance","snapshotAt"],"properties":{"balanceCurrency":{"type":"string"},"snapshotAt":{"type":"integer","format":"int64"},"totalBalance":{"type":"string","example":"1234.56"}}},"UserClosedPositionResponseDto":{"type":"object","required":["id","network","walletAddress","token","buyVolumeUsd","buyQuantity","sellVolumeUsd","sellQuantity","realizedPnlUsd","openedAt","closedAt","isHidden"],"properties":{"buyQuantity":{"type":"string"},"buyVolumeUsd":{"type":"string"},"closedAt":{"type":"integer","format":"int64"},"id":{"type":"integer","format":"int64"},"isHidden":{"type":"boolean"},"network":{"type":"string"},"openedAt":{"type":"integer","format":"int64"},"realizedPnlUsd":{"type":"string"},"sellQuantity":{"type":"string"},"sellVolumeUsd":{"type":"string"},"token":{"$ref":"#/components/schemas/PublicToken"},"walletAddress":{"type":"string"}}},"UserClosedPositionsRequestDto":{"type":"object","required":["orderBy","limit"],"properties":{"cursor":{"type":["integer","null"],"format":"int64"},"limit":{"type":"integer","format":"int32"},"network":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]},"orderBy":{"$ref":"#/components/schemas/OrderBy"},"showAll":{"type":["boolean","null"]},"tokenAddress":{"type":["string","null"]},"walletAddress":{"type":["string","null"]}}},"UserOpenPositionResponseDto":{"type":"object","required":["id","network","walletAddress","token","balance","unrealizedVolume","unrealizedCurrency","buyVolumeUsd","buyQuantity","sellVolumeUsd","sellQuantity","openedAt","isHidden"],"properties":{"balance":{"type":"string"},"balanceNativeDirtyAt":{"type":["integer","null"],"format":"int64"},"buyQuantity":{"type":"string"},"buyVolumeUsd":{"type":"string"},"id":{"type":"integer","format":"int64"},"isHidden":{"type":"boolean"},"network":{"type":"string"},"openedAt":{"type":"integer","format":"int64"},"sellQuantity":{"type":"string"},"sellVolumeUsd":{"type":"string"},"token":{"$ref":"#/components/schemas/PublicToken"},"unrealizedCurrency":{"type":"string"},"unrealizedVolume":{"type":"string"},"walletAddress":{"type":"string"}}},"UserOpenPositionsRequestDto":{"type":"object","properties":{"network":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]},"showAll":{"type":["boolean","null"]},"tokenAddress":{"type":["string","null"]},"walletAddress":{"type":["string","null"]}}},"UserPnlRequestDto":{"type":"object","required":["duration"],"properties":{"duration":{"type":"string"},"userId":{"type":["string","null"],"description":"Optional user_id to query (if not provided, uses authenticated user's ID)"}}},"UserPnlResponseDto":{"type":"object","required":["pnlDate","totalPnl"],"properties":{"pnlDate":{"type":"integer","format":"int64"},"totalPnl":{"type":"string","example":"1234.56"}}},"UserStatsResponseDto":{"type":"object","required":["userId","totalPosition","totalVolumeUsd","totalWinPosition","totalRealizedPnlUsd"],"properties":{"totalPosition":{"type":"string","example":"100"},"totalRealizedPnlUsd":{"type":"string","example":"1234.56"},"totalVolumeUsd":{"type":"string","example":"12345.67"},"totalWinPosition":{"type":"string","example":"50"},"userId":{"type":"string"}}},"UserWalletResponseDto":{"type":"object","required":["network","address","userId","isActive","isExternal","isPublic","isActiveTrading"],"properties":{"address":{"type":"string"},"aliasName":{"type":["string","null"]},"emoji":{"type":["string","null"]},"isActive":{"type":"boolean"},"isActiveTrading":{"type":"boolean"},"isExternal":{"type":"boolean"},"isPublic":{"type":"boolean"},"managedBy":{"type":["string","null"]},"network":{"type":"string"},"privateKey":{"type":["string","null"]},"publicAt":{"type":["integer","null"],"format":"int64"},"publicKey":{"type":["string","null"]},"userId":{"type":"string"}}},"WalletActivitiesResponseDto":{"type":"object","required":["data","limit","hasMore"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WalletActivityResponseDto"}},"hasMore":{"type":"boolean"},"limit":{"type":"integer","format":"int32"},"nextCursor":{"type":["integer","null"],"format":"int64"}}},"WalletActivityResponseDto":{"type":"object","required":["userId","network","walletAddress","hash","token","category","timestampMs"],"properties":{"amount":{"type":["string","null"],"example":"1234.56"},"amountNative":{"type":["string","null"],"example":"1234.56"},"amountUsd":{"type":["string","null"],"example":"1234.56"},"category":{"type":"string"},"hash":{"type":"string"},"network":{"type":"string"},"timestampMs":{"type":"integer","format":"int64"},"token":{"$ref":"#/components/schemas/PublicToken"},"userId":{"type":"string"},"walletAddress":{"type":"string"}}}},"securitySchemes":{"basic_auth":{"type":"http","scheme":"basic"},"bearer_auth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}