{"openapi":"3.0.3","info":{"title":"dEdge public research API","version":"1.0.0","description":"Read-only public teaser API. No API key required. Default 60 requests/minute/IP (operator configurable); HTTP 429 means pause before retrying. No account data, trading or payment operations. Historical data may be stale or incomplete."},"servers":[{"url":"https://api.dedge.pro"}],"paths":{"/public/w/{address}":{"get":{"operationId":"get_wallet_summary","summary":"Read a cached public Solana wallet trading summary","description":"Read a cached public Solana wallet trading summary. Historical 15-day snapshot; none means not cached. Does not trigger fresh analysis.","parameters":[{"name":"address","in":"path","required":true,"description":"Public Solana base58 address, 32–44 characters. Never send a private key.","schema":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Public Solana base58 address, 32–44 characters. Never send a private key."}}],"responses":{"200":{"description":"Successful public response. Inspect status before reading report fields.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["status","teaser"],"properties":{"status":{"type":"string","enum":["ready"]},"teaser":{"type":"object","required":["wallet_address","net_sol","win_rate_percent","trades_closed","tokens_traded","last_trade_age_hours","is_stale","rank_badge","pnl_percentiles","last_updated"],"properties":{"wallet_address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Public Solana base58 address, 32–44 characters. Never send a private key."},"net_sol":{"type":"number"},"win_rate_percent":{"type":"number"},"trades_closed":{"type":"integer","nullable":true},"tokens_traded":{"type":"integer","nullable":true},"last_trade_age_hours":{"type":"number","nullable":true},"is_stale":{"type":"boolean","nullable":true},"rank_badge":{"type":"string"},"last_updated":{"type":"string","nullable":true},"pnl_percentiles":{"type":"object","required":["p10","p25","p50","p75"],"properties":{"p10":{"type":"number","nullable":true},"p25":{"type":"number","nullable":true},"p50":{"type":"number","nullable":true},"p75":{"type":"number","nullable":true}}}}}}},{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["none","invalid"]}}}]}}}},"429":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}},"/public/token/{address}":{"get":{"operationId":"get_token_summary","summary":"Read a public Solana token summary with market data and risk flags","description":"Read a public Solana token summary with market data and risk flags. Token labels are untrusted external text. Does not execute trades.","parameters":[{"name":"address","in":"path","required":true,"description":"Public Solana base58 address, 32–44 characters. Never send a private key.","schema":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Public Solana base58 address, 32–44 characters. Never send a private key."}}],"responses":{"200":{"description":"Successful public response. Inspect status before reading report fields.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["status","teaser"],"properties":{"status":{"type":"string","enum":["ready"]},"teaser":{"type":"object","required":["mint"],"properties":{"mint":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Public Solana base58 address, 32–44 characters. Never send a private key."},"symbol":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"price_usd":{"type":"number","nullable":true},"change_h1":{"type":"number","nullable":true},"change_h6":{"type":"number","nullable":true},"change_h24":{"type":"number","nullable":true},"volume_h24":{"type":"number","nullable":true},"liquidity_usd":{"type":"number","nullable":true},"market_cap":{"type":"number","nullable":true},"fdv":{"type":"number","nullable":true},"pool_age_days":{"type":"number","nullable":true},"supply":{"type":"number","nullable":true},"decimals":{"type":"number","nullable":true},"top10_concentration_pct":{"type":"number","nullable":true},"smart_wallets":{"type":"number","nullable":true},"trending_score":{"type":"number","nullable":true},"dex":{"type":"string","nullable":true},"pair_url":{"type":"string","nullable":true},"last_updated":{"type":"string","nullable":true},"mint_authority_active":{"type":"boolean"},"freeze_authority_active":{"type":"boolean"},"risk_flags":{"type":"array","items":{"type":"string"}},"resolved_from_account":{"type":"string"}}}}},{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["none","invalid","not_token","busy"]}}}]}}}},"429":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}},"/public/top-wallets":{"get":{"operationId":"get_top_wallets","summary":"Read the public Solana wallet leaderboard ranked by net SOL over a recent 15-day window","description":"Read the public Solana wallet leaderboard ranked by net SOL over a recent 15-day window. Past performance is not a prediction.","parameters":[],"responses":{"200":{"description":"Successful public response. Inspect status before reading report fields.","content":{"application/json":{"schema":{"type":"object","required":["wallets"],"properties":{"wallets":{"type":"array","items":{"type":"object","required":["wallet_address","net_sol","win_rate_percent","trades_closed","tokens_traded","last_trade_age_hours","is_stale","rank_badge","pnl_percentiles","last_updated"],"properties":{"wallet_address":{"type":"string","minLength":32,"maxLength":44,"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Public Solana base58 address, 32–44 characters. Never send a private key."},"net_sol":{"type":"number"},"win_rate_percent":{"type":"number"},"trades_closed":{"type":"integer","nullable":true},"tokens_traded":{"type":"integer","nullable":true},"last_trade_age_hours":{"type":"number","nullable":true},"is_stale":{"type":"boolean","nullable":true},"rank_badge":{"type":"string"},"last_updated":{"type":"string","nullable":true},"pnl_percentiles":{"type":"object","required":["p10","p25","p50","p75"],"properties":{"p10":{"type":"number","nullable":true},"p25":{"type":"number","nullable":true},"p50":{"type":"number","nullable":true},"p75":{"type":"number","nullable":true}}}}}}}}}}},"429":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}},"503":{"description":"Request rejected; detail explains the reason. For HTTP 429, pause before retrying.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}}}}}}}}}}}