{"openapi":"3.1.0","info":{"title":"Raidenx Insights APIs","description":"API documentation for Raidenx Insights platform","contact":{"name":"sotalabs","email":"admin@sotalabs.io"},"license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"version":"1.0.0"},"paths":{"/api/v1/tokens/{tokenAddress}/holders":{"get":{"tags":["tokens"],"operationId":"get_token_holders","parameters":[{"name":"tokenAddress","in":"path","description":"Token address","required":true,"schema":{"type":"string"}},{"name":"network","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ENetwork"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}}],"responses":{"200":{"description":"Successfully retrieved token holders","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListHoldersResponse"}}}}}}},"/api/v1/tokens/{tokenAddress}/top-traders":{"get":{"tags":["tokens"],"operationId":"get_top_traders","parameters":[{"name":"tokenAddress","in":"path","description":"Token address","required":true,"schema":{"type":"string"}},{"name":"network","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ENetwork"}},{"name":"sortBy","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ETopTokenTradersSortType"}},{"name":"sortType","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortType"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":1000,"minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":200,"minimum":1}}],"responses":{"200":{"description":"Successfully retrieved top traders","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListTopTokenTradersResponse"}}}}}}},"/api/v1/tokens/{tokenAddress}/trades":{"get":{"tags":["tokens"],"operationId":"get_wallet_balances","parameters":[{"name":"tokenAddress","in":"path","description":"Token address","required":true,"schema":{"type":"string"}},{"name":"network","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ENetwork"}},{"name":"walletAddresses","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved wallet trades","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWalletBalancesResponse"}}}},"400":{"description":"Invalid request parameters"}}}},"/health":{"get":{"tags":["health"],"summary":"Health check endpoint","description":"Returns the health status of the application","operationId":"health_check","responses":{"200":{"description":"Application is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}}},"components":{"schemas":{"ENetwork":{"type":"string","enum":["sui","hyperevm","somnia","plasma","monad","base","bsc","solana"]},"GetWalletBalancesQuery":{"type":"object","required":["network","walletAddresses"],"properties":{"network":{"$ref":"#/components/schemas/ENetwork"},"walletAddresses":{"type":"string"}}},"GetWalletBalancesResponse":{"type":"object","required":["success","data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WalletBalanceData"}},"success":{"type":"boolean"}}},"HealthResponse":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}}},"ListHoldersResponse":{"type":"object","required":["success","data"],"properties":{"data":{"$ref":"#/components/schemas/PaginatedResponse_DefiTokenHolder"},"success":{"type":"boolean"}}},"ListTopTokenTradersResponse":{"type":"object","required":["success","data"],"properties":{"data":{"$ref":"#/components/schemas/PaginatedResponse_DefiTokenTopTrader"},"success":{"type":"boolean"}}},"PaginatedResponse_DefiTokenHolder":{"type":"object","required":["docs"],"properties":{"cursor":{"type":["string","null"]},"docs":{"type":"array","items":{"type":"object","required":["walletAddress","balance","balanceUsd","balanceNative"],"properties":{"balance":{"type":"string"},"balanceNative":{"type":"string"},"balanceUsd":{"type":"string"},"walletAddress":{"type":"string"}}}},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"page":{"type":["integer","null"],"format":"int32","minimum":0}}},"PaginatedResponse_DefiTokenTopTrader":{"type":"object","required":["docs"],"properties":{"cursor":{"type":["string","null"]},"docs":{"type":"array","items":{"type":"object","required":["tokenAddress","walletAddress","balanceBaseAmount","balanceUsd","balanceNative","buyBaseAmount","buyVolumeUsd","buyVolumeNative","buyTxns","sellBaseAmount","sellVolumeUsd","sellVolumeNative","sellTxns","pnlUsd"],"properties":{"balanceBaseAmount":{"type":"number","format":"double"},"balanceNative":{"type":"number","format":"double"},"balanceUsd":{"type":"number","format":"double"},"buyBaseAmount":{"type":"number","format":"double"},"buyTxns":{"type":"integer","format":"int32"},"buyVolumeNative":{"type":"number","format":"double"},"buyVolumeUsd":{"type":"number","format":"double"},"pnlUsd":{"type":"number","format":"double"},"sellBaseAmount":{"type":"number","format":"double"},"sellTxns":{"type":"integer","format":"int32"},"sellVolumeNative":{"type":"number","format":"double"},"sellVolumeUsd":{"type":"number","format":"double"},"tokenAddress":{"type":"string"},"walletAddress":{"type":"string"}}}},"limit":{"type":["integer","null"],"format":"int32","minimum":0},"page":{"type":["integer","null"],"format":"int32","minimum":0}}},"PaginationQuery":{"type":"object","properties":{"limit":{"type":"integer","format":"int32","minimum":0},"page":{"type":"integer","format":"int32","minimum":0}}},"SortType":{"type":"string","enum":["asc","desc"]},"WalletBalanceData":{"type":"object","required":["walletAddress","tokenAddress","balance","balanceUsd","balanceNative","buyAmount","buyVolumeUsd","buyVolumeNative","buyTxns","sellAmount","sellVolumeUsd","sellVolumeNative","sellTxns","pnlUsd"],"properties":{"balance":{"type":"number","format":"double"},"balanceNative":{"type":"number","format":"double"},"balanceUsd":{"type":"number","format":"double"},"buyAmount":{"type":"number","format":"double"},"buyTxns":{"type":"integer","format":"int32"},"buyVolumeNative":{"type":"number","format":"double"},"buyVolumeUsd":{"type":"number","format":"double"},"pnlUsd":{"type":"number","format":"double"},"sellAmount":{"type":"number","format":"double"},"sellTxns":{"type":"integer","format":"int32"},"sellVolumeNative":{"type":"number","format":"double"},"sellVolumeUsd":{"type":"number","format":"double"},"tokenAddress":{"type":"string"},"walletAddress":{"type":"string"}}}},"securitySchemes":{"api_key":{"type":"apiKey","in":"header","name":"X-API-KEY","description":"API key for authentication"},"basic_auth":{"type":"http","scheme":"basic"},"bearer_auth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"tags":[{"name":"health","description":"Health check endpoints"},{"name":"tokens","description":"Token analytics endpoints"}]}