{"openapi":"3.1.0","info":{"title":"dextrade-api-trackers","description":"","contact":{"name":"sotalabs","email":"admin@sotalabs.io"},"license":{"name":""},"version":"0.0.1"},"servers":[{"url":"/"},{"url":"https://api.raidenx.io"}],"paths":{"/api/v1/wallet-tracker/all-wallets":{"delete":{"tags":["wallet-tracker"],"operationId":"remove_all_wallets","responses":{"204":{"description":"All wallets removed successfully"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallet-tracker/transactions":{"get":{"tags":["wallet-tracker"],"operationId":"get_tracker_transactions","parameters":[{"name":"networks","in":"query","required":false,"schema":{"type":["array","null"],"items":{"type":"string"}}},{"name":"groupIds","in":"query","required":false,"schema":{"type":["array","null"],"items":{"type":"string"}}},{"name":"minQuoteAmount","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"maxQuoteAmount","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"minMarketCap","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"maxMarketCap","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"minTotalUsd","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"maxTotalUsd","in":"query","required":false,"schema":{"type":["number","null"],"format":"double"}},{"name":"tradingType","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/TradingType"}]}},{"name":"excludeBuy","in":"query","required":false,"schema":{"type":["boolean","null"]}},{"name":"excludeSell","in":"query","required":false,"schema":{"type":["boolean","null"]}}],"responses":{"200":{"description":"Transactions retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackerTransactionResponseDto"}}}}},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallet-tracker/wallets":{"get":{"tags":["wallet-tracker"],"summary":"Get tracked wallets","operationId":"get_tracked_wallets","parameters":[{"name":"network","in":"query","required":false,"schema":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ENetwork"}]}},{"name":"search","in":"query","required":false,"schema":{"type":["string","null"]}}],"responses":{"200":{"description":"Wallets retrieved successfully","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WalletTrackerResponseDto"}}}}},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["wallet-tracker"],"summary":"Add a wallet to track","operationId":"add_wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWalletRequestDto"}}},"required":true},"responses":{"201":{"description":"Wallet added successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTrackerResponseDto"}}}},"400":{"description":"Invalid request or wallet already tracked"},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["wallet-tracker"],"summary":"Remove multiple tracked wallets","operationId":"remove_wallets","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveWalletsRequestDto"}}},"required":true},"responses":{"204":{"description":"Wallets removed successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Wallets not found"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallet-tracker/wallets/disable-all-notifications":{"delete":{"tags":["wallet-tracker"],"summary":"Disable all wallet notifications for the user","operationId":"disable_all_notifications","responses":{"200":{"description":"All notifications disabled successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisableAllNotificationsResponse"}}}},"401":{"description":"Unauthorized"}},"security":[{"bearer_auth":[]}]}},"/api/v1/wallet-tracker/wallets/{walletId}":{"put":{"tags":["wallet-tracker"],"summary":"Update a tracked wallet","operationId":"update_wallet","parameters":[{"name":"walletId","in":"path","description":"Wallet ID","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWalletRequestDto"}}},"required":true},"responses":{"200":{"description":"Wallet updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletTrackerResponseDto"}}}},"400":{"description":"Invalid request"},"401":{"description":"Unauthorized"},"404":{"description":"Wallet not found"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["wallet-tracker"],"summary":"Remove a tracked wallet","operationId":"remove_wallet","parameters":[{"name":"walletId","in":"path","description":"Wallet ID","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Wallet removed successfully"},"401":{"description":"Unauthorized"},"404":{"description":"Wallet not found"}},"security":[{"bearer_auth":[]}]}},"/health":{"get":{"tags":["health"],"operationId":"health_check","responses":{"200":{"description":"Health check successful"},"500":{"description":"Health check failed"}}}}},"components":{"schemas":{"AddWalletRequestDto":{"type":"object","required":["network","walletAddress"],"properties":{"emoji":{"type":["string","null"]},"network":{"$ref":"#/components/schemas/ENetwork"},"walletAddress":{"type":"string"},"walletName":{"type":["string","null"]}}},"DisableAllNotificationsResponse":{"type":"object","required":["updatedCount","message"],"properties":{"message":{"type":"string"},"updatedCount":{"type":"integer","format":"int64","minimum":0}}},"ENetwork":{"type":"string","enum":["sui","hyperevm","somnia","plasma","monad","base","bsc","solana"]},"NotificationSettingDto":{"type":"object","required":["globalAllowNotifications","allowNotifications","minimumTradeSize"],"properties":{"allowNotifications":{"type":"boolean"},"globalAllowNotifications":{"type":"boolean"},"minimumTradeSize":{"type":"integer","format":"int64","minimum":0}}},"PublicToken":{"type":"object","required":["address"],"properties":{"address":{"type":"string"},"logoUrl":{"type":["string","null"]},"name":{"type":["string","null"]},"symbol":{"type":["string","null"]}}},"RemoveWalletsRequestDto":{"type":"object","required":["walletIds"],"properties":{"walletIds":{"type":"array","items":{"type":"string"}}}},"TrackerTransactionResponseDto":{"type":"object","required":["network","hash","walletName","walletAddress","tokenBase","tokenQuote","tradingType","amount","quoteAmount","price","priceUsd","timestamp","marketCapUsd"],"properties":{"amount":{"type":"string"},"hash":{"type":"string"},"marketCapUsd":{"type":"string"},"network":{"type":"string"},"price":{"type":"string"},"priceUsd":{"type":"string"},"quoteAmount":{"type":"string"},"timestamp":{"type":"integer","format":"int64"},"tokenBase":{"$ref":"#/components/schemas/PublicToken"},"tokenQuote":{"$ref":"#/components/schemas/PublicToken"},"tradingType":{"type":"string"},"walletAddress":{"type":"string"},"walletEmoji":{"type":["string","null"]},"walletName":{"type":"string"}}},"UpdateWalletRequestDto":{"type":"object","properties":{"allowNotifications":{"type":["boolean","null"]},"emoji":{"type":["string","null"]},"soundNotification":{"type":["boolean","null"]},"walletName":{"type":["string","null"]}}},"WalletTrackerResponseDto":{"type":"object","required":["id","network","walletAddress","notificationSetting","createdAt","updatedAt"],"properties":{"createdAt":{"type":"integer","format":"int64"},"emoji":{"type":["string","null"]},"id":{"type":"string"},"network":{"type":"string"},"notificationSetting":{"$ref":"#/components/schemas/NotificationSettingDto"},"soundNotification":{"type":["boolean","null"]},"updatedAt":{"type":"integer","format":"int64"},"walletAddress":{"type":"string"},"walletName":{"type":["string","null"]}}}},"securitySchemes":{"basic_auth":{"type":"http","scheme":"basic"},"bearer_auth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}