{"openapi":"3.1.0","info":{"title":"dydt Market Data API","version":"1.0.0","summary":"Read-only Solana market data: tokens, pools, candles, trades, rankings, signals.","description":"Authenticate with an API key from dydt.ai/developers/keys, sent as `Authorization: Bearer <key>`. Every response is an envelope: code is 0 on success, otherwise error names the failure and message explains it. List endpoints that page return pagination.next_cursor; pass it back as cursor. Rate limits are reported in RateLimit-* headers and monthly quota in X-Quota-* headers."},"externalDocs":{"description":"Developer docs","url":"https://dydt.ai/developers"},"servers":[{"url":"https://data.dydt.ai/v1","description":"Production"}],"security":[{"ApiKey":[]}],"tags":[{"name":"Token Research","description":"Look up a token: search, metadata, holder stats, top holders and traders, and its bonding curve."},{"name":"Charts & Pools","description":"Chart and price a token: OHLCV candles, pool metrics, pool overview, a token's pools, and the SOL price."},{"name":"Trades","description":"Every buy and sell of a token or in a pool."},{"name":"Discovery","description":"Find new tokens: discovery feeds, token signals, and tracked X posts."},{"name":"Smart Money","description":"Follow good wallets: labeled wallets, the leaderboard, their trades, and wallet signals."},{"name":"Wallet Analysis","description":"Analyse one wallet: performance, open positions, trades, daily PnL, and deployed tokens."}],"paths":{"/tokens/search":{"get":{"operationId":"search_tokens","tags":["Token Research"],"summary":"Token Search","description":"Find tokens by name, symbol, or mint address.\n\nSymbols are not unique. Search by mint address, or use match=exact, when you need one specific token.","parameters":[{"name":"q","in":"query","required":true,"description":"Search text: token name, symbol, or mint address.","schema":{"type":"string","minLength":1,"maxLength":100,"description":"Search text: token name, symbol, or mint address."}},{"name":"match","in":"query","required":false,"description":"smart ranks fuzzy matches; exact returns exact symbol or name matches only.","schema":{"type":"string","enum":["smart","exact"],"description":"smart ranks fuzzy matches; exact returns exact symbol or name matches only.","default":"smart"}},{"name":"window","in":"query","required":false,"description":"Measure volume and trade counts over this window. Omit for all time.","schema":{"type":"string","enum":["1h","6h","24h","3d","7d","30d"],"description":"Measure volume and trade counts over this window. Omit for all time."}},{"name":"sort","in":"query","required":false,"description":"Field to sort by.","schema":{"type":"string","enum":["relevance","market_cap","ath_market_cap","volume","liquidity","trader_count","created_at"],"description":"Field to sort by.","default":"relevance"}},{"name":"order","in":"query","required":false,"description":"Sort order.","schema":{"type":"string","enum":["asc","desc"],"description":"Sort order.","default":"desc"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":20}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["token_address","pool_address","symbol","name","image_url","market_cap_quote","market_cap_usd","ath_market_cap_quote","ath_market_cap_usd","liquidity_quote","liquidity_usd","volume_quote","volume_usd","trader_count","buy_count","sell_count","socials","dex","pool_type","bonding_curve_progress_pct","migrated","created_at"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Main pool for the token."},"symbol":{"type":["string","null"],"description":"Token symbol."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"market_cap_quote":{"type":"number","description":"Market cap in the quote asset."},"market_cap_usd":{"type":"number","description":"Market cap in USD."},"ath_market_cap_quote":{"type":"number","description":"Highest market cap seen, in the quote asset."},"ath_market_cap_usd":{"type":"number","description":"Highest market cap seen, in USD."},"liquidity_quote":{"type":"number","description":"Pool liquidity in the quote asset."},"liquidity_usd":{"type":"number","description":"Pool liquidity in USD."},"volume_quote":{"type":"number","description":"Volume over the requested window, or all time without one."},"volume_usd":{"type":"number","description":"Volume in USD over the same period."},"trader_count":{"type":"integer","description":"Distinct wallets that have traded the token (approximate)."},"buy_count":{"type":"integer","description":"Buys over the same period as volume."},"sell_count":{"type":"integer","description":"Sells over the same period as volume."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"pool_type":{"type":["string","null"],"enum":["bonding_curve","amm","cpmm","clmm"],"description":"Pool model."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"migrated":{"type":"boolean","description":"True once the token has left its bonding curve."},"created_at":{"type":"integer","format":"int64","description":"Pool creation time."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}":{"get":{"operationId":"get_token","tags":["Token Research"],"summary":"Token Metadata","description":"On-chain mint data and off-chain metadata for one token.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["token_address","symbol","name","decimals","supply_raw","token_program_address","mint_authority_address","freeze_authority_address","authorities_known","transfer_fee_bps","dex_paid","initialized","created_at","metadata_uri","image_url","description","socials","metadata_updated_at"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol."},"name":{"type":["string","null"],"description":"Token name."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"supply_raw":{"type":"string","description":"Current supply in raw units; divide by 10^decimals."},"token_program_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token program: SPL Token or Token-2022."},"mint_authority_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint authority; null when revoked or unknown."},"freeze_authority_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Freeze authority; null when revoked or unknown."},"authorities_known":{"type":"boolean","description":"False when the authorities could not be read yet."},"transfer_fee_bps":{"type":["integer","null"],"description":"Token-2022 transfer fee in basis points."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"initialized":{"type":"boolean","description":"Whether the mint account is initialized."},"created_at":{"type":"integer","format":"int64","description":"Token creation time."},"metadata_uri":{"type":["string","null"],"description":"Metadata URI recorded on chain."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"description":{"type":["string","null"],"description":"Description from the token metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"metadata_updated_at":{"type":["integer","null"],"format":"int64","description":"When the off-chain metadata was last fetched."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens":{"get":{"operationId":"list_tokens","tags":["Token Research"],"summary":"Token Metadata – Batch","description":"Several tokens in one call, up to 50.\n\nUnknown addresses are left out of the result.","parameters":[{"name":"token_addresses","in":"query","required":true,"description":"Tokens to fetch, comma-separated, up to 50.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":50,"description":"Tokens to fetch, comma-separated, up to 50."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["token_address","symbol","name","decimals","supply_raw","token_program_address","mint_authority_address","freeze_authority_address","authorities_known","transfer_fee_bps","dex_paid","initialized","created_at","metadata_uri","image_url","description","socials","metadata_updated_at"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol."},"name":{"type":["string","null"],"description":"Token name."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"supply_raw":{"type":"string","description":"Current supply in raw units; divide by 10^decimals."},"token_program_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token program: SPL Token or Token-2022."},"mint_authority_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint authority; null when revoked or unknown."},"freeze_authority_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Freeze authority; null when revoked or unknown."},"authorities_known":{"type":"boolean","description":"False when the authorities could not be read yet."},"transfer_fee_bps":{"type":["integer","null"],"description":"Token-2022 transfer fee in basis points."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"initialized":{"type":"boolean","description":"Whether the mint account is initialized."},"created_at":{"type":"integer","format":"int64","description":"Token creation time."},"metadata_uri":{"type":["string","null"],"description":"Metadata URI recorded on chain."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"description":{"type":["string","null"],"description":"Description from the token metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"metadata_updated_at":{"type":["integer","null"],"format":"int64","description":"When the off-chain metadata was last fetched."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}/holder-stats":{"get":{"operationId":"get_token_holder_stats","tags":["Token Research"],"summary":"Token Holder Stats","description":"How the token's supply is spread across holders, insiders, and fresh wallets, plus the creator's track record.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["token_address","holder_count","insider_count","fresh_count","insider_pct","fresh_pct","creator_launch_count","creator_dump_pct","creator_judged_launch_count"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"holder_count":{"type":["integer","null"],"description":"Wallets holding the token."},"insider_count":{"type":["integer","null"],"description":"Holders who got tokens without buying them, for example by transfer."},"fresh_count":{"type":["integer","null"],"description":"Holders whose wallet was first seen within 24 hours before they got the token. Null until the token is 24 hours old."},"insider_pct":{"type":["number","null"],"description":"Share of supply held by insiders, 0 to 100."},"fresh_pct":{"type":["number","null"],"description":"Share of supply held by fresh wallets, 0 to 100."},"creator_launch_count":{"type":["integer","null"],"description":"Tokens the creator has launched."},"creator_dump_pct":{"type":["number","null"],"description":"Share of the creator's other launches they sold out of, 0 to 100. Null until enough launches can be judged."},"creator_judged_launch_count":{"type":["integer","null"],"description":"Other launches with a clear held or sold-out outcome."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}/holders":{"get":{"operationId":"list_token_holders","tags":["Token Research"],"summary":"Token Top Holders","description":"Wallets holding the most of the token right now, largest first.\n\nlabel=kol or smart or vc or dev_team or bot or mayhem_bot or agent_buyback or rat needs the Pro or Scale plan.\n\nHoldings come from trades dydt indexed. Pool vaults and wallets that only received tokens by transfer are not listed.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}},{"name":"label","in":"query","required":false,"description":"Only holders with this label. Needs the Pro or Scale plan.","schema":{"type":"string","enum":["kol","smart","vc","dev_team","bot","mayhem_bot","agent_buyback","rat"],"description":"Only holders with this label. Needs the Pro or Scale plan."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["wallet_address","token_amount","supply_pct","cost_usd","cost_sol","bought_token_amount","bought_usd","sold_token_amount","sold_usd","first_bought_at","updated_at","labels"],"properties":{"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"token_amount":{"type":"number","description":"Tokens held now, in whole tokens."},"supply_pct":{"type":["number","null"],"description":"Share of total supply held, 0 to 100. Null when supply is unknown."},"cost_usd":{"type":"number","description":"Cost basis of the tokens still held, in USD."},"cost_sol":{"type":"number","description":"Cost basis of the tokens still held, in SOL."},"bought_token_amount":{"type":"number","description":"Tokens bought over the wallet's lifetime, in whole tokens."},"bought_usd":{"type":"number","description":"Spent on buys over the wallet's lifetime, in USD."},"sold_token_amount":{"type":"number","description":"Tokens sold over the wallet's lifetime, in whole tokens."},"sold_usd":{"type":"number","description":"Received from sells over the wallet's lifetime, in USD."},"first_bought_at":{"type":["integer","null"],"format":"int64","description":"First buy of this token."},"updated_at":{"type":"integer","format":"int64","description":"Last change to this position."},"labels":{"type":"array","items":{"type":"object","required":["label","name","avatar_url"],"properties":{"label":{"type":"string","description":"Label, for example kol, smart, vc, dev_team, bot, or rat."},"name":{"type":["string","null"],"description":"Display name when known, for example a KOL handle."},"avatar_url":{"type":["string","null"],"format":"uri","description":"Avatar image URL when known."}}},"description":"Public labels on the wallet; empty for most wallets."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}/traders":{"get":{"operationId":"list_token_traders","tags":["Token Research"],"summary":"Token Top Traders","description":"Wallets that traded the token, ranked by profit or activity.\n\nlabel=kol or smart or vc needs the Pro or Scale plan.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}},{"name":"window","in":"query","required":false,"description":"Only count trades in this window. Omit for all time.","schema":{"type":"string","enum":["24h","3d","7d","30d"],"description":"Only count trades in this window. Omit for all time."}},{"name":"sort","in":"query","required":false,"description":"Field to sort by.","schema":{"type":"string","enum":["realized_pnl","bought","sold","holding_value","token_balance","trade_count"],"description":"Field to sort by.","default":"realized_pnl"}},{"name":"order","in":"query","required":false,"description":"Sort order.","schema":{"type":"string","enum":["asc","desc"],"description":"Sort order.","default":"desc"}},{"name":"position","in":"query","required":false,"description":"Everyone, wallets still holding, or wallets that sold out.","schema":{"type":"string","enum":["all","holding","sold"],"description":"Everyone, wallets still holding, or wallets that sold out.","default":"all"}},{"name":"activity","in":"query","required":false,"description":"Everyone, buyers only, or sellers only.","schema":{"type":"string","enum":["all","buyers","sellers"],"description":"Everyone, buyers only, or sellers only.","default":"all"}},{"name":"outcome","in":"query","required":false,"description":"Everyone, wallets in profit, or wallets at a loss.","schema":{"type":"string","enum":["all","profit","loss"],"description":"Everyone, wallets in profit, or wallets at a loss.","default":"all"}},{"name":"entry_window","in":"query","required":false,"description":"Only wallets that first bought within this long of launch; late means after the first hour.","schema":{"type":"string","enum":["all","1m","5m","1h","24h","late"],"description":"Only wallets that first bought within this long of launch; late means after the first hour.","default":"all"}},{"name":"min_bought_usd","in":"query","required":false,"description":"Only wallets that bought at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only wallets that bought at least this much, in USD."}},{"name":"min_trade_count","in":"query","required":false,"description":"Only wallets with at least this many trades.","schema":{"type":"integer","minimum":0,"description":"Only wallets with at least this many trades."}},{"name":"wallet_addresses","in":"query","required":false,"description":"Only these wallets, comma-separated, up to 200.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":200,"description":"Only these wallets, comma-separated, up to 200."}},{"name":"label","in":"query","required":false,"description":"Only wallets with this label. Needs the Pro or Scale plan.","schema":{"type":"string","enum":["kol","smart","vc"],"description":"Only wallets with this label. Needs the Pro or Scale plan."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["wallet_address","bought_usd","bought_sol","bought_token_amount","buy_count","sold_usd","sold_sol","sold_token_amount","sell_count","trade_count","token_balance","first_trade_at","last_trade_at","realized_pnl_usd","realized_pnl_sol","holding_value_usd","holding_value_sol"],"properties":{"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"bought_usd":{"type":"number","description":"Total bought, in USD."},"bought_sol":{"type":"number","description":"Total bought, in SOL."},"bought_token_amount":{"type":"number","description":"Tokens bought, in whole tokens."},"buy_count":{"type":"integer","description":"Buy transactions."},"sold_usd":{"type":"number","description":"Total sold, in USD."},"sold_sol":{"type":"number","description":"Total sold, in SOL."},"sold_token_amount":{"type":"number","description":"Tokens sold, in whole tokens."},"sell_count":{"type":"integer","description":"Sell transactions."},"trade_count":{"type":"integer","description":"All transactions."},"token_balance":{"type":"number","description":"Tokens still held from these trades, in whole tokens."},"first_trade_at":{"type":"integer","format":"int64","description":"First trade."},"last_trade_at":{"type":"integer","format":"int64","description":"Latest trade."},"realized_pnl_usd":{"type":"number","description":"Realized profit in USD."},"realized_pnl_sol":{"type":"number","description":"Realized profit in SOL."},"holding_value_usd":{"type":"number","description":"Value of the remaining balance at the current price, in USD."},"holding_value_sol":{"type":"number","description":"Value of the remaining balance at the current price, in SOL."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}/bonding-curve":{"get":{"operationId":"get_token_bonding_curve","tags":["Token Research"],"summary":"Token Bonding Curve","description":"Latest bonding-curve reserves for a token launched on a curve.\n\nReturns 404 for tokens without a bonding curve. After migration the state stops updating; use the AMM pool instead.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["token_address","virtual_token_reserves_raw","virtual_sol_reserves_lamports","real_token_reserves_raw","real_sol_reserves_lamports","total_supply","completed","creator_address"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"virtual_token_reserves_raw":{"type":"string","description":"Virtual token reserves, raw units."},"virtual_sol_reserves_lamports":{"type":"string","description":"Virtual SOL reserves, in lamports."},"real_token_reserves_raw":{"type":"string","description":"Tokens left to sell on the curve, raw units."},"real_sol_reserves_lamports":{"type":"string","description":"SOL held by the curve, in lamports."},"total_supply":{"type":"string","description":"Total supply in whole tokens."},"completed":{"type":"boolean","description":"True once the curve has filled and the token migrated."},"creator_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that created the token."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools/{pool_address}/candles":{"get":{"operationId":"list_pool_candles","tags":["Charts & Pools"],"summary":"OHLCV Candles","description":"OHLCV candles for charting a pool, oldest first.\n\nIntervals without trades are omitted; fill gaps client-side.","parameters":[{"name":"pool_address","in":"path","required":true,"description":"Pool address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."}},{"name":"interval","in":"query","required":false,"description":"Candle size.","schema":{"type":"string","enum":["1s","15s","1m","15m","1h","6h","24h"],"description":"Candle size.","default":"1m"}},{"name":"mode","in":"query","required":false,"description":"Price candles or market-cap candles.","schema":{"type":"string","enum":["price","market_cap"],"description":"Price candles or market-cap candles.","default":"price"}},{"name":"currency","in":"query","required":false,"description":"Values in USD or in the pool quote asset.","schema":{"type":"string","enum":["usd","quote"],"description":"Values in USD or in the pool quote asset.","default":"usd"}},{"name":"start_time","in":"query","required":false,"description":"Only candles that start at or after this time. With end_time it bounds a range; the newest candles in the range come back, up to limit.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only candles that start at or after this time. With end_time it bounds a range; the newest candles in the range come back, up to limit."}},{"name":"end_time","in":"query","required":false,"description":"Only candles that start before this time. Omit for the latest candles.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only candles that start before this time. Omit for the latest candles."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":1000,"description":"Maximum rows to return.","default":300}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["start_at","open","high","low","close","volume"],"properties":{"start_at":{"type":"integer","format":"int64","description":"Candle start."},"open":{"type":["number","null"],"description":"Opening value."},"high":{"type":["number","null"],"description":"Highest value."},"low":{"type":["number","null"],"description":"Lowest value."},"close":{"type":["number","null"],"description":"Closing value."},"volume":{"type":["number","null"],"description":"Traded volume in the requested currency."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools/{pool_address}/metrics":{"get":{"operationId":"get_pool_metrics","tags":["Charts & Pools"],"summary":"Pool Metrics","description":"All-time totals and windowed trading metrics for one pool.","parameters":[{"name":"pool_address","in":"path","required":true,"description":"Pool address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["pool_address","token_address","updated_at","last_slot","last_tx_index","totals","windowed"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"token_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"updated_at":{"type":["integer","null"],"format":"int64","description":"Last update."},"last_slot":{"type":"integer","description":"Slot of the last trade included."},"last_tx_index":{"type":"integer","description":"Transaction index of that trade in its slot."},"totals":{"type":["object","null"],"required":["volume_quote","volume_usd","buy_volume_quote","buy_volume_usd","sell_volume_quote","sell_volume_usd","trade_count","buy_count","sell_count","ath_market_cap_quote","ath_market_cap_usd","first_trade_at","launch_price_quote","launch_price_usd","price_change_pct_quote","price_change_pct_usd","trader_count","buyer_count","seller_count","holder_count","total_supply","circulating_supply","lp_burned_pct","dev_pct","sniper_pct","bundle_pct","bundler_count","top10_pct","mint_revoked","freeze_revoked","dex_paid","bonding_curve_gain_5m_pct"],"properties":{"volume_quote":{"type":"number","description":"All-time volume in the quote asset."},"volume_usd":{"type":["number","null"],"description":"All-time volume in USD."},"buy_volume_quote":{"type":"number","description":"All-time buy volume in the quote asset."},"buy_volume_usd":{"type":["number","null"],"description":"All-time buy volume in USD."},"sell_volume_quote":{"type":"number","description":"All-time sell volume in the quote asset."},"sell_volume_usd":{"type":["number","null"],"description":"All-time sell volume in USD."},"trade_count":{"type":"integer","description":"All-time trades."},"buy_count":{"type":"integer","description":"All-time buys."},"sell_count":{"type":"integer","description":"All-time sells."},"ath_market_cap_quote":{"type":"number","description":"Highest market cap seen, in the quote asset."},"ath_market_cap_usd":{"type":["number","null"],"description":"Highest market cap seen, in USD."},"first_trade_at":{"type":["integer","null"],"format":"int64","description":"First trade."},"launch_price_quote":{"type":["number","null"],"description":"First traded price in the quote asset."},"launch_price_usd":{"type":["number","null"],"description":"First traded price in USD."},"price_change_pct_quote":{"type":["number","null"],"description":"Price change since launch in quote terms."},"price_change_pct_usd":{"type":["number","null"],"description":"Price change since launch in USD terms."},"trader_count":{"type":"integer","description":"Distinct wallets that have traded the token (approximate)."},"buyer_count":{"type":"integer","description":"Distinct wallets that have bought (approximate)."},"seller_count":{"type":"integer","description":"Distinct wallets that have sold (approximate)."},"holder_count":{"type":["integer","null"],"description":"Wallets holding the token now."},"total_supply":{"type":["number","null"],"description":"Total supply in whole tokens."},"circulating_supply":{"type":["number","null"],"description":"Circulating supply in whole tokens."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"dev_pct":{"type":["number","null"],"description":"Share of supply held by the creator, 0 to 100."},"sniper_pct":{"type":["number","null"],"description":"Share of supply held by sniper wallets, 0 to 100."},"bundle_pct":{"type":["number","null"],"description":"Share of supply held by bundled launch buyers, 0 to 100."},"bundler_count":{"type":["integer","null"],"description":"Wallets that bought in bundled launch transactions."},"top10_pct":{"type":["number","null"],"description":"Share of supply held by the 10 largest holders, 0 to 100."},"mint_revoked":{"type":["boolean","null"],"description":"Whether the mint authority is revoked."},"freeze_revoked":{"type":["boolean","null"],"description":"Whether the freeze authority is revoked."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"bonding_curve_gain_5m_pct":{"type":["number","null"],"description":"Bonding curve progress gained in the last 5 minutes."}},"description":"All-time aggregates and holder structure; null until first computed."},"windowed":{"type":"object","required":["t","pp","v","vb","vs","tc","bc","sc","m","bm","sm"],"properties":{"t":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","6h","24h"]},"description":"Windows present, in order. Every other array has one entry per window."},"pp":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Price change in percent, as [quote, usd]."},"v":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Volume, as [quote, usd]."},"vb":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Buy volume, as [quote, usd]."},"vs":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Sell volume, as [quote, usd]."},"tc":{"type":"array","items":{"type":"integer"},"description":"Trades."},"bc":{"type":"array","items":{"type":"integer"},"description":"Buys."},"sc":{"type":"array","items":{"type":"integer"},"description":"Sells."},"m":{"type":"array","items":{"type":"integer"},"description":"Distinct traders."},"bm":{"type":"array","items":{"type":"integer"},"description":"Distinct buyers."},"sm":{"type":"array","items":{"type":"integer"},"description":"Distinct sellers."}},"description":"Windowed metrics in compact columnar form: t lists the windows and every other array holds one entry per window at the same index."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools/metrics":{"get":{"operationId":"list_pools_metrics","tags":["Charts & Pools"],"summary":"Pool Metrics – Batch","description":"Metrics for several pools in one call, up to 50.","parameters":[{"name":"pool_addresses","in":"query","required":true,"description":"Pools to fetch, comma-separated, up to 50.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":50,"description":"Pools to fetch, comma-separated, up to 50."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["pool_address","token_address","updated_at","last_slot","last_tx_index","totals","windowed"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"token_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"updated_at":{"type":["integer","null"],"format":"int64","description":"Last update."},"last_slot":{"type":"integer","description":"Slot of the last trade included."},"last_tx_index":{"type":"integer","description":"Transaction index of that trade in its slot."},"totals":{"type":["object","null"],"required":["volume_quote","volume_usd","buy_volume_quote","buy_volume_usd","sell_volume_quote","sell_volume_usd","trade_count","buy_count","sell_count","ath_market_cap_quote","ath_market_cap_usd","first_trade_at","launch_price_quote","launch_price_usd","price_change_pct_quote","price_change_pct_usd","trader_count","buyer_count","seller_count","holder_count","total_supply","circulating_supply","lp_burned_pct","dev_pct","sniper_pct","bundle_pct","bundler_count","top10_pct","mint_revoked","freeze_revoked","dex_paid","bonding_curve_gain_5m_pct"],"properties":{"volume_quote":{"type":"number","description":"All-time volume in the quote asset."},"volume_usd":{"type":["number","null"],"description":"All-time volume in USD."},"buy_volume_quote":{"type":"number","description":"All-time buy volume in the quote asset."},"buy_volume_usd":{"type":["number","null"],"description":"All-time buy volume in USD."},"sell_volume_quote":{"type":"number","description":"All-time sell volume in the quote asset."},"sell_volume_usd":{"type":["number","null"],"description":"All-time sell volume in USD."},"trade_count":{"type":"integer","description":"All-time trades."},"buy_count":{"type":"integer","description":"All-time buys."},"sell_count":{"type":"integer","description":"All-time sells."},"ath_market_cap_quote":{"type":"number","description":"Highest market cap seen, in the quote asset."},"ath_market_cap_usd":{"type":["number","null"],"description":"Highest market cap seen, in USD."},"first_trade_at":{"type":["integer","null"],"format":"int64","description":"First trade."},"launch_price_quote":{"type":["number","null"],"description":"First traded price in the quote asset."},"launch_price_usd":{"type":["number","null"],"description":"First traded price in USD."},"price_change_pct_quote":{"type":["number","null"],"description":"Price change since launch in quote terms."},"price_change_pct_usd":{"type":["number","null"],"description":"Price change since launch in USD terms."},"trader_count":{"type":"integer","description":"Distinct wallets that have traded the token (approximate)."},"buyer_count":{"type":"integer","description":"Distinct wallets that have bought (approximate)."},"seller_count":{"type":"integer","description":"Distinct wallets that have sold (approximate)."},"holder_count":{"type":["integer","null"],"description":"Wallets holding the token now."},"total_supply":{"type":["number","null"],"description":"Total supply in whole tokens."},"circulating_supply":{"type":["number","null"],"description":"Circulating supply in whole tokens."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"dev_pct":{"type":["number","null"],"description":"Share of supply held by the creator, 0 to 100."},"sniper_pct":{"type":["number","null"],"description":"Share of supply held by sniper wallets, 0 to 100."},"bundle_pct":{"type":["number","null"],"description":"Share of supply held by bundled launch buyers, 0 to 100."},"bundler_count":{"type":["integer","null"],"description":"Wallets that bought in bundled launch transactions."},"top10_pct":{"type":["number","null"],"description":"Share of supply held by the 10 largest holders, 0 to 100."},"mint_revoked":{"type":["boolean","null"],"description":"Whether the mint authority is revoked."},"freeze_revoked":{"type":["boolean","null"],"description":"Whether the freeze authority is revoked."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"bonding_curve_gain_5m_pct":{"type":["number","null"],"description":"Bonding curve progress gained in the last 5 minutes."}},"description":"All-time aggregates and holder structure; null until first computed."},"windowed":{"type":"object","required":["t","pp","v","vb","vs","tc","bc","sc","m","bm","sm"],"properties":{"t":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","6h","24h"]},"description":"Windows present, in order. Every other array has one entry per window."},"pp":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Price change in percent, as [quote, usd]."},"v":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Volume, as [quote, usd]."},"vb":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Buy volume, as [quote, usd]."},"vs":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Sell volume, as [quote, usd]."},"tc":{"type":"array","items":{"type":"integer"},"description":"Trades."},"bc":{"type":"array","items":{"type":"integer"},"description":"Buys."},"sc":{"type":"array","items":{"type":"integer"},"description":"Sells."},"m":{"type":"array","items":{"type":"integer"},"description":"Distinct traders."},"bm":{"type":"array","items":{"type":"integer"},"description":"Distinct buyers."},"sm":{"type":"array","items":{"type":"integer"},"description":"Distinct sellers."}},"description":"Windowed metrics in compact columnar form: t lists the windows and every other array holds one entry per window at the same index."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools/{pool_address}":{"get":{"operationId":"get_pool","tags":["Charts & Pools"],"summary":"Pool Overview","description":"One pool with its base and quote tokens and, after migration, the pool that replaced it.","parameters":[{"name":"pool_address","in":"path","required":true,"description":"Pool address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["pool_address","base_address","quote_address","dex","pool_type","fee_rate","initial_base_amount_raw","initial_quote_amount_raw","lp_token_address","base_vault_address","lp_issued_raw","open_at","created_at","migrated_from_pool_address","migrated_at","inverted","base_liquidity_quote","quote_liquidity_quote","bonding_curve_progress_pct","liquidity_sol","liquidity_usd","lp_burned_pct","lp_supply_raw","lp_minted_raw","lp_burned_raw","lp_burned_locked_raw","lp_burned_withdrawn_raw","lp_checked_at","base_token","quote_token","superseded_by"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"base_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the traded token."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"pool_type":{"type":["string","null"],"enum":["bonding_curve","amm","cpmm","clmm"],"description":"Pool model."},"fee_rate":{"type":["number","null"],"description":"Pool trading fee when known."},"initial_base_amount_raw":{"type":["string","null"],"description":"Base tokens deposited at pool creation, raw units."},"initial_quote_amount_raw":{"type":["string","null"],"description":"Quote tokens deposited at pool creation, raw units."},"lp_token_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"LP token mint; null for bonding curves."},"base_vault_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Account holding the pool base tokens."},"lp_issued_raw":{"type":["string","null"],"description":"LP tokens issued at creation, raw units."},"open_at":{"type":["integer","null"],"format":"int64","description":"When the pool opened for trading."},"created_at":{"type":"integer","format":"int64","description":"When dydt first saw the pool."},"migrated_from_pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Bonding curve pool this pool migrated from."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"Migration time."},"inverted":{"type":"boolean","description":"True when the pool stores the pair in reverse order."},"base_liquidity_quote":{"type":["number","null"],"description":"Liquidity on the base side, in the quote asset."},"quote_liquidity_quote":{"type":["number","null"],"description":"Liquidity on the quote side, in the quote asset."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"liquidity_sol":{"type":["number","null"],"description":"Total liquidity in SOL."},"liquidity_usd":{"type":["number","null"],"description":"Total liquidity in USD."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"lp_supply_raw":{"type":["string","null"],"description":"LP tokens in circulation, raw units."},"lp_minted_raw":{"type":["string","null"],"description":"All LP tokens ever minted, raw units."},"lp_burned_raw":{"type":["string","null"],"description":"All LP tokens ever burned, raw units."},"lp_burned_locked_raw":{"type":["string","null"],"description":"Burned LP tokens still counted as locked, raw units."},"lp_burned_withdrawn_raw":{"type":["string","null"],"description":"Burned LP tokens later withdrawn, raw units."},"lp_checked_at":{"type":["integer","null"],"format":"int64","description":"When LP figures were last checked on chain."},"base_token":{"type":["object","null"],"required":["token_address","symbol","name","image_url","decimals","description","socials","launched_at","mayhem_mode","mayhem_ends_at","creator_fee_destination","creator_address","total_supply_raw"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol. Symbols are not unique across tokens."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"description":{"type":["string","null"],"description":"Token description from its metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"launched_at":{"type":["integer","null"],"format":"int64","description":"Token creation time."},"mayhem_mode":{"type":"boolean","description":"True for tokens launched in pump.fun Mayhem mode."},"mayhem_ends_at":{"type":["integer","null"],"format":"int64","description":"When Mayhem mode ends; null outside Mayhem mode."},"creator_fee_destination":{"type":"string","enum":["creator","shared","cashback","holders"],"description":"Where creator trading fees are routed."},"creator_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that created the token."},"total_supply_raw":{"type":["string","null"],"description":"Total supply in raw units."}},"description":"Traded token."},"quote_token":{"type":["object","null"],"required":["token_address","symbol","name","image_url","decimals","description","socials","launched_at","mayhem_mode","mayhem_ends_at","creator_fee_destination","creator_address","total_supply_raw"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol. Symbols are not unique across tokens."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"description":{"type":["string","null"],"description":"Token description from its metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"launched_at":{"type":["integer","null"],"format":"int64","description":"Token creation time."},"mayhem_mode":{"type":"boolean","description":"True for tokens launched in pump.fun Mayhem mode."},"mayhem_ends_at":{"type":["integer","null"],"format":"int64","description":"When Mayhem mode ends; null outside Mayhem mode."},"creator_fee_destination":{"type":"string","enum":["creator","shared","cashback","holders"],"description":"Where creator trading fees are routed."},"creator_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that created the token."},"total_supply_raw":{"type":["string","null"],"description":"Total supply in raw units."}},"description":"Quote asset."},"superseded_by":{"type":["object","null"],"required":["pool_address","dex","migrated_at"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool that replaced this one."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"Migration time."}},"description":"Newer pool that replaced this one after migration; null while this pool is current."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools":{"get":{"operationId":"list_pools","tags":["Charts & Pools"],"summary":"Token Pools","description":"Pools for a token, for a token pair, or the newest pools across every venue. Pass base_address for one token's pools, add quote_address for one pair, or omit both for the newest pools.","parameters":[{"name":"base_address","in":"query","required":false,"description":"Only pools trading this token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only pools trading this token."}},{"name":"quote_address","in":"query","required":false,"description":"Only pools quoted in this asset. Requires base_address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only pools quoted in this asset. Requires base_address."}},{"name":"dex","in":"query","required":false,"description":"Only pools on this venue.","schema":{"type":"string","minLength":1,"maxLength":40,"description":"Only pools on this venue."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":200,"description":"Maximum rows to return.","default":50}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["pool_address","base_address","quote_address","dex","pool_type","fee_rate","initial_base_amount_raw","initial_quote_amount_raw","lp_token_address","base_vault_address","lp_issued_raw","open_at","created_at","migrated_from_pool_address","migrated_at","inverted","base_liquidity_quote","quote_liquidity_quote","bonding_curve_progress_pct","liquidity_sol","liquidity_usd","lp_burned_pct","lp_supply_raw","lp_minted_raw","lp_burned_raw","lp_burned_locked_raw","lp_burned_withdrawn_raw","lp_checked_at"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"base_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the traded token."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"pool_type":{"type":["string","null"],"enum":["bonding_curve","amm","cpmm","clmm"],"description":"Pool model."},"fee_rate":{"type":["number","null"],"description":"Pool trading fee when known."},"initial_base_amount_raw":{"type":["string","null"],"description":"Base tokens deposited at pool creation, raw units."},"initial_quote_amount_raw":{"type":["string","null"],"description":"Quote tokens deposited at pool creation, raw units."},"lp_token_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"LP token mint; null for bonding curves."},"base_vault_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Account holding the pool base tokens."},"lp_issued_raw":{"type":["string","null"],"description":"LP tokens issued at creation, raw units."},"open_at":{"type":["integer","null"],"format":"int64","description":"When the pool opened for trading."},"created_at":{"type":"integer","format":"int64","description":"When dydt first saw the pool."},"migrated_from_pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Bonding curve pool this pool migrated from."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"Migration time."},"inverted":{"type":"boolean","description":"True when the pool stores the pair in reverse order."},"base_liquidity_quote":{"type":["number","null"],"description":"Liquidity on the base side, in the quote asset."},"quote_liquidity_quote":{"type":["number","null"],"description":"Liquidity on the quote side, in the quote asset."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"liquidity_sol":{"type":["number","null"],"description":"Total liquidity in SOL."},"liquidity_usd":{"type":["number","null"],"description":"Total liquidity in USD."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"lp_supply_raw":{"type":["string","null"],"description":"LP tokens in circulation, raw units."},"lp_minted_raw":{"type":["string","null"],"description":"All LP tokens ever minted, raw units."},"lp_burned_raw":{"type":["string","null"],"description":"All LP tokens ever burned, raw units."},"lp_burned_locked_raw":{"type":["string","null"],"description":"Burned LP tokens still counted as locked, raw units."},"lp_burned_withdrawn_raw":{"type":["string","null"],"description":"Burned LP tokens later withdrawn, raw units."},"lp_checked_at":{"type":["integer","null"],"format":"int64","description":"When LP figures were last checked on chain."}}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/market/sol-price":{"get":{"operationId":"get_sol_price","tags":["Charts & Pools"],"summary":"SOL Price","description":"The SOL reference price used across the API.","parameters":[],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["price_usd"],"properties":{"price_usd":{"type":"number","description":"SOL price in USD."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/{token_address}/trades":{"get":{"operationId":"list_token_trades","tags":["Trades"],"summary":"Token Trades","description":"Trades of one token across every pool it trades in, bonding curve included, each row with its pool and DEX. Newest first by default; order=asc walks forward from start_time.","parameters":[{"name":"token_address","in":"path","required":true,"description":"Token mint address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."}},{"name":"wallet_addresses","in":"query","required":false,"description":"Only trades by these wallets, comma-separated, up to 200.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":200,"description":"Only trades by these wallets, comma-separated, up to 200."}},{"name":"tx_hash","in":"query","required":false,"description":"Only trades in this transaction.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Only trades in this transaction."}},{"name":"type","in":"query","required":false,"description":"Only this kind of trade.","schema":{"type":"string","enum":["buy","sell","add","remove"],"description":"Only this kind of trade."}},{"name":"min_amount_usd","in":"query","required":false,"description":"Only trades worth at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at least this much, in USD."}},{"name":"max_amount_usd","in":"query","required":false,"description":"Only trades worth at most this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at most this much, in USD."}},{"name":"min_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at least this much, in USD."}},{"name":"max_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at most this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at most this much, in USD."}},{"name":"start_time","in":"query","required":false,"description":"Only rows at or after this time, at most 30 days back. Defaults to the last 24 hours.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows at or after this time, at most 30 days back. Defaults to the last 24 hours."}},{"name":"end_time","in":"query","required":false,"description":"Only rows before this time.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows before this time."}},{"name":"order","in":"query","required":false,"description":"desc for newest first, asc for oldest first from start_time.","schema":{"type":"string","enum":["asc","desc"],"description":"desc for newest first, asc for oldest first from start_time.","default":"desc"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["trade_id","tx_hash","slot","tx_index","event_index","type","wallet_address","token_address","quote_address","pool_address","dex","token_amount","quote_amount","amount_usd","amount_sol","price_quote","price_usd","market_cap_quote","market_cap_usd","created_at"],"properties":{"trade_id":{"type":"string","description":"Trade id, unique per trade."},"tx_hash":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Transaction signature."},"slot":{"type":"integer","description":"Slot the transaction landed in."},"tx_index":{"type":"integer","description":"Position of the transaction within its slot."},"event_index":{"type":"integer","description":"Position of this trade within its transaction; a multi-hop swap has one per pool."},"type":{"type":"string","enum":["buy","sell","add","remove"],"description":"buy, sell, add (liquidity), or remove (liquidity)."},"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that traded."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"token_amount":{"type":"number","description":"Tokens traded, in whole tokens."},"quote_amount":{"type":"number","description":"Quote asset paid or received."},"amount_usd":{"type":["number","null"],"description":"Trade value in USD."},"amount_sol":{"type":["number","null"],"description":"Trade value in SOL."},"price_quote":{"type":"number","description":"Execution price per token in the quote asset."},"price_usd":{"type":["number","null"],"description":"Execution price per token in USD."},"market_cap_quote":{"type":"number","description":"Market cap at the trade, in the quote asset."},"market_cap_usd":{"type":["number","null"],"description":"Market cap at the trade, in USD."},"created_at":{"type":"integer","format":"int64","description":"Block time."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/pools/{pool_address}/trades":{"get":{"operationId":"list_pool_trades","tags":["Trades"],"summary":"Pool Trades","description":"Trades in one pool, including the bonding curve it migrated from. Newest first by default; order=asc walks forward from start_time. token picks whose side each trade is described from.","parameters":[{"name":"pool_address","in":"path","required":true,"description":"Pool address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."}},{"name":"wallet_addresses","in":"query","required":false,"description":"Only trades by these wallets, comma-separated, up to 200.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":200,"description":"Only trades by these wallets, comma-separated, up to 200."}},{"name":"tx_hash","in":"query","required":false,"description":"Only trades in this transaction.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Only trades in this transaction."}},{"name":"type","in":"query","required":false,"description":"Only this kind of trade.","schema":{"type":"string","enum":["buy","sell","add","remove"],"description":"Only this kind of trade."}},{"name":"min_amount_usd","in":"query","required":false,"description":"Only trades worth at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at least this much, in USD."}},{"name":"max_amount_usd","in":"query","required":false,"description":"Only trades worth at most this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at most this much, in USD."}},{"name":"min_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at least this much, in USD."}},{"name":"max_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at most this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at most this much, in USD."}},{"name":"start_time","in":"query","required":false,"description":"Only rows at or after this time, at most 30 days back. Defaults to the last 24 hours.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows at or after this time, at most 30 days back. Defaults to the last 24 hours."}},{"name":"end_time","in":"query","required":false,"description":"Only rows before this time.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows before this time."}},{"name":"order","in":"query","required":false,"description":"desc for newest first, asc for oldest first from start_time.","schema":{"type":"string","enum":["asc","desc"],"description":"desc for newest first, asc for oldest first from start_time.","default":"desc"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}},{"name":"token","in":"query","required":false,"description":"One of the pool's two tokens. Trades are described from its side: buy or sell, amounts, price and market cap. Defaults to the pool's base token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"One of the pool's two tokens. Trades are described from its side: buy or sell, amounts, price and market cap. Defaults to the pool's base token."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["trade_id","tx_hash","slot","tx_index","event_index","type","wallet_address","token_address","quote_address","pool_address","dex","token_amount","quote_amount","amount_usd","amount_sol","price_quote","price_usd","market_cap_quote","market_cap_usd","created_at"],"properties":{"trade_id":{"type":"string","description":"Trade id, unique per trade."},"tx_hash":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Transaction signature."},"slot":{"type":"integer","description":"Slot the transaction landed in."},"tx_index":{"type":"integer","description":"Position of the transaction within its slot."},"event_index":{"type":"integer","description":"Position of this trade within its transaction; a multi-hop swap has one per pool."},"type":{"type":"string","enum":["buy","sell","add","remove"],"description":"buy, sell, add (liquidity), or remove (liquidity)."},"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that traded."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"token_amount":{"type":"number","description":"Tokens traded, in whole tokens."},"quote_amount":{"type":"number","description":"Quote asset paid or received."},"amount_usd":{"type":["number","null"],"description":"Trade value in USD."},"amount_sol":{"type":["number","null"],"description":"Trade value in SOL."},"price_quote":{"type":"number","description":"Execution price per token in the quote asset."},"price_usd":{"type":["number","null"],"description":"Execution price per token in USD."},"market_cap_quote":{"type":"number","description":"Market cap at the trade, in the quote asset."},"market_cap_usd":{"type":["number","null"],"description":"Market cap at the trade, in USD."},"created_at":{"type":"integer","format":"int64","description":"Block time."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/rankings/{feed}":{"get":{"operationId":"get_token_ranking","tags":["Discovery"],"summary":"Discovery Feeds","description":"A ranked token feed with market filters.\n\nRanking snapshots can report quote values as 0 while USD is set; prefer the USD fields.\n\nWithout sort, live feeds are ordered by recency and ranked feeds by their score; order still applies.","parameters":[{"name":"feed","in":"path","required":true,"description":"Ranking feed.","schema":{"type":"string","enum":["new_pair","popular","top_gainers","almost_bonded","migrated","stocks"],"description":"Ranking feed."}},{"name":"window","in":"query","required":false,"description":"Window the windowed filters and sorts use. Ranked feeds (popular, top_gainers, stocks) also rank over it and default to 1h; live feeds (new_pair, almost_bonded, migrated) default to all-time figures.","schema":{"type":"string","enum":["1m","5m","1h","6h","24h"],"description":"Window the windowed filters and sorts use. Ranked feeds (popular, top_gainers, stocks) also rank over it and default to 1h; live feeds (new_pair, almost_bonded, migrated) default to all-time figures."}},{"name":"windows","in":"query","required":false,"description":"Windows to include in windowed, comma-separated.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","6h","24h"]},"maxItems":5,"description":"Windows to include in windowed, comma-separated."}},{"name":"sort","in":"query","required":false,"description":"Field to sort by. Omit for the feed's own order.","schema":{"type":"string","enum":["created_at","market_cap","ath_market_cap","liquidity","price","volume","trade_count","trader_count","price_change_pct","holder_count","dev_pct","sniper_pct","bundle_pct","top10_pct","bonding_curve_progress_pct","bonding_curve_gain_5m_pct"],"description":"Field to sort by. Omit for the feed's own order."}},{"name":"order","in":"query","required":false,"description":"Sort order.","schema":{"type":"string","enum":["asc","desc"],"description":"Sort order.","default":"desc"}},{"name":"side","in":"query","required":false,"description":"Count buys, sells, or both in the trade, volume, and trader filters.","schema":{"type":"string","enum":["all","buy","sell"],"description":"Count buys, sells, or both in the trade, volume, and trader filters.","default":"all"}},{"name":"dexes","in":"query","required":false,"description":"Only these venues, comma-separated.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","minLength":1,"maxLength":40},"maxItems":20,"description":"Only these venues, comma-separated."}},{"name":"quote_addresses","in":"query","required":false,"description":"Only pools quoted in these assets, comma-separated.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"maxItems":10,"description":"Only pools quoted in these assets, comma-separated."}},{"name":"min_age_minutes","in":"query","required":false,"description":"Only tokens at least this many minutes old.","schema":{"type":"integer","minimum":0,"description":"Only tokens at least this many minutes old."}},{"name":"max_age_minutes","in":"query","required":false,"description":"Only tokens at most this many minutes old.","schema":{"type":"integer","minimum":0,"description":"Only tokens at most this many minutes old."}},{"name":"min_market_cap_usd","in":"query","required":false,"description":"Minimum market cap in USD.","schema":{"type":"number","minimum":0,"description":"Minimum market cap in USD."}},{"name":"max_market_cap_usd","in":"query","required":false,"description":"Maximum market cap in USD.","schema":{"type":"number","minimum":0,"description":"Maximum market cap in USD."}},{"name":"min_liquidity_usd","in":"query","required":false,"description":"Minimum liquidity in USD.","schema":{"type":"number","minimum":0,"description":"Minimum liquidity in USD."}},{"name":"max_liquidity_usd","in":"query","required":false,"description":"Maximum liquidity in USD.","schema":{"type":"number","minimum":0,"description":"Maximum liquidity in USD."}},{"name":"min_volume_usd","in":"query","required":false,"description":"Minimum volume in the window, in USD.","schema":{"type":"number","minimum":0,"description":"Minimum volume in the window, in USD."}},{"name":"max_volume_usd","in":"query","required":false,"description":"Maximum volume in the window, in USD.","schema":{"type":"number","minimum":0,"description":"Maximum volume in the window, in USD."}},{"name":"min_trade_count","in":"query","required":false,"description":"Minimum trades in the window.","schema":{"type":"integer","minimum":0,"description":"Minimum trades in the window."}},{"name":"max_trade_count","in":"query","required":false,"description":"Maximum trades in the window.","schema":{"type":"integer","minimum":0,"description":"Maximum trades in the window."}},{"name":"min_trader_count","in":"query","required":false,"description":"Minimum distinct traders in the window.","schema":{"type":"integer","minimum":0,"description":"Minimum distinct traders in the window."}},{"name":"max_trader_count","in":"query","required":false,"description":"Maximum distinct traders in the window.","schema":{"type":"integer","minimum":0,"description":"Maximum distinct traders in the window."}},{"name":"min_price_change_pct","in":"query","required":false,"description":"Minimum price change in the window, in percent.","schema":{"type":"number","description":"Minimum price change in the window, in percent."}},{"name":"max_price_change_pct","in":"query","required":false,"description":"Maximum price change in the window, in percent.","schema":{"type":"number","description":"Maximum price change in the window, in percent."}},{"name":"min_holder_count","in":"query","required":false,"description":"Minimum current holders.","schema":{"type":"integer","minimum":0,"description":"Minimum current holders."}},{"name":"max_holder_count","in":"query","required":false,"description":"Maximum current holders.","schema":{"type":"integer","minimum":0,"description":"Maximum current holders."}},{"name":"min_lp_burned_pct","in":"query","required":false,"description":"Minimum share of LP burned, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Minimum share of LP burned, 0 to 100."}},{"name":"min_dev_pct","in":"query","required":false,"description":"Minimum creator holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Minimum creator holding, 0 to 100."}},{"name":"max_dev_pct","in":"query","required":false,"description":"Maximum creator holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Maximum creator holding, 0 to 100."}},{"name":"min_sniper_pct","in":"query","required":false,"description":"Minimum sniper holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Minimum sniper holding, 0 to 100."}},{"name":"max_sniper_pct","in":"query","required":false,"description":"Maximum sniper holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Maximum sniper holding, 0 to 100."}},{"name":"min_bundle_pct","in":"query","required":false,"description":"Minimum bundled holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Minimum bundled holding, 0 to 100."}},{"name":"max_bundle_pct","in":"query","required":false,"description":"Maximum bundled holding, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Maximum bundled holding, 0 to 100."}},{"name":"min_top10_pct","in":"query","required":false,"description":"Minimum top-10 holder share, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Minimum top-10 holder share, 0 to 100."}},{"name":"max_top10_pct","in":"query","required":false,"description":"Maximum top-10 holder share, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Maximum top-10 holder share, 0 to 100."}},{"name":"mint_revoked","in":"query","required":false,"description":"Only tokens whose mint authority is (true) or is not (false) revoked.","schema":{"type":"boolean","description":"Only tokens whose mint authority is (true) or is not (false) revoked."}},{"name":"freeze_revoked","in":"query","required":false,"description":"Only tokens whose freeze authority is (true) or is not (false) revoked.","schema":{"type":"boolean","description":"Only tokens whose freeze authority is (true) or is not (false) revoked."}},{"name":"dex_paid","in":"query","required":false,"description":"Only tokens with (true) or without (false) a paid DEX Screener profile.","schema":{"type":"boolean","description":"Only tokens with (true) or without (false) a paid DEX Screener profile."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["pool_address","rank","score","entered_at","token","pool","snapshot","totals","windowed"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"rank":{"type":"integer","description":"Position in the feed."},"score":{"type":"number","description":"Value the feed ranks by; its meaning depends on the feed."},"entered_at":{"type":["integer","null"],"format":"int64","description":"When the pool entered this feed."},"token":{"type":"object","required":["token_address","symbol","name","image_url","decimals","description","socials","launched_at","mayhem_mode","mayhem_ends_at","creator_fee_destination"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol. Symbols are not unique across tokens."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"description":{"type":["string","null"],"description":"Token description from its metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"launched_at":{"type":["integer","null"],"format":"int64","description":"Token creation time."},"mayhem_mode":{"type":"boolean","description":"True for tokens launched in pump.fun Mayhem mode."},"mayhem_ends_at":{"type":["integer","null"],"format":"int64","description":"When Mayhem mode ends; null outside Mayhem mode."},"creator_fee_destination":{"type":"string","enum":["creator","shared","cashback","holders"],"description":"Where creator trading fees are routed."}}},"pool":{"type":["object","null"],"required":["base_address","quote_address","dex","pool_type","created_at","migrated_from_pool_address","migrated_at"],"properties":{"base_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"pool_type":{"type":["string","null"],"enum":["bonding_curve","amm","cpmm","clmm"],"description":"Pool model."},"created_at":{"type":["integer","null"],"format":"int64","description":"When dydt first saw the pool."},"migrated_from_pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Bonding curve pool this pool migrated from."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"Migration time."}},"description":"Pool summary; null when not yet resolved."},"snapshot":{"type":"object","required":["price_quote","price_usd","market_cap_quote","market_cap_usd","liquidity_quote","liquidity_usd","bonding_curve_progress_pct"],"properties":{"price_quote":{"type":"number","description":"Price per token in the quote asset."},"price_usd":{"type":["number","null"],"description":"Price per token in USD."},"market_cap_quote":{"type":"number","description":"Market cap in the quote asset."},"market_cap_usd":{"type":["number","null"],"description":"Market cap in USD."},"liquidity_quote":{"type":"number","description":"Pool liquidity in the quote asset."},"liquidity_usd":{"type":["number","null"],"description":"Pool liquidity in USD."},"bonding_curve_progress_pct":{"type":"number","description":"Bonding curve completion, 0 to 100; 0 after migration."}}},"totals":{"type":"object","required":["volume_quote","volume_usd","buy_volume_quote","buy_volume_usd","sell_volume_quote","sell_volume_usd","trade_count","buy_count","sell_count","ath_market_cap_quote","ath_market_cap_usd","first_trade_at","launch_price_quote","launch_price_usd","price_change_pct_quote","price_change_pct_usd","trader_count","buyer_count","seller_count","holder_count","total_supply","circulating_supply","lp_burned_pct","dev_pct","sniper_pct","bundle_pct","bundler_count","top10_pct","mint_revoked","freeze_revoked","dex_paid","bonding_curve_gain_5m_pct"],"properties":{"volume_quote":{"type":"number","description":"All-time volume in the quote asset."},"volume_usd":{"type":["number","null"],"description":"All-time volume in USD."},"buy_volume_quote":{"type":"number","description":"All-time buy volume in the quote asset."},"buy_volume_usd":{"type":["number","null"],"description":"All-time buy volume in USD."},"sell_volume_quote":{"type":"number","description":"All-time sell volume in the quote asset."},"sell_volume_usd":{"type":["number","null"],"description":"All-time sell volume in USD."},"trade_count":{"type":"integer","description":"All-time trades."},"buy_count":{"type":"integer","description":"All-time buys."},"sell_count":{"type":"integer","description":"All-time sells."},"ath_market_cap_quote":{"type":"number","description":"Highest market cap seen, in the quote asset."},"ath_market_cap_usd":{"type":["number","null"],"description":"Highest market cap seen, in USD."},"first_trade_at":{"type":["integer","null"],"format":"int64","description":"First trade."},"launch_price_quote":{"type":["number","null"],"description":"First traded price in the quote asset."},"launch_price_usd":{"type":["number","null"],"description":"First traded price in USD."},"price_change_pct_quote":{"type":["number","null"],"description":"Price change since launch in quote terms."},"price_change_pct_usd":{"type":["number","null"],"description":"Price change since launch in USD terms."},"trader_count":{"type":"integer","description":"Distinct wallets that have traded the token (approximate)."},"buyer_count":{"type":"integer","description":"Distinct wallets that have bought (approximate)."},"seller_count":{"type":"integer","description":"Distinct wallets that have sold (approximate)."},"holder_count":{"type":["integer","null"],"description":"Wallets holding the token now."},"total_supply":{"type":["number","null"],"description":"Total supply in whole tokens."},"circulating_supply":{"type":["number","null"],"description":"Circulating supply in whole tokens."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"dev_pct":{"type":["number","null"],"description":"Share of supply held by the creator, 0 to 100."},"sniper_pct":{"type":["number","null"],"description":"Share of supply held by sniper wallets, 0 to 100."},"bundle_pct":{"type":["number","null"],"description":"Share of supply held by bundled launch buyers, 0 to 100."},"bundler_count":{"type":["integer","null"],"description":"Wallets that bought in bundled launch transactions."},"top10_pct":{"type":["number","null"],"description":"Share of supply held by the 10 largest holders, 0 to 100."},"mint_revoked":{"type":["boolean","null"],"description":"Whether the mint authority is revoked."},"freeze_revoked":{"type":["boolean","null"],"description":"Whether the freeze authority is revoked."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"bonding_curve_gain_5m_pct":{"type":["number","null"],"description":"Bonding curve progress gained in the last 5 minutes."}}},"windowed":{"type":"object","required":["t","pp","v","vb","vs","tc","bc","sc","m","bm","sm"],"properties":{"t":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","6h","24h"]},"description":"Windows present, in order. Every other array has one entry per window."},"pp":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Price change in percent, as [quote, usd]."},"v":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Volume, as [quote, usd]."},"vb":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Buy volume, as [quote, usd]."},"vs":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Sell volume, as [quote, usd]."},"tc":{"type":"array","items":{"type":"integer"},"description":"Trades."},"bc":{"type":"array","items":{"type":"integer"},"description":"Buys."},"sc":{"type":"array","items":{"type":"integer"},"description":"Sells."},"m":{"type":"array","items":{"type":"integer"},"description":"Distinct traders."},"bm":{"type":"array","items":{"type":"integer"},"description":"Distinct buyers."},"sm":{"type":"array","items":{"type":"integer"},"description":"Distinct sellers."}},"description":"Windowed metrics in compact columnar form: t lists the windows and every other array holds one entry per window at the same index."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/tokens/signals":{"get":{"operationId":"list_token_signals","tags":["Discovery"],"summary":"Token Signals","description":"Token signals across the market, newest first: the latest signal on each token. Pass token_address for every signal on one token.\n\nNeeds the Pro or Scale plan.","parameters":[{"name":"token_address","in":"query","required":false,"description":"Every signal on this token, instead of the latest per token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Every signal on this token, instead of the latest per token."}},{"name":"tiers","in":"query","required":false,"description":"Only these tiers, comma-separated.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["high_conviction","qualified"]},"maxItems":2,"description":"Only these tiers, comma-separated."}},{"name":"kinds","in":"query","required":false,"description":"Only these detectors, comma-separated.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["cohort","momentum"]},"maxItems":2,"description":"Only these detectors, comma-separated."}},{"name":"min_entity_count","in":"query","required":false,"description":"Only signals with at least this many distinct buyers in the five minutes before the alert.","schema":{"type":"integer","minimum":0,"description":"Only signals with at least this many distinct buyers in the five minutes before the alert."}},{"name":"min_cohort_buy_usd","in":"query","required":false,"description":"Only signals whose buyers spent at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only signals whose buyers spent at least this much, in USD."}},{"name":"min_alert_liquidity_usd","in":"query","required":false,"description":"Only signals with at least this much liquidity at the alert, in USD.","schema":{"type":"number","minimum":0,"description":"Only signals with at least this much liquidity at the alert, in USD."}},{"name":"max_alert_market_cap_usd","in":"query","required":false,"description":"Only signals at or below this market cap at the alert, in USD.","schema":{"type":"number","minimum":0,"description":"Only signals at or below this market cap at the alert, in USD."}},{"name":"anchor_only","in":"query","required":false,"description":"Only the first signal on each token.","schema":{"type":"boolean","description":"Only the first signal on each token.","default":false}},{"name":"start_time","in":"query","required":false,"description":"Only signals that fired at or after this time. Pass the newest triggered_at you have seen to poll for new ones.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only signals that fired at or after this time. Pass the newest triggered_at you have seen to poll for new ones."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":50,"description":"Maximum rows to return.","default":20}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["signal_id","token_address","pool_address","symbol","name","image_url","dex","tier","kind","kinds","confluence","pool_kind","anchor","fast_path","alert_index","alerted_at","triggered_at","detection_lag_ms","alert_market_cap_usd","alert_price_usd","alert_liquidity_usd","alert_sol_price_usd","alert_trader_count","first_alert_at","first_alert_market_cap_usd","first_alert_price_usd","first_alert_liquidity_usd","first_alert_sol_price_usd","first_alert_trader_count","current_market_cap_usd","current_price_usd","current_liquidity_usd","current_trader_count","peak_market_cap_usd","peak_at","token_peak_market_cap_usd","token_peak_at","bonding_curve_progress_pct","entity_count","tier_a_count","tier_b_count","tier_c_count","cohort_buy_usd","buyer_burst","warnings","migrated_at","migrated_to_pool_address"],"properties":{"signal_id":{"type":"string","description":"Signal id, stable across alerts for the same signal."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool the signal fired on."},"symbol":{"type":["string","null"],"description":"Token symbol."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"tier":{"type":"string","enum":["high_conviction","qualified"],"description":"high_conviction marks a Top signal, the highest-scoring alerts on pools past the bonding curve; qualified is every other alert."},"kind":{"type":"string","enum":["cohort","momentum"],"description":"Primary detector that fired."},"kinds":{"type":"array","items":{"type":"string","enum":["cohort","momentum"]},"description":"Every detector that fired for this signal."},"confluence":{"type":"boolean","description":"True when more than one detector agreed."},"pool_kind":{"type":"string","enum":["bonding_curve","amm"],"description":"Pool model at the time of the alert."},"anchor":{"type":"boolean","description":"True when this is the first signal on the token."},"fast_path":{"type":"boolean","description":"Set only on signals from the retired burst detector; always false now."},"alert_index":{"type":"integer","description":"Alert number within the signal, from 1."},"alerted_at":{"type":"array","items":{"type":"integer","format":"int64"},"description":"Time of every alert for this signal."},"triggered_at":{"type":"integer","format":"int64","description":"Trade that triggered this alert."},"detection_lag_ms":{"type":"integer","description":"Milliseconds from that trade to the alert."},"alert_market_cap_usd":{"type":"number","description":"Market cap at this alert."},"alert_price_usd":{"type":["number","null"],"description":"Price at this alert."},"alert_liquidity_usd":{"type":"number","description":"Liquidity at this alert."},"alert_sol_price_usd":{"type":["number","null"],"description":"SOL price at this alert."},"alert_trader_count":{"type":["integer","null"],"description":"Distinct traders at this alert."},"first_alert_at":{"type":"integer","format":"int64","description":"First alert of this signal."},"first_alert_market_cap_usd":{"type":"number","description":"Market cap at the first alert."},"first_alert_price_usd":{"type":["number","null"],"description":"Price at the first alert."},"first_alert_liquidity_usd":{"type":"number","description":"Liquidity at the first alert."},"first_alert_sol_price_usd":{"type":["number","null"],"description":"SOL price at the first alert."},"first_alert_trader_count":{"type":["integer","null"],"description":"Distinct traders at the first alert."},"current_market_cap_usd":{"type":["number","null"],"description":"Market cap now."},"current_price_usd":{"type":["number","null"],"description":"Price now."},"current_liquidity_usd":{"type":["number","null"],"description":"Liquidity now."},"current_trader_count":{"type":["integer","null"],"description":"Distinct traders now."},"peak_market_cap_usd":{"type":["number","null"],"description":"Highest market cap since this alert."},"peak_at":{"type":["integer","null"],"format":"int64","description":"Time of that peak."},"token_peak_market_cap_usd":{"type":["number","null"],"description":"Highest market cap since the first alert."},"token_peak_at":{"type":["integer","null"],"format":"int64","description":"Time of that peak."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion at this alert, 0 to 100."},"entity_count":{"type":"integer","description":"Distinct wallets that bought in the five minutes before the alert."},"tier_a_count":{"type":"integer","description":"Smart wallets among them: a third or more of their buys over the past week doubled within an hour."},"tier_b_count":{"type":"integer","description":"Wallets among them with a measured buy record that are not smart."},"tier_c_count":{"type":"integer","description":"Wallets among them without enough recent buys to measure."},"cohort_buy_usd":{"type":"number","description":"Combined buys by those wallets in the five minutes, in USD."},"buyer_burst":{"type":"number","description":"Buys in the alert minute relative to the 15-minute average; 1 is normal."},"warnings":{"type":"array","items":{"type":"string"},"description":"Caveats, for example dev_share_unknown."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"When the token migrated off its bonding curve."},"migrated_to_pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"AMM pool it migrated to."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets":{"get":{"operationId":"list_wallets","tags":["Smart Money"],"summary":"Labeled Wallets","description":"Wallets carrying a public label: KOLs, smart money, VCs, dev teams, bots, and rat traders.\n\nNeeds the Pro or Scale plan.\n\nOrdered by wallet address so pages stay stable. Labels refresh every minute.","parameters":[{"name":"label","in":"query","required":true,"description":"Wallet label.","schema":{"type":"string","enum":["kol","smart","vc","dev_team","bot","mayhem_bot","agent_buyback","rat"],"description":"Wallet label."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":500,"description":"Maximum rows to return.","default":100}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["wallet_address","labels"],"properties":{"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"labels":{"type":"array","items":{"type":"object","required":["label","name","avatar_url"],"properties":{"label":{"type":"string","description":"Label, for example kol, smart, vc, dev_team, bot, or rat."},"name":{"type":["string","null"],"description":"Display name when known, for example a KOL handle."},"avatar_url":{"type":["string","null"],"format":"uri","description":"Avatar image URL when known."}}},"description":"Public labels on the wallet; empty for most wallets."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/leaderboard":{"get":{"operationId":"get_wallet_leaderboard","tags":["Smart Money"],"summary":"Wallet Leaderboard","description":"Top wallets over a window, ranked by realized PnL or another metric.\n\nscope=kol needs the Pro or Scale plan.\n\nRankings are cached for 30 seconds.","parameters":[{"name":"window","in":"query","required":false,"description":"Stats window.","schema":{"type":"string","enum":["1h","24h","3d","7d","30d"],"description":"Stats window.","default":"24h"}},{"name":"scope","in":"query","required":false,"description":"Every wallet, or only known KOL wallets. kol needs the Pro or Scale plan.","schema":{"type":"string","enum":["all","kol"],"description":"Every wallet, or only known KOL wallets. kol needs the Pro or Scale plan.","default":"all"}},{"name":"sort","in":"query","required":false,"description":"Field to sort by.","schema":{"type":"string","enum":["realized_pnl","win_rate","volume_usd","volume_sol","trade_count","avg_trade_size_usd","avg_trade_size_sol","last_trade_at"],"description":"Field to sort by.","default":"realized_pnl"}},{"name":"order","in":"query","required":false,"description":"Sort order.","schema":{"type":"string","enum":["asc","desc"],"description":"Sort order.","default":"desc"}},{"name":"exclude_bots","in":"query","required":false,"description":"Leave out wallets that trade like bots.","schema":{"type":"boolean","description":"Leave out wallets that trade like bots.","default":false}},{"name":"min_trade_count","in":"query","required":false,"description":"Only wallets with at least this many trades in the window.","schema":{"type":"integer","minimum":0,"description":"Only wallets with at least this many trades in the window."}},{"name":"min_volume_usd","in":"query","required":false,"description":"Only wallets that traded at least this much in the window, in USD.","schema":{"type":"number","minimum":0,"description":"Only wallets that traded at least this much in the window, in USD."}},{"name":"min_win_rate_pct","in":"query","required":false,"description":"Only wallets whose sells won at least this often, 0 to 100.","schema":{"type":"number","minimum":0,"maximum":100,"description":"Only wallets whose sells won at least this often, 0 to 100."}},{"name":"recent_trade_count","in":"query","required":false,"description":"Latest trades to include per wallet.","schema":{"type":"integer","minimum":0,"maximum":50,"description":"Latest trades to include per wallet.","default":4}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":20}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["wallet_address","realized_pnl_sol","realized_pnl_usd","win_rate_pct","buy_count","sell_count","volume_sol","volume_usd","cost_basis_sol","cost_basis_usd","avg_trade_size_sol","avg_trade_size_usd","avg_hold_seconds","median_entry_market_cap_usd","median_exit_market_cap_usd","last_trade_at","labels","recent_trades"],"properties":{"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"realized_pnl_sol":{"type":"number","description":"Realized profit in SOL."},"realized_pnl_usd":{"type":"number","description":"Realized profit in USD."},"win_rate_pct":{"type":"number","description":"Share of sells in profit, 0 to 100."},"buy_count":{"type":"integer","description":"Buys in the window."},"sell_count":{"type":"integer","description":"Sells in the window."},"volume_sol":{"type":"number","description":"Bought plus sold, in SOL."},"volume_usd":{"type":"number","description":"Bought plus sold, in USD."},"cost_basis_sol":{"type":"number","description":"Cost of the tokens sold, in SOL."},"cost_basis_usd":{"type":"number","description":"Cost of the tokens sold, in USD."},"avg_trade_size_sol":{"type":"number","description":"Average trade in SOL."},"avg_trade_size_usd":{"type":"number","description":"Average trade in USD."},"avg_hold_seconds":{"type":"number","description":"Average holding time in seconds."},"median_entry_market_cap_usd":{"type":["number","null"],"description":"Median market cap at entry, in USD."},"median_exit_market_cap_usd":{"type":["number","null"],"description":"Median market cap at exit, in USD."},"last_trade_at":{"type":["integer","null"],"format":"int64","description":"Latest trade."},"labels":{"type":"array","items":{"type":"object","required":["label","name","avatar_url"],"properties":{"label":{"type":"string","description":"Label, for example kol, smart, vc, dev_team, bot, or rat."},"name":{"type":["string","null"],"description":"Display name when known, for example a KOL handle."},"avatar_url":{"type":["string","null"],"format":"uri","description":"Avatar image URL when known."}}},"description":"Public labels on the wallet; empty for most wallets."},"recent_trades":{"type":"array","items":{"type":"object","required":["trade_id","tx_hash","slot","tx_index","event_index","type","token_address","quote_address","token_amount","quote_amount","price_sol","created_at"],"properties":{"trade_id":{"type":"string","description":"Trade id."},"tx_hash":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Transaction signature."},"slot":{"type":"integer","description":"Slot the transaction landed in."},"tx_index":{"type":"integer","description":"Position of the transaction within its slot."},"event_index":{"type":"integer","description":"Position of this trade within its transaction; a multi-hop swap has one per pool."},"type":{"type":"string","enum":["buy","sell"],"description":"buy or sell."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"token_amount":{"type":"number","description":"Tokens traded, in whole tokens."},"quote_amount":{"type":"number","description":"Quote asset paid or received."},"price_sol":{"type":"number","description":"Execution price in SOL."},"created_at":{"type":"integer","format":"int64","description":"Block time."}}},"description":"Latest trades, newest first."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/activity":{"get":{"operationId":"list_wallet_activity","tags":["Smart Money"],"summary":"Followed Wallet Trades","description":"Trades by a set of wallets, newest first, with realized PnL on sells. Follow a label such as kol, or your own list of wallets.\n\nNeeds the Pro or Scale plan.","parameters":[{"name":"label","in":"query","required":false,"description":"Follow every wallet with this label. Pass label, wallet_addresses, or both.","schema":{"type":"string","enum":["kol","smart","vc"],"description":"Follow every wallet with this label. Pass label, wallet_addresses, or both."}},{"name":"wallet_addresses","in":"query","required":false,"description":"Follow these wallets, comma-separated, up to 100.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"maxItems":100,"description":"Follow these wallets, comma-separated, up to 100."}},{"name":"type","in":"query","required":false,"description":"Only buys or only sells.","schema":{"type":"string","enum":["buy","sell"],"description":"Only buys or only sells."}},{"name":"token_address","in":"query","required":false,"description":"Only trades of this token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only trades of this token."}},{"name":"min_amount_usd","in":"query","required":false,"description":"Only trades worth at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at least this much, in USD."}},{"name":"min_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at least this much, in USD."}},{"name":"max_market_cap_usd","in":"query","required":false,"description":"Only trades made at a market cap of at most this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades made at a market cap of at most this much, in USD."}},{"name":"start_time","in":"query","required":false,"description":"Only rows at or after this time, at most 7 days back. Defaults to the last 24 hours.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows at or after this time, at most 7 days back. Defaults to the last 24 hours."}},{"name":"end_time","in":"query","required":false,"description":"Only rows before this time.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows before this time."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":50}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["trade_id","tx_hash","slot","tx_index","event_index","type","token_address","pool_address","dex","token_amount","amount_sol","amount_usd","market_cap_quote","market_cap_usd","realized_pnl_sol","realized_pnl_usd","realized_pnl_pct_sol","realized_pnl_pct_usd","cost_basis_sol","cost_basis_usd","fee_sol","fee_usd","net_pnl_sol","net_pnl_usd","untracked_token_amount","bonding_curve_progress_pct","migrated","created_at","wallet_address","labels"],"properties":{"trade_id":{"type":"string","description":"Trade id, unique per trade."},"tx_hash":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Transaction signature."},"slot":{"type":"integer","description":"Slot the transaction landed in."},"tx_index":{"type":"integer","description":"Position of the transaction within its slot."},"event_index":{"type":"integer","description":"Position of this trade within its transaction; a multi-hop swap has one per pool."},"type":{"type":"string","enum":["buy","sell"],"description":"buy or sell."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"token_amount":{"type":"number","description":"Tokens traded, in whole tokens."},"amount_sol":{"type":"number","description":"Trade size in SOL."},"amount_usd":{"type":"number","description":"Trade size in USD."},"market_cap_quote":{"type":"number","description":"Market cap at the trade, in the quote asset."},"market_cap_usd":{"type":"number","description":"Market cap at the trade, in USD."},"realized_pnl_sol":{"type":"number","description":"Realized profit in SOL; 0 on buys."},"realized_pnl_usd":{"type":"number","description":"Realized profit in USD; 0 on buys."},"realized_pnl_pct_sol":{"type":["number","null"],"description":"Realized profit as a percent of cost, SOL terms. Sells only."},"realized_pnl_pct_usd":{"type":["number","null"],"description":"Realized profit as a percent of cost, USD terms. Sells only."},"cost_basis_sol":{"type":"number","description":"Cost of the tokens sold, in SOL; 0 on buys."},"cost_basis_usd":{"type":"number","description":"Cost of the tokens sold, in USD; 0 on buys."},"fee_sol":{"type":"number","description":"Fees paid in SOL."},"fee_usd":{"type":"number","description":"Fees paid in USD."},"net_pnl_sol":{"type":"number","description":"Realized profit minus fees, in SOL."},"net_pnl_usd":{"type":"number","description":"Realized profit minus fees, in USD."},"untracked_token_amount":{"type":"number","description":"Tokens sold that were not bought in a tracked trade, for example received by transfer."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"migrated":{"type":"boolean","description":"True once the token has left its bonding curve."},"created_at":{"type":"integer","format":"int64","description":"Block time."},"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Labeled wallet that traded."},"labels":{"type":"array","items":{"type":"object","required":["label","name","avatar_url"],"properties":{"label":{"type":"string","description":"Label, for example kol, smart, vc, dev_team, bot, or rat."},"name":{"type":["string","null"],"description":"Display name when known, for example a KOL handle."},"avatar_url":{"type":["string","null"],"format":"uri","description":"Avatar image URL when known."}}},"description":"Public labels on the wallet; empty for most wallets."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/signals":{"get":{"operationId":"list_wallet_signals","tags":["Smart Money"],"summary":"Wallet Signals","description":"Closed positions by tracked traders that beat the feed floor, best first.\n\nNeeds the Pro or Scale plan.","parameters":[{"name":"window","in":"query","required":false,"description":"Only positions closed within this window.","schema":{"type":"string","enum":["1h","6h","24h","3d","7d"],"description":"Only positions closed within this window.","default":"24h"}},{"name":"wallet_addresses","in":"query","required":false,"description":"Only these traders, comma-separated, up to 100.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"maxItems":100,"description":"Only these traders, comma-separated, up to 100."}},{"name":"token_address","in":"query","required":false,"description":"Only positions in this token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only positions in this token."}},{"name":"min_multiple","in":"query","required":false,"description":"Only positions that returned at least this multiple of cost. Default 2.","schema":{"type":"number","minimum":2,"description":"Only positions that returned at least this multiple of cost. Default 2."}},{"name":"min_realized_pnl_usd","in":"query","required":false,"description":"Only positions with at least this realized profit, in USD. Default 500.","schema":{"type":"number","minimum":0,"description":"Only positions with at least this realized profit, in USD. Default 500."}},{"name":"min_cost_usd","in":"query","required":false,"description":"Only positions that cost at least this much, in USD. Default 200.","schema":{"type":"number","minimum":100,"description":"Only positions that cost at least this much, in USD. Default 200."}},{"name":"max_hold_seconds","in":"query","required":false,"description":"Only positions held at most this long.","schema":{"type":"integer","minimum":0,"description":"Only positions held at most this long."}},{"name":"max_entry_market_cap_usd","in":"query","required":false,"description":"Only positions entered at or below this market cap, in USD.","schema":{"type":"number","minimum":0,"description":"Only positions entered at or below this market cap, in USD."}},{"name":"exclude_bots","in":"query","required":false,"description":"Leave out traders that trade like bots.","schema":{"type":"boolean","description":"Leave out traders that trade like bots.","default":true}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":25}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["signal_id","wallet_address","token_address","quote_address","pool_address","symbol","name","image_url","dex","opened_at","closed_at","hold_seconds","multiple","cost_usd","cost_sol","realized_pnl_usd","realized_pnl_sol","entry_price_usd","entry_price_sol","exit_price_usd","exit_price_sol","entry_market_cap_usd","entry_market_cap_quote","exit_market_cap_usd","exit_market_cap_quote","entry_liquidity_usd","current_market_cap_usd","current_liquidity_usd","buy_count","sell_count","untracked_pct","sold_pct","trader","trader_last_day","enriched"],"properties":{"signal_id":{"type":"string","description":"Signal id."},"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet that closed the position."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"symbol":{"type":["string","null"],"description":"Token symbol."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"opened_at":{"type":["integer","null"],"format":"int64","description":"Position opened."},"closed_at":{"type":"integer","format":"int64","description":"Position closed."},"hold_seconds":{"type":["integer","null"],"description":"Seconds between open and close."},"multiple":{"type":["number","null"],"description":"Exit value over cost; 2 means the position doubled."},"cost_usd":{"type":["number","null"],"description":"Cost in USD."},"cost_sol":{"type":["number","null"],"description":"Cost in SOL."},"realized_pnl_usd":{"type":["number","null"],"description":"Realized profit in USD."},"realized_pnl_sol":{"type":["number","null"],"description":"Realized profit in SOL."},"entry_price_usd":{"type":["number","null"],"description":"Average entry price in USD."},"entry_price_sol":{"type":["number","null"],"description":"Average entry price in SOL."},"exit_price_usd":{"type":["number","null"],"description":"Average exit price in USD."},"exit_price_sol":{"type":["number","null"],"description":"Average exit price in SOL."},"entry_market_cap_usd":{"type":["number","null"],"description":"Market cap at entry, in USD."},"entry_market_cap_quote":{"type":["number","null"],"description":"Market cap at entry, in the quote asset."},"exit_market_cap_usd":{"type":["number","null"],"description":"Market cap at exit, in USD."},"exit_market_cap_quote":{"type":["number","null"],"description":"Market cap at exit, in the quote asset."},"entry_liquidity_usd":{"type":["number","null"],"description":"Liquidity at entry, in USD."},"current_market_cap_usd":{"type":["number","null"],"description":"Market cap now."},"current_liquidity_usd":{"type":["number","null"],"description":"Liquidity now."},"buy_count":{"type":["integer","null"],"description":"Buys in the position."},"sell_count":{"type":["integer","null"],"description":"Sells in the position."},"untracked_pct":{"type":["number","null"],"description":"Share of the position bought outside tracked trades, 0 to 100."},"sold_pct":{"type":["number","null"],"description":"Share of the position sold, 0 to 100."},"trader":{"type":["object","null"],"required":["bot","labels","token_count","trade_count","win_rate_pct","style","median_multiple","avg_hold_seconds"],"properties":{"bot":{"type":"boolean","description":"True when the wallet trades like a bot."},"labels":{"type":"array","items":{"type":"string"},"description":"dydt labels on the wallet, for example kol."},"token_count":{"type":["integer","null"],"description":"Tokens traded."},"trade_count":{"type":["integer","null"],"description":"Trades made."},"win_rate_pct":{"type":["number","null"],"description":"Share of closed positions in profit, 0 to 100."},"style":{"type":["string","null"],"description":"Trading style, for example sniper."},"median_multiple":{"type":["number","null"],"description":"Median exit value over cost."},"avg_hold_seconds":{"type":["integer","null"],"description":"Average holding time in seconds."}},"description":"Long-run profile of the trader."},"trader_last_day":{"type":["object","null"],"required":["win_rate_pct","trade_count","token_count","realized_pnl_sol","realized_pnl_usd","hours"],"properties":{"win_rate_pct":{"type":["number","null"],"description":"Share of closed positions in profit, 0 to 100."},"trade_count":{"type":["integer","null"],"description":"Trades made."},"token_count":{"type":["integer","null"],"description":"Tokens traded."},"realized_pnl_sol":{"type":["number","null"],"description":"Realized profit in SOL."},"realized_pnl_usd":{"type":["number","null"],"description":"Realized profit in USD."},"hours":{"type":"array","items":{"type":"object","required":["pnl_sol","pnl_usd","trade_count"],"properties":{"pnl_sol":{"type":"number","description":"Realized profit in SOL that hour."},"pnl_usd":{"type":"number","description":"Realized profit in USD that hour."},"trade_count":{"type":"integer","description":"Trades that hour."}}},"description":"Hourly breakdown, oldest first."}},"description":"The trader's last 24 hours."},"enriched":{"type":"boolean","description":"True once trader details are attached."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/{wallet_address}/stats":{"get":{"operationId":"get_wallet_stats","tags":["Wallet Analysis"],"summary":"Wallet Performance","description":"Trading performance for any wallet over a window: realized and unrealized PnL, win rate, volume, balance, and streaks.","parameters":[{"name":"wallet_address","in":"path","required":true,"description":"Wallet address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."}},{"name":"window","in":"query","required":false,"description":"Stats window.","schema":{"type":"string","enum":["1h","24h","3d","7d","30d"],"description":"Stats window.","default":"24h"}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["wallet_address","trade_count","buy_count","sell_count","realized_pnl_sol","realized_pnl_usd","unrealized_pnl_sol","unrealized_pnl_usd","win_rate_pct","bought_sol","bought_usd","sold_sol","sold_usd","volume_sol","volume_usd","cost_basis_sol","cost_basis_usd","fees_sol","fees_usd","avg_trade_size_sol","avg_trade_size_usd","avg_hold_seconds","last_trade_at","balance_sol","balance_usd","labels","insights"],"properties":{"wallet_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."},"trade_count":{"type":"integer","description":"Trades in the window."},"buy_count":{"type":"integer","description":"Buys in the window."},"sell_count":{"type":"integer","description":"Sells in the window."},"realized_pnl_sol":{"type":"number","description":"Realized profit in SOL."},"realized_pnl_usd":{"type":"number","description":"Realized profit in USD."},"unrealized_pnl_sol":{"type":"number","description":"Unrealized profit on open positions, in SOL."},"unrealized_pnl_usd":{"type":"number","description":"Unrealized profit on open positions, in USD."},"win_rate_pct":{"type":"number","description":"Share of sells in profit, 0 to 100."},"bought_sol":{"type":"number","description":"Spent on buys, in SOL."},"bought_usd":{"type":"number","description":"Spent on buys, in USD."},"sold_sol":{"type":"number","description":"Received from sells, in SOL."},"sold_usd":{"type":"number","description":"Received from sells, in USD."},"volume_sol":{"type":"number","description":"Bought plus sold, in SOL."},"volume_usd":{"type":"number","description":"Bought plus sold, in USD."},"cost_basis_sol":{"type":"number","description":"Cost of the tokens sold, in SOL."},"cost_basis_usd":{"type":"number","description":"Cost of the tokens sold, in USD."},"fees_sol":{"type":"number","description":"Fees paid in SOL."},"fees_usd":{"type":"number","description":"Fees paid in USD."},"avg_trade_size_sol":{"type":"number","description":"Average trade in SOL."},"avg_trade_size_usd":{"type":"number","description":"Average trade in USD."},"avg_hold_seconds":{"type":"number","description":"Average holding time in seconds; 0 when unknown."},"last_trade_at":{"type":["integer","null"],"format":"int64","description":"Latest trade."},"balance_sol":{"type":"number","description":"SOL balance now."},"balance_usd":{"type":"number","description":"SOL balance now, in USD."},"labels":{"type":"array","items":{"type":"object","required":["label","name","avatar_url"],"properties":{"label":{"type":"string","description":"Label, for example kol, smart, vc, dev_team, bot, or rat."},"name":{"type":["string","null"],"description":"Display name when known, for example a KOL handle."},"avatar_url":{"type":["string","null"],"format":"uri","description":"Avatar image URL when known."}}},"description":"Public labels on the wallet; empty for most wallets."},"insights":{"type":"object","required":["previous_volume_sol","previous_volume_usd","previous_avg_trade_size_sol","previous_avg_trade_size_usd","best_day","worst_day","avg_daily_volume_sol","avg_daily_volume_usd","avg_trades_per_day","max_win_streak","max_loss_streak","largest_win_sol","largest_win_usd","largest_loss_sol","largest_loss_usd","gross_profit_sol","gross_profit_usd","gross_loss_sol","gross_loss_usd","pnl_series"],"properties":{"previous_volume_sol":{"type":"number","description":"Volume in the window before this one, in SOL."},"previous_volume_usd":{"type":"number","description":"Volume in the window before this one, in USD."},"previous_avg_trade_size_sol":{"type":"number","description":"Average trade in the window before this one, in SOL."},"previous_avg_trade_size_usd":{"type":"number","description":"Average trade in the window before this one, in USD."},"best_day":{"type":["object","null"],"required":["date","pnl_sol","pnl_usd"],"properties":{"date":{"type":"string","description":"Day, YYYY-MM-DD in UTC."},"pnl_sol":{"type":"number","description":"Realized profit that day in SOL."},"pnl_usd":{"type":"number","description":"Realized profit that day in USD."}},"description":"Most profitable day in the window."},"worst_day":{"type":["object","null"],"required":["date","pnl_sol","pnl_usd"],"properties":{"date":{"type":"string","description":"Day, YYYY-MM-DD in UTC."},"pnl_sol":{"type":"number","description":"Realized profit that day in SOL."},"pnl_usd":{"type":"number","description":"Realized profit that day in USD."}},"description":"Least profitable day in the window."},"avg_daily_volume_sol":{"type":"number","description":"Average daily volume in SOL."},"avg_daily_volume_usd":{"type":"number","description":"Average daily volume in USD."},"avg_trades_per_day":{"type":"number","description":"Average trades per active day."},"max_win_streak":{"type":"integer","description":"Longest run of profitable sells."},"max_loss_streak":{"type":"integer","description":"Longest run of losing sells."},"largest_win_sol":{"type":"number","description":"Biggest single realized win in SOL."},"largest_win_usd":{"type":"number","description":"Biggest single realized win in USD."},"largest_loss_sol":{"type":"number","description":"Biggest single realized loss in SOL."},"largest_loss_usd":{"type":"number","description":"Biggest single realized loss in USD."},"gross_profit_sol":{"type":"number","description":"Sum of winning sells in SOL."},"gross_profit_usd":{"type":"number","description":"Sum of winning sells in USD."},"gross_loss_sol":{"type":"number","description":"Sum of losing sells in SOL, as a positive number."},"gross_loss_usd":{"type":"number","description":"Sum of losing sells in USD, as a positive number."},"pnl_series":{"type":"array","items":{"type":"object","required":["at","pnl_sol","pnl_usd"],"properties":{"at":{"type":"integer","format":"int64","description":"Point time."},"pnl_sol":{"type":"number","description":"Cumulative realized profit in SOL."},"pnl_usd":{"type":"number","description":"Cumulative realized profit in USD."}}},"description":"Cumulative realized profit through the window, oldest first."}},"description":"Streaks, extremes, and a cumulative PnL series."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/{wallet_address}/holdings":{"get":{"operationId":"get_wallet_holdings","tags":["Wallet Analysis"],"summary":"Wallet Positions","description":"Open token positions with cost, current value, and unrealized PnL.\n\nAt most 200 positions are listed, largest first; totals always cover every position.","parameters":[{"name":"wallet_address","in":"path","required":true,"description":"Wallet address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."}},{"name":"token_address","in":"query","required":false,"description":"Only the position in this token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only the position in this token."}},{"name":"min_value_usd","in":"query","required":false,"description":"Only positions worth at least this much now, in USD. Unpriced positions are left out.","schema":{"type":"number","minimum":0,"description":"Only positions worth at least this much now, in USD. Unpriced positions are left out."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["holdings","totals","total_position_count","truncated","updated_at"],"properties":{"holdings":{"type":"array","items":{"type":"object","required":["token_address","pool_address","quote_address","dex","symbol","image_url","decimals","mayhem_mode","migrated","bonding_curve_progress_pct","token_amount","cost_sol","cost_usd","avg_buy_price_sol","avg_buy_price_usd","price_sol","price_usd","value_sol","value_usd","unrealized_pnl_sol","unrealized_pnl_usd","unrealized_pnl_pct_sol","unrealized_pnl_pct_usd","priced","updated_at"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool used to price the position."},"quote_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"symbol":{"type":["string","null"],"description":"Token symbol."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"mayhem_mode":{"type":"boolean","description":"True for pump.fun Mayhem mode tokens."},"migrated":{"type":"boolean","description":"True once the token has left its bonding curve."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"token_amount":{"type":"number","description":"Tokens held, in whole tokens."},"cost_sol":{"type":"number","description":"Cost of the tokens still held, in SOL."},"cost_usd":{"type":"number","description":"Cost of the tokens still held, in USD."},"avg_buy_price_sol":{"type":"number","description":"Average buy price in SOL."},"avg_buy_price_usd":{"type":"number","description":"Average buy price in USD."},"price_sol":{"type":"number","description":"Price now in SOL; 0 when unpriced."},"price_usd":{"type":"number","description":"Price now in USD; 0 when unpriced."},"value_sol":{"type":"number","description":"Value now in SOL."},"value_usd":{"type":"number","description":"Value now in USD."},"unrealized_pnl_sol":{"type":"number","description":"Value now minus cost, in SOL."},"unrealized_pnl_usd":{"type":"number","description":"Value now minus cost, in USD."},"unrealized_pnl_pct_sol":{"type":["number","null"],"description":"Unrealized profit as a percent of cost, SOL terms."},"unrealized_pnl_pct_usd":{"type":["number","null"],"description":"Unrealized profit as a percent of cost, USD terms."},"priced":{"type":"boolean","description":"False when no current price is known; value fields are then 0."},"updated_at":{"type":"integer","format":"int64","description":"Last change to the position."}}},"description":"Open positions, largest first, at most 200."},"totals":{"type":"object","required":["position_count","unpriced_count","cost_sol","cost_usd","value_sol","value_usd","unrealized_pnl_sol","unrealized_pnl_usd","unrealized_pnl_pct_sol","unrealized_pnl_pct_usd"],"properties":{"position_count":{"type":"integer","description":"Open positions counted."},"unpriced_count":{"type":"integer","description":"Positions without a current price."},"cost_sol":{"type":"number","description":"Cost of everything held, in SOL."},"cost_usd":{"type":"number","description":"Cost of everything held, in USD."},"value_sol":{"type":"number","description":"Value of everything held now, in SOL."},"value_usd":{"type":"number","description":"Value of everything held now, in USD."},"unrealized_pnl_sol":{"type":"number","description":"Value now minus cost, in SOL."},"unrealized_pnl_usd":{"type":"number","description":"Value now minus cost, in USD."},"unrealized_pnl_pct_sol":{"type":["number","null"],"description":"Unrealized profit as a percent of cost, SOL terms."},"unrealized_pnl_pct_usd":{"type":["number","null"],"description":"Unrealized profit as a percent of cost, USD terms."}},"description":"Sums over every open position."},"total_position_count":{"type":"integer","description":"Open positions in the wallet."},"truncated":{"type":"boolean","description":"True when holdings lists fewer positions than the wallet has."},"updated_at":{"type":"integer","format":"int64","description":"Snapshot time."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/{wallet_address}/trades":{"get":{"operationId":"list_wallet_trades","tags":["Wallet Analysis"],"summary":"Wallet Trades","description":"Buys and sells by one wallet, newest first, with realized PnL on every sell.","parameters":[{"name":"wallet_address","in":"path","required":true,"description":"Wallet address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."}},{"name":"type","in":"query","required":false,"description":"Only buys or only sells.","schema":{"type":"string","enum":["buy","sell"],"description":"Only buys or only sells."}},{"name":"outcome","in":"query","required":false,"description":"Only winning or only losing sells.","schema":{"type":"string","enum":["all","win","loss"],"description":"Only winning or only losing sells.","default":"all"}},{"name":"token_address","in":"query","required":false,"description":"Only trades of this token.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Only trades of this token."}},{"name":"min_amount_usd","in":"query","required":false,"description":"Only trades worth at least this much, in USD.","schema":{"type":"number","minimum":0,"description":"Only trades worth at least this much, in USD."}},{"name":"start_time","in":"query","required":false,"description":"Only rows at or after this time, at most 30 days back. Defaults to the full 30 days.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows at or after this time, at most 30 days back. Defaults to the full 30 days."}},{"name":"end_time","in":"query","required":false,"description":"Only rows before this time.","schema":{"type":"integer","format":"int64","minimum":0,"description":"Only rows before this time."}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":200,"description":"Maximum rows to return.","default":50}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["trade_id","tx_hash","slot","tx_index","event_index","type","token_address","pool_address","dex","token_amount","amount_sol","amount_usd","market_cap_quote","market_cap_usd","realized_pnl_sol","realized_pnl_usd","realized_pnl_pct_sol","realized_pnl_pct_usd","cost_basis_sol","cost_basis_usd","fee_sol","fee_usd","net_pnl_sol","net_pnl_usd","untracked_token_amount","bonding_curve_progress_pct","migrated","created_at"],"properties":{"trade_id":{"type":"string","description":"Trade id, unique per trade."},"tx_hash":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{64,90}$","description":"Transaction signature."},"slot":{"type":"integer","description":"Slot the transaction landed in."},"tx_index":{"type":"integer","description":"Position of the transaction within its slot."},"event_index":{"type":"integer","description":"Position of this trade within its transaction; a multi-hop swap has one per pool."},"type":{"type":"string","enum":["buy","sell"],"description":"buy or sell."},"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"token_amount":{"type":"number","description":"Tokens traded, in whole tokens."},"amount_sol":{"type":"number","description":"Trade size in SOL."},"amount_usd":{"type":"number","description":"Trade size in USD."},"market_cap_quote":{"type":"number","description":"Market cap at the trade, in the quote asset."},"market_cap_usd":{"type":"number","description":"Market cap at the trade, in USD."},"realized_pnl_sol":{"type":"number","description":"Realized profit in SOL; 0 on buys."},"realized_pnl_usd":{"type":"number","description":"Realized profit in USD; 0 on buys."},"realized_pnl_pct_sol":{"type":["number","null"],"description":"Realized profit as a percent of cost, SOL terms. Sells only."},"realized_pnl_pct_usd":{"type":["number","null"],"description":"Realized profit as a percent of cost, USD terms. Sells only."},"cost_basis_sol":{"type":"number","description":"Cost of the tokens sold, in SOL; 0 on buys."},"cost_basis_usd":{"type":"number","description":"Cost of the tokens sold, in USD; 0 on buys."},"fee_sol":{"type":"number","description":"Fees paid in SOL."},"fee_usd":{"type":"number","description":"Fees paid in USD."},"net_pnl_sol":{"type":"number","description":"Realized profit minus fees, in SOL."},"net_pnl_usd":{"type":"number","description":"Realized profit minus fees, in USD."},"untracked_token_amount":{"type":"number","description":"Tokens sold that were not bought in a tracked trade, for example received by transfer."},"bonding_curve_progress_pct":{"type":["number","null"],"description":"Bonding curve completion, 0 to 100; null for pools without a curve."},"migrated":{"type":"boolean","description":"True once the token has left its bonding curve."},"created_at":{"type":"integer","format":"int64","description":"Block time."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/{wallet_address}/daily-pnl":{"get":{"operationId":"get_wallet_daily_pnl","tags":["Wallet Analysis"],"summary":"Daily PnL","description":"Day-by-day realized PnL, trade counts, and volume for one calendar month in UTC.","parameters":[{"name":"wallet_address","in":"path","required":true,"description":"Wallet address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."}},{"name":"month","in":"query","required":true,"description":"Month, YYYY-MM. It must overlap the last 30 days.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","description":"Month, YYYY-MM. It must overlap the last 30 days."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"object","required":["month","realized_profit_sol","realized_profit_usd","realized_loss_sol","realized_loss_usd","profit_day_count","loss_day_count","idle_day_count","days"],"properties":{"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$","description":"Month covered, YYYY-MM in UTC."},"realized_profit_sol":{"type":"number","description":"Sum of profitable days in SOL."},"realized_profit_usd":{"type":"number","description":"Sum of profitable days in USD."},"realized_loss_sol":{"type":"number","description":"Sum of losing days in SOL, as a negative number."},"realized_loss_usd":{"type":"number","description":"Sum of losing days in USD, as a negative number."},"profit_day_count":{"type":"integer","description":"Days in profit."},"loss_day_count":{"type":"integer","description":"Days at a loss."},"idle_day_count":{"type":"integer","description":"Days without a sell."},"days":{"type":"array","items":{"type":"object","required":["date","buy_count","sell_count","profit_sol","profit_usd","loss_sol","loss_usd","bought_sol","bought_usd","sold_sol","sold_usd","win_rate_pct"],"properties":{"date":{"type":"string","description":"Day, YYYY-MM-DD in UTC."},"buy_count":{"type":"integer","description":"Buys."},"sell_count":{"type":"integer","description":"Sells."},"profit_sol":{"type":"number","description":"Realized profit in SOL."},"profit_usd":{"type":"number","description":"Realized profit in USD."},"loss_sol":{"type":"number","description":"Realized loss in SOL, as a negative number."},"loss_usd":{"type":"number","description":"Realized loss in USD, as a negative number."},"bought_sol":{"type":"number","description":"Bought in SOL."},"bought_usd":{"type":"number","description":"Bought in USD."},"sold_sol":{"type":"number","description":"Sold in SOL."},"sold_usd":{"type":"number","description":"Sold in USD."},"win_rate_pct":{"type":"number","description":"Share of sells in profit, 0 to 100."}}},"description":"One entry per day of the month so far."}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/wallets/{wallet_address}/created-tokens":{"get":{"operationId":"list_wallet_created_tokens","tags":["Wallet Analysis"],"summary":"Deployed Tokens","description":"Tokens launched by a wallet, with their market metrics.","parameters":[{"name":"wallet_address","in":"path","required":true,"description":"Wallet address.","schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Wallet address."}},{"name":"window","in":"query","required":false,"description":"Only tokens created within this window. Omit for all time.","schema":{"type":"string","enum":["1h","6h","24h","3d","7d","30d"],"description":"Only tokens created within this window. Omit for all time."}},{"name":"sort","in":"query","required":false,"description":"Field to sort by.","schema":{"type":"string","enum":["created_at","market_cap","ath_market_cap","liquidity","price","volume","trade_count","trader_count","price_change_pct"],"description":"Field to sort by.","default":"created_at"}},{"name":"order","in":"query","required":false,"description":"Sort order.","schema":{"type":"string","enum":["asc","desc"],"description":"Sort order.","default":"desc"}},{"name":"limit","in":"query","required":false,"description":"Maximum rows to return.","schema":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum rows to return.","default":30}},{"name":"cursor","in":"query","required":false,"description":"next_cursor from the previous page. Omit for the first page.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"next_cursor from the previous page. Omit for the first page."}}],"responses":{"200":{"description":"Success envelope.","content":{"application/json":{"schema":{"type":"object","required":["code","error","message","data","pagination"],"properties":{"code":{"const":0},"error":{"type":"null"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","required":["pool_address","rank","score","entered_at","token","pool","snapshot","totals","windowed"],"properties":{"pool_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Pool address."},"rank":{"type":"integer","description":"Position in the feed."},"score":{"type":"number","description":"Value the feed ranks by; its meaning depends on the feed."},"entered_at":{"type":["integer","null"],"format":"int64","description":"When the pool entered this feed."},"token":{"type":"object","required":["token_address","symbol","name","image_url","decimals","description","socials","launched_at","mayhem_mode","mayhem_ends_at","creator_fee_destination"],"properties":{"token_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"symbol":{"type":["string","null"],"description":"Token symbol. Symbols are not unique across tokens."},"name":{"type":["string","null"],"description":"Token name."},"image_url":{"type":["string","null"],"format":"uri","description":"Token image URL on the dydt CDN."},"decimals":{"type":["integer","null"],"description":"Token decimals."},"description":{"type":["string","null"],"description":"Token description from its metadata."},"socials":{"type":"object","additionalProperties":{"type":"string","format":"uri"},"description":"Platform name to URL, for example twitter, telegram, website. Only known links are present."},"launched_at":{"type":["integer","null"],"format":"int64","description":"Token creation time."},"mayhem_mode":{"type":"boolean","description":"True for tokens launched in pump.fun Mayhem mode."},"mayhem_ends_at":{"type":["integer","null"],"format":"int64","description":"When Mayhem mode ends; null outside Mayhem mode."},"creator_fee_destination":{"type":"string","enum":["creator","shared","cashback","holders"],"description":"Where creator trading fees are routed."}}},"pool":{"type":["object","null"],"required":["base_address","quote_address","dex","pool_type","created_at","migrated_from_pool_address","migrated_at"],"properties":{"base_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Token mint address."},"quote_address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Mint of the asset the token is priced against, usually wrapped SOL."},"dex":{"type":["string","null"],"description":"Venue of the pool, for example pumpfun, pumpAmm, raydium, meteora."},"pool_type":{"type":["string","null"],"enum":["bonding_curve","amm","cpmm","clmm"],"description":"Pool model."},"created_at":{"type":["integer","null"],"format":"int64","description":"When dydt first saw the pool."},"migrated_from_pool_address":{"type":["string","null"],"pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Bonding curve pool this pool migrated from."},"migrated_at":{"type":["integer","null"],"format":"int64","description":"Migration time."}},"description":"Pool summary; null when not yet resolved."},"snapshot":{"type":"object","required":["price_quote","price_usd","market_cap_quote","market_cap_usd","liquidity_quote","liquidity_usd","bonding_curve_progress_pct"],"properties":{"price_quote":{"type":"number","description":"Price per token in the quote asset."},"price_usd":{"type":["number","null"],"description":"Price per token in USD."},"market_cap_quote":{"type":"number","description":"Market cap in the quote asset."},"market_cap_usd":{"type":["number","null"],"description":"Market cap in USD."},"liquidity_quote":{"type":"number","description":"Pool liquidity in the quote asset."},"liquidity_usd":{"type":["number","null"],"description":"Pool liquidity in USD."},"bonding_curve_progress_pct":{"type":"number","description":"Bonding curve completion, 0 to 100; 0 after migration."}}},"totals":{"type":"object","required":["volume_quote","volume_usd","buy_volume_quote","buy_volume_usd","sell_volume_quote","sell_volume_usd","trade_count","buy_count","sell_count","ath_market_cap_quote","ath_market_cap_usd","first_trade_at","launch_price_quote","launch_price_usd","price_change_pct_quote","price_change_pct_usd","trader_count","buyer_count","seller_count","holder_count","total_supply","circulating_supply","lp_burned_pct","dev_pct","sniper_pct","bundle_pct","bundler_count","top10_pct","mint_revoked","freeze_revoked","dex_paid","bonding_curve_gain_5m_pct"],"properties":{"volume_quote":{"type":"number","description":"All-time volume in the quote asset."},"volume_usd":{"type":["number","null"],"description":"All-time volume in USD."},"buy_volume_quote":{"type":"number","description":"All-time buy volume in the quote asset."},"buy_volume_usd":{"type":["number","null"],"description":"All-time buy volume in USD."},"sell_volume_quote":{"type":"number","description":"All-time sell volume in the quote asset."},"sell_volume_usd":{"type":["number","null"],"description":"All-time sell volume in USD."},"trade_count":{"type":"integer","description":"All-time trades."},"buy_count":{"type":"integer","description":"All-time buys."},"sell_count":{"type":"integer","description":"All-time sells."},"ath_market_cap_quote":{"type":"number","description":"Highest market cap seen, in the quote asset."},"ath_market_cap_usd":{"type":["number","null"],"description":"Highest market cap seen, in USD."},"first_trade_at":{"type":["integer","null"],"format":"int64","description":"First trade."},"launch_price_quote":{"type":["number","null"],"description":"First traded price in the quote asset."},"launch_price_usd":{"type":["number","null"],"description":"First traded price in USD."},"price_change_pct_quote":{"type":["number","null"],"description":"Price change since launch in quote terms."},"price_change_pct_usd":{"type":["number","null"],"description":"Price change since launch in USD terms."},"trader_count":{"type":"integer","description":"Distinct wallets that have traded the token (approximate)."},"buyer_count":{"type":"integer","description":"Distinct wallets that have bought (approximate)."},"seller_count":{"type":"integer","description":"Distinct wallets that have sold (approximate)."},"holder_count":{"type":["integer","null"],"description":"Wallets holding the token now."},"total_supply":{"type":["number","null"],"description":"Total supply in whole tokens."},"circulating_supply":{"type":["number","null"],"description":"Circulating supply in whole tokens."},"lp_burned_pct":{"type":["number","null"],"description":"Share of LP tokens burned and still locked, 0 to 100."},"dev_pct":{"type":["number","null"],"description":"Share of supply held by the creator, 0 to 100."},"sniper_pct":{"type":["number","null"],"description":"Share of supply held by sniper wallets, 0 to 100."},"bundle_pct":{"type":["number","null"],"description":"Share of supply held by bundled launch buyers, 0 to 100."},"bundler_count":{"type":["integer","null"],"description":"Wallets that bought in bundled launch transactions."},"top10_pct":{"type":["number","null"],"description":"Share of supply held by the 10 largest holders, 0 to 100."},"mint_revoked":{"type":["boolean","null"],"description":"Whether the mint authority is revoked."},"freeze_revoked":{"type":["boolean","null"],"description":"Whether the freeze authority is revoked."},"dex_paid":{"type":["boolean","null"],"description":"Whether a DEX Screener profile was paid for."},"bonding_curve_gain_5m_pct":{"type":["number","null"],"description":"Bonding curve progress gained in the last 5 minutes."}}},"windowed":{"type":"object","required":["t","pp","v","vb","vs","tc","bc","sc","m","bm","sm"],"properties":{"t":{"type":"array","items":{"type":"string","enum":["1m","5m","1h","6h","24h"]},"description":"Windows present, in order. Every other array has one entry per window."},"pp":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Price change in percent, as [quote, usd]."},"v":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Volume, as [quote, usd]."},"vb":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Buy volume, as [quote, usd]."},"vs":{"type":"array","items":{"type":"array","prefixItems":[{"type":["number","null"]},{"type":["number","null"]}],"minItems":2,"maxItems":2},"description":"Sell volume, as [quote, usd]."},"tc":{"type":"array","items":{"type":"integer"},"description":"Trades."},"bc":{"type":"array","items":{"type":"integer"},"description":"Buys."},"sc":{"type":"array","items":{"type":"integer"},"description":"Sells."},"m":{"type":"array","items":{"type":"integer"},"description":"Distinct traders."},"bm":{"type":"array","items":{"type":"integer"},"description":"Distinct buyers."},"sm":{"type":"array","items":{"type":"integer"},"description":"Distinct sellers."}},"description":"Windowed metrics in compact columnar form: t lists the windows and every other array holds one entry per window at the same index."}}}},"pagination":{"$ref":"#/components/schemas/Pagination"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"500":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}}},"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","description":"API key from https://dydt.ai/developers/keys"}},"schemas":{"Pagination":{"type":"object","required":["next_cursor","has_more"],"properties":{"next_cursor":{"type":["string","null"],"description":"Pass as cursor to get the next page; null on the last page."},"has_more":{"type":"boolean","description":"True when another page exists."}}},"Error":{"type":"object","required":["code","error","message","data"],"properties":{"code":{"type":"integer","description":"Stable status code: the HTTP status times ten plus a digit for specific cases, for example 4013 invalid API key or 4291 quota exceeded."},"error":{"type":"string","enum":["OK","TOTP_REQUIRED","CREATED","ACCEPTED","BAD_REQUEST","INSUFFICIENT_BALANCE","UNSUPPORTED_PROGRAM","DESTINATION_MISMATCH","UNAUTHENTICATED","INVALID_TOKEN","TOKEN_EXPIRED","INVALID_API_KEY","SESSION_EXPIRED","PAYMENT_REQUIRED","FORBIDDEN","NOT_OWNED","ELEVATION_REQUIRED","PLAN_REQUIRED","NOT_FOUND","NO_ACTIVE_WALLET","CONFLICT","POOL_SUPERSEDED","LIMIT_REACHED","NAME_TAKEN","PAYLOAD_TOO_LARGE","UNPROCESSABLE","CONTENT_BLOCKED","RATE_LIMITED","QUOTA_EXCEEDED","TOO_MANY_IN_FLIGHT","INTERNAL","UPSTREAM_FAILED","UNAVAILABLE","TIMEOUT"],"description":"Machine-readable error name."},"message":{"type":"string","description":"Human-readable explanation."},"data":{"type":"null"}}}},"responses":{"Error":{"description":"Error envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}