{"openapi":"3.1.0","info":{"title":"Dexter x402 data API (GVDT / Gavedu)","version":"1.0.0","description":"Deterministic on-chain data (plus optional model output), paid per call via x402 (USDC on Base, eip155:8453). No signup, no API key. Pay-to: 0x01B34D04B658990fd1F22cC4DddEabA10349B1C4. Lead endpoints are reproducible: every field GET /rugcheck/{addr} and GET /whales return is derived from public Base state, so a buyer can independently re-derive the answer and check us.","x-guidance":"All paid endpoints are simple GETs — no request body. Pay per call via x402 (USDC on Base, eip155:8453); server replies 402 with payment requirements, retry with X-PAYMENT header. Start here: GET /rugcheck/{addr} for a deterministic PASS/WARN/FAIL Base token safety verdict (bytecode selector scan + ownership + activity, no LLM, fully reproducible from chain state), and GET /whales for the smart-money wallet shortlist on Base with evidence tokens attached. Then GET /token/{addr} for Base ERC-20 snapshots, GET /candles for cheap OHLCV + indicators, GET /regime for the ETH regime label. GET /signal-pack is the premium bundle: five deterministic ETH indicators (regime, RSI14 + 3-bar delta, EMA10/30 gap + slope, 24h-vs-30d volatility flag, 0-4 regime-agreement count) in ONE call, so an hourly trading loop needs one purchase instead of five. GET /signal returns a rule-based GO/NO-GO gate state with all its inputs — gate state only, no performance claim. GET /lanes returns raw close COUNTS from our own recorded tape; it is NOT a track record and no return is claimed or implied. GET /forecast?product=BTC-USD&pred_len=24 is Kronos model output with no accuracy implied (product optional, defaults BTC-USD; also ETH-USD and 5 NSE large-caps). Free /demo/{op} shows every paid response shape before you pay. Cold /forecast inference can take ~60s; results cached 900s.","contact":{"email":"jani2gopal@gmail.com"}},"servers":[{"url":"https://dev.gavedu.com/x402"}],"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"X-PAYMENT","description":"x402 protocol: server replies 402 with payment requirements; client signs gasless USDC TransferWithAuthorization on Base (eip155:8453) and retries with X-PAYMENT."}}},"paths":{"/":{"get":{"operationId":"rootCatalog","summary":"API catalog pointer (free)","security":[],"responses":{"200":{"description":"JSON pointer to spec + catalog"}}}},"/health":{"get":{"operationId":"health","summary":"Liveness (free)","security":[],"responses":{"200":{"description":"ok"}}}},"/gvdt":{"get":{"summary":"GVDT ecosystem facts + endpoint catalog (free)","security":[],"responses":{"200":{"description":"JSON catalog"}}}},"/llms.txt":{"get":{"summary":"Plain-text catalog for agents (free)","security":[],"responses":{"200":{"description":"text/plain catalog"}}}},"/openapi.json":{"get":{"summary":"This spec (free)","security":[],"responses":{"200":{"description":"OpenAPI 3 document"}}}},"/demo/{op}":{"get":{"operationId":"demoSample","summary":"Fixed sample of any paid response shape (free)","security":[],"parameters":[{"name":"op","in":"path","required":true,"schema":{"type":"string","enum":["rugcheck","whales","candles","signal","signal-pack","regime","token","lanes","forecast"]}}],"responses":{"200":{"description":"Fixed demo JSON"}}}},"/.well-known/x402":{"get":{"operationId":"x402Sitemap","summary":"Payment-aware resource sitemap (free)","security":[],"responses":{"200":{"description":"JSON list of paid resources + prices"}}}},"/metrics":{"get":{"operationId":"demandMetrics","summary":"Settled paid-call counts per endpoint (free)","security":[],"responses":{"200":{"description":"JSON counters: paid, challenges, totals, conversion"}}}},"/.well-known/x402.json":{"get":{"operationId":"x402SitemapJson","summary":"Payment-aware resource sitemap, .json alias (free)","security":[],"responses":{"200":{"description":"JSON list of paid resources + prices"}}}},"/candles":{"get":{"operationId":"candlesBundle","summary":"Crypto OHLCV candles + EMA/RSI/regime indicators — $0.02/call","description":"BTC-USD / ETH-USD Coinbase candles with pre-computed EMA10/EMA30, RSI14 and trend/range/chop regime label. One call replaces market-data fetch + indicator math for a trading agent.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["BTC-USD","ETH-USD"],"default":"ETH-USD"}},{"name":"granularity","in":"query","required":false,"schema":{"type":"integer","enum":[300,900,3600,21600,86400],"default":3600},"description":"Candle length in seconds"}],"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["product","candles"],"properties":{"product":{"type":"string"},"granularity":{"type":"integer"},"count":{"type":"integer"},"candles":{"type":"array","items":{"type":"object","properties":{"t":{"type":"integer"},"open":{"type":"number"},"high":{"type":"number"},"low":{"type":"number"},"close":{"type":"number"},"volume":{"type":"number"}}}},"indicators":{"type":"object","properties":{"regime":{"type":"string"},"rsi":{"type":"number"},"ema10":{"type":"number"},"ema30":{"type":"number"}}},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.02 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/rugcheck/{addr}":{"get":{"operationId":"rugCheck","summary":"Base token rug check / safety heuristics — $0.10/call","description":"Token safety report: PASS/WARN/FAIL verdict from bytecode selector scan (mint, blacklist, pause, fee setters, upgradeable proxy), owner()/renounce status and recent transfer activity. Deterministic honeypot-risk heuristics, no LLM, no simulation.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"addr","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"ERC-20 contract address on Base","example":"0x231fABEf034df3465cDA908a1cab9F942e46cB07"}],"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["token","verdict"],"properties":{"token":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"verdict":{"type":"string","enum":["PASS","WARN","FAIL"]},"flags":{"type":"array","items":{"type":"string"}},"checks":{"type":"object"},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.10 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/whales":{"get":{"operationId":"whaleShortlist","summary":"Smart-money whale wallet shortlist (Base) — $0.15/call","description":"Top smart-money wallets on Base ranked by deterministic on-chain behavior: early entries and exits before collapse across recent tokens. Score, early rate, dodge rate, evidence tokens per wallet.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.150000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["wallets"],"properties":{"asOf":{"type":"string"},"tokensScanned":{"type":"integer"},"wallets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"score":{"type":"number"},"smartEntries":{"type":"integer"},"tokensCrossed":{"type":"integer"},"earlyRate":{"type":"number"},"dodgeRate":{"type":"number"},"evidenceTokens":{"type":"array","items":{"type":"string"}}}}}}}}}},"402":{"description":"x402 payment challenge — $0.15 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/signal":{"get":{"operationId":"tradeSignal","summary":"Rule-based ETH GO/NO-GO gate state — $0.20/call","description":"Regime classifier + Kronos 24h expected return + RSI ceiling fused by one fixed, published rule. Returns the gate state plus every input that produced it, so the buyer can re-derive it. Provenance is close COUNTS only. No performance, profitability or return is claimed or implied.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.200000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["ETH-USD"],"default":"ETH-USD"}}],"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["gate"],"properties":{"product":{"type":"string"},"gate":{"type":"string","enum":["GO","NO-GO"]},"regime":{"type":"string"},"expectedReturnPct":{"type":["number","null"]},"rsi":{"type":"number"},"emaGapPct":{"type":"number"},"provenance":{"type":["object","null"]},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.20 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/signal-pack":{"get":{"operationId":"signalPack","summary":"Five deterministic ETH indicators in one call — $0.50/call","description":"Five deterministic ETH indicators in ONE call: regime label (TREND-UP/TREND-DOWN/RANGE/CHOP), RSI14 with its 3-bar delta, EMA10/30 gap + slope, a realized-volatility flag (24h vs 30-day median: HIGH/NORMAL/LOW), and a 0-4 integer count of how many components agree with the regime call. Computed from 720 Coinbase hourly ETH closes. No model, no prediction, no buy/sell recommendation.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.500000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["regime","rsi","emaGap","volatility","confidence"],"properties":{"product":{"type":"string"},"close":{"type":"number"},"components":{"type":"integer"},"regime":{"type":"string","enum":["TREND-UP","TREND-DOWN","RANGE","CHOP"]},"rsi":{"type":"object","properties":{"value":{"type":"number"},"delta3":{"type":"number"},"period":{"type":"integer"}}},"emaGap":{"type":"object","properties":{"pct":{"type":"number"},"slopePct":{"type":"number"},"ema10":{"type":"number"},"ema30":{"type":"number"}}},"volatility":{"type":"object","properties":{"flag":{"type":"string","enum":["HIGH","NORMAL","LOW","UNKNOWN"]},"realized24hPct":{"type":["number","null"]},"baselineMedianPct":{"type":["number","null"]},"ratio":{"type":["number","null"]},"baselineWindowHours":{"type":"integer"}}},"confidence":{"type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":4},"max":{"type":"integer"},"agree":{"type":"array","items":{"type":"string"}},"disagree":{"type":"array","items":{"type":"string"}}}},"inputs":{"type":"object"},"asOf":{"type":"string"},"disclaimer":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.50 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/token/{addr}":{"get":{"operationId":"tokenSnapshot","summary":"Base ERC-20 on-chain snapshot — $0.05/call","description":"Deterministic token metadata + recent transfer activity read straight from Base. No LLM.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"addr","in":"path","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"ERC-20 contract address on Base","example":"0x231fABEf034df3465cDA908a1cab9F942e46cB07"}],"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"object","properties":{"address":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"totalSupply":{"type":"string"}}},"transfers":{"type":"object","properties":{"windowBlocks":{"type":"integer"},"count":{"type":"integer"},"uniqueSenders":{"type":"integer"},"uniqueReceivers":{"type":"integer"}}}}}}}},"402":{"description":"x402 payment challenge — $0.05 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/regime":{"get":{"operationId":"ethRegime","summary":"ETH market regime signal — $0.05/call","description":"TREND-UP/TREND-DOWN/RANGE/CHOP from EMA10/30 gap+slope+RSI over Coinbase hourly closes.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["regime"],"properties":{"regime":{"type":"string","enum":["TREND-UP","TREND-DOWN","RANGE","CHOP"]},"price":{"type":"number"},"ema10":{"type":"number"},"ema30":{"type":"number"},"rsi14":{"type":"number"},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.05 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/lanes":{"get":{"operationId":"laneAnalytics","summary":"Raw close counts from our recorded trade tape — $0.05/call","description":"Per-lane close COUNTS and last-close timestamps from our own recorded trade tape. Descriptive tape data only — this is NOT a track record, contains no win rate or P&L, and claims or implies no return.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.050000"},"protocols":[{"x402":{}}]},"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["lanes"],"properties":{"lanes":{"type":"object","additionalProperties":{"type":"object","properties":{"closes":{"type":"integer"},"lastClose":{"type":["string","null"]}}}},"totalCloses":{"type":"integer"},"chain":{"type":"string"},"disclaimer":{"type":"string"},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.05 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}},"/forecast":{"get":{"operationId":"kronosForecast","summary":"Kronos-small hourly close-price forecast — $0.25/call","description":"Kronos-small (24.7M-param K-line foundation model, AAAI 2026) OHLCV forecast: next N hourly closes plus expected return % for BTC-USD, ETH-USD, or 5 NSE large-caps (RELIANCE.NS, HDFCBANK.NS, INFY.NS, TCS.NS, ICICIBANK.NS). Params: product (whitelisted), pred_len 1-48, default 24. 900s server-side cache; cold inference can take up to ~60s. Model output, not financial advice.","security":[{"x402":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"product","in":"query","required":false,"schema":{"type":"string","enum":["BTC-USD","ETH-USD","RELIANCE.NS","HDFCBANK.NS","INFY.NS","TCS.NS","ICICIBANK.NS"],"default":"BTC-USD"},"description":"Whitelisted product (defaults to BTC-USD)."},{"name":"pred_len","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":48,"default":24},"description":"Hourly steps to forecast (clamped 1-48)."}],"responses":{"200":{"description":"Paid response","content":{"application/json":{"schema":{"type":"object","required":["product","closes"],"properties":{"product":{"type":"string"},"lastClose":{"type":"number"},"closes":{"type":"array","items":{"type":"number"}},"expectedReturnPct":{"type":"number"},"predLen":{"type":"integer"},"cached":{"type":"boolean"},"asOf":{"type":"string"}}}}}},"402":{"description":"x402 payment challenge — $0.25 USDC on Base (eip155:8453) per call, gasless TransferWithAuthorization via facilitator. Retry with X-PAYMENT header to receive data."}}}}}}