{"components":{"schemas":{"Error":{"properties":{"context":{"description":"What happened and what to do","type":"string"},"error":{"enum":["invalid_request","unauthorized","forbidden","not_found","conflict","rate_limited","pending","upstream","internal"],"type":"string"}},"required":["error","context"],"type":"object"}},"securitySchemes":{"apiKey":{"bearerFormat":"dxr_…","description":"An API key from the cabinet; X-Api-Key works too","scheme":"bearer","type":"http"}}},"info":{"description":"Solana DeFi intelligence for agents and bots: one call, one verdict. Send your API key as a bearer token, or pay per call over x402 without one. Docs: /docs on the cabinet site.","title":"Dexra","version":"0.1.0"},"openapi":"3.1.0","paths":{"/account":{"get":{"description":"Plan, what covers calls today (access), credits used today, keys and limits.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{}},"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"}},"security":[{"apiKey":[]}],"summary":"The account","tags":["account"]}},"/account/calls":{"get":{"description":"Calls made with the account's keys, newest first. Query: limit (1-100), before (id), tool.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{}},"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"}},"security":[{"apiKey":[]}],"summary":"Call log","tags":["account"]}},"/account/calls/summary":{"get":{"description":"Calls, credits, errors and average time per tool. Query: days.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{}},"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"}},"security":[{"apiKey":[]}],"summary":"Calls per tool","tags":["account"]}},"/account/usage":{"get":{"description":"Credits used per day, as far back as the plan shows. Query: days.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{}},"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"}},"security":[{"apiKey":[]}],"summary":"Credits per day","tags":["account"]}},"/account/watches":{"get":{"description":"The account's watches and how many it may have.","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{}},"type":"object"}}},"description":"OK"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"}},"security":[{"apiKey":[]}],"summary":"Watches","tags":["account"]},"post":{"description":"Run a check on a schedule and POST a signed webhook when the answer changes. The response carries the webhook secret once.","requestBody":{"content":{"application/json":{"schema":{"properties":{"interval_minutes":{"description":"Default 60 (2 for launches); at least 15 (1 for launches)","type":"integer"},"kind":{"enum":["token","wallet","pool","launches"],"type":"string"},"options":{"properties":{"min_liquidity_usd":{"description":"Launch watches: liquidity floor","type":"number"},"threshold":{"description":"Points (percent for pool TVL) a figure must move to notify","type":"number"}},"type":"object"},"target":{"description":"The address to watch; not for launches","type":"string"},"webhook_url":{"format":"uri","type":"string"}},"required":["kind","webhook_url"],"type":"object"}}},"required":true},"responses":{"200":{"description":"The watch, with its secret"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A field is invalid, or the webhook is not a public https URL"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The account has as many watches as it may"}},"security":[{"apiKey":[]}],"summary":"Create a watch","tags":["account"]}},"/clmm_range_stats":{"get":{"description":"For Raydium CLMM, Orca Whirlpool and Meteora DLMM: liquidity by price, share of time a range of the given width would have stayed in range over 7 and 30 days, fee yield inside the range, impermanent loss and how many rebalances it would have needed.\n\nCosts 4 credits from a plan's daily credits, or 0.02 USDC per call over x402.","operationId":"clmm_range_stats","parameters":[{"description":"Concentrated liquidity pool","example":"Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE","in":"query","name":"pool","required":true,"schema":{"description":"Concentrated liquidity pool","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}},{"description":"Full range width in percent of the current price","example":10,"in":"query","name":"width_pct","required":false,"schema":{"default":10,"description":"Full range width in percent of the current price","exclusiveMinimum":0,"maximum":100,"type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Which range to hold in a concentrated pool","tags":["tools"],"x-dexra-credits":4,"x-dexra-price-usdc":"0.02"}},"/describe_address":{"get":{"description":"Free. Call first with any Solana address to learn what it is: wallet, program, pool or token, its age, activity and basic stats. Points to the paid tool that answers the next question (wallet_check, pool_health, token_deep_check).\n\nFree.","operationId":"describe_address","parameters":[{"description":"Any Solana address","example":"58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2","in":"query","name":"address","required":true,"schema":{"description":"Any Solana address","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"summary":"Describe a Solana address","tags":["tools"],"x-dexra-credits":null,"x-dexra-price-usdc":null}},"/market_snapshot":{"get":{"description":"Funding, open interest, liquidations and order book depth for a ticker across Binance, Bybit, OKX, Hyperliquid and Drift, price and funding divergence, and the all-in cost of an order of the given size on each venue and on Jupiter with the cheapest venue.\n\nCosts 2 credits from a plan's daily credits, or 0.01 USDC per call over x402.","operationId":"market_snapshot","parameters":[{"description":null,"example":10000,"in":"query","name":"size_usd","required":false,"schema":{"default":10000,"exclusiveMinimum":0,"maximum":5000000,"type":"number"}},{"description":"Ticker such as SOL","example":"SOL","in":"query","name":"symbol","required":true,"schema":{"description":"Ticker such as SOL","pattern":"^[A-Za-z0-9]{1,12}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Perp venues and execution cost in one answer","tags":["tools"],"x-dexra-credits":2,"x-dexra-price-usdc":"0.01"}},"/new_launches":{"get":{"description":"New tokens and pools on Solana (pump.fun, LetsBonk, Raydium LaunchLab, Meteora DBC, PumpSwap, Raydium AMM and CPMM) from the last N minutes with mint and freeze authority, liquidity and lock, creator history and links to past collapses, and the first-buyer funding graph: same-block buyers, wallets funded by the creator or by one shared address, known snipers. Windows over 60 minutes cost more.\n\nCosts 1 credit from a plan's daily credits, or 0.005 USDC per call over x402.","operationId":"new_launches","parameters":[{"description":null,"example":null,"in":"query","name":"include_collapsed","required":false,"schema":{"default":false,"type":"boolean"}},{"description":null,"example":10,"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":20,"minimum":1,"type":"integer"}},{"description":null,"example":1000,"in":"query","name":"min_liquidity_usd","required":false,"schema":{"minimum":0,"type":"number"}},{"description":"Look-back window in minutes","example":15,"in":"query","name":"minutes","required":false,"schema":{"default":15,"description":"Look-back window in minutes","maximum":1440,"minimum":1,"type":"integer"}},{"description":"Comma separated: pump_fun, letsbonk, raydium_launchlab, meteora_dbc, pump_swap, raydium_amm_v4, raydium_cpmm","example":null,"in":"query","name":"platforms","required":false,"schema":{"description":"Comma separated: pump_fun, letsbonk, raydium_launchlab, meteora_dbc, pump_swap, raydium_amm_v4, raydium_cpmm","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Fresh Solana launches, already checked","tags":["tools"],"x-dexra-credits":1,"x-dexra-price-usdc":"0.005"}},"/new_launches/batch":{"post":{"description":"The same checks as new_launches (authorities, liquidity and lock, creator history, first-buyer funding graph) for up to 50 Solana token mints you already know about, in one call.\n\nCosts 3 credits from a plan's daily credits, or 0.015 USDC per call over x402.","operationId":"new_launches_batch","requestBody":{"content":{"application/json":{"example":{"mints":["DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"]},"schema":{"additionalProperties":false,"properties":{"mints":{"items":{"description":"Token mint","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"},"maxItems":50,"minItems":1,"type":"array"}},"required":["mints"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Launch checks for a list of mints","tags":["tools"],"x-dexra-credits":3,"x-dexra-price-usdc":"0.015"}},"/pool_health":{"get":{"description":"For Raydium AMM, CPMM and CLMM, Orca Whirlpool, Meteora DLMM and PumpSwap pools: depth within 2%, slippage for $1k and $10k, 24h liquidity inflow or outflow, LP return versus holding over 7 and 30 days after impermanent loss, bot and sandwich share of volume.\n\nCosts 6 credits from a plan's daily credits, or 0.03 USDC per call over x402.","operationId":"pool_health","parameters":[{"description":"Pool address","example":"Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE","in":"query","name":"pool","required":true,"schema":{"description":"Pool address","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Real pool yield after impermanent loss","tags":["tools"],"x-dexra-credits":6,"x-dexra-price-usdc":"0.03"}},"/score_performance":{"get":{"description":"Free. For every launch risk flag we publish: how often flagged tokens collapsed within 24h versus the base rate across all launches, sample size, test window and daily drift.\n\nFree.","operationId":"score_performance","parameters":[{"description":"Test window in days","example":30,"in":"query","name":"days","required":false,"schema":{"default":30,"description":"Test window in days","maximum":90,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"summary":"Measured accuracy of our flags","tags":["tools"],"x-dexra-credits":null,"x-dexra-price-usdc":null}},"/service_stats":{"get":{"description":"Free. Calls, unique payers, paid volume, uptime and latency of this service over 24h, 7d and 30d. Check before paying.\n\nFree.","operationId":"service_stats","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"summary":"Service reputation","tags":["tools"],"x-dexra-credits":null,"x-dexra-price-usdc":null}},"/swap_preflight":{"get":{"description":"Before a Solana swap: price impact on the best route, sandwich share on the pool from our history, Token-2022 transfer fees and hooks, freeze authority, and a verdict (ok, high slippage risk, high sandwich risk, unknown) with reasons.\n\nCosts 1 credit from a plan's daily credits, or 0.005 USDC per call over x402.","operationId":"swap_preflight","parameters":[{"description":"Amount in quote units for buy, in token units for sell","example":100,"in":"query","name":"amount","required":true,"schema":{"description":"Amount in quote units for buy, in token units for sell","exclusiveMinimum":0,"type":"number"}},{"description":"Token to buy or sell","example":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","in":"query","name":"mint","required":true,"schema":{"description":"Token to buy or sell","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}},{"description":"Quote mint, SOL by default","example":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","in":"query","name":"quote","required":false,"schema":{"description":"Quote mint, SOL by default","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}},{"description":null,"example":"buy","in":"query","name":"side","required":true,"schema":{"enum":["buy","sell"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Is this swap safe to execute now","tags":["tools"],"x-dexra-credits":1,"x-dexra-price-usdc":"0.005"}},"/token_deep_check":{"get":{"description":"Use before buying or holding a Solana token to see who really holds it: which top holders were funded from the same address, real concentration after merging linked wallets, holder and liquidity dynamics from our snapshot history, and blacklist proximity within two transfers, with a verdict. Goes deeper than a single safety score such as RugCheck's.\n\nCosts 6 credits from a plan's daily credits, or 0.03 USDC per call over x402.","operationId":"token_deep_check","parameters":[{"description":"Token mint","example":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","in":"query","name":"mint","required":true,"schema":{"description":"Token mint","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Holder graph and history for a token","tags":["tools"],"x-dexra-credits":6,"x-dexra-price-usdc":"0.03"}},"/token_holders_delta":{"get":{"description":"Use to see whether insiders are leaving a Solana token: top holder changes over 1h and 24h from our snapshots, new and exited holders, concentration shift and large holders selling.\n\nCosts 6 credits from a plan's daily credits, or 0.03 USDC per call over x402.","operationId":"token_holders_delta","parameters":[{"description":"Token mint","example":"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263","in":"query","name":"mint","required":true,"schema":{"description":"Token mint","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Who entered and left the top holders","tags":["tools"],"x-dexra-credits":6,"x-dexra-price-usdc":"0.03"}},"/wallet_check":{"get":{"description":"One verdict with reasons for a Solana address: known exchange or not, age, activity, bot or human, PnL on fresh launches, exchange funding, OFAC and hack links up to two hops.\n\nCosts 6 credits from a plan's daily credits, or 0.03 USDC per call over x402.","operationId":"wallet_check","parameters":[{"description":"Wallet address","example":"6TAiFrQJKGFysH26Gjg8U8t8XGf54koF3PWuHcvCbrbE","in":"query","name":"address","required":true,"schema":{"description":"Wallet address","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"result":{"additionalProperties":true,"description":"Every result has summary, generated_at and the sources it used; most have a verdict.","properties":{"generated_at":{"type":"integer"},"summary":{"type":"string"},"verdict":{"type":"string"}},"type":"object"}},"required":["result"],"type":"object"}}},"description":"The answer","headers":{"X-Dexra-Calls-Remaining":{"description":"Credits left today","schema":{"type":"integer"}},"X-Dexra-Plan":{"description":"The plan that covered the call, or free","schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A parameter is missing or wrong; no credits are used"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The key is invalid or revoked"},"402":{"description":"Payment required: the x402 requirements are in the Payment-Required header (base64 JSON). X-Dexra-Subscription says why the account did not cover the call.","headers":{"Payment-Required":{"schema":{"type":"string"}},"X-Dexra-Subscription":{"schema":{"enum":["quota_exceeded","plan_required","email_unconfirmed","inactive"],"type":"string"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Too many requests a second; wait for Retry-After"},"502":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"A data source did not answer; retry later"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The analysis is still running; retry after Retry-After"}},"security":[{"apiKey":[]},{}],"summary":"Should I deal with this address","tags":["tools"],"x-dexra-credits":6,"x-dexra-price-usdc":"0.03"}}},"servers":[{"url":"https://api.dexra.dev"}],"tags":[{"description":"Every tool, as on MCP","name":"tools"},{"description":"What an agent can read and set up with its key","name":"account"}]}