GALAXSI · Crypto Danger Radar / API
GALAXSI · PUBLIC API

Free crypto risk data.
No key. No signup.

The same data that powers the GALAXSI radar, served as plain JSON with CORS wide open. Official exchange delisting announcements, stablecoin peg drift, funding extremes and open-interest cliffs — refreshed roughly every 30 minutes.

NO API KEY CORS: * ~30 MIN REFRESH FREE
Use it in your own project. Build a bot, a dashboard, a browser extension, a trading guard — no permission needed, no attribution required (though a link back is appreciated). If you ship something with it, tell us on X and we'll share it.

Endpoints

GEThttps://vekilo.app/data/haber_radar.json

The main radar. Everything the front page shows.

FieldTypeMeaning
updatednumberUnix seconds of the last sweep.
delistarrayActive official delisting announcements (last 30 days).
depegarrayStablecoin peg readings.
funding_ucarrayPerpetuals with extreme funding rates.
oi_cliffarraySudden open-interest collapses.
fear_greedobject{value, cls} — market sentiment index.
kaynak_hataarraySources that could not be reached this sweep. Read this — if an exchange is listed here, its status is UNKNOWN, not "clean".
// live sample
{
  "updated": 1787478300,
  "delist": [
    {
      "sym":    "ICX",
      "borsa":  "KuCoin",      // exchange
      "title":  "KuCoin Futures Will Delist ICXUSDT…",
      "ts":     1787478300000,  // ms
      "tarih":  "23.08"        // dd.mm
    }
  ],
  "depeg": [
    { "sym": "USDC", "fiyat": 0.99979,
      "sapma_pct": -0.021,   // drift % from $1
      "alarm": false }       // true = hard depeg
  ],
  "funding_uc": [ { "sym": "KR200", "rate_pct": 0.5 } ],
  "oi_cliff":   [],
  "fear_greed": { "value": 73, "cls": "Greed" },
  "kaynak_hata": [ "Bybit" ]
}
GEThttps://vekilo.app/data/duyurular.json

Human-readable announcement feed — each delisting and alarm written out as a short message. Handy if you want to relay alerts without formatting them yourself.

{
  "updated": 1787478300,
  "items": [
    {
      "id":     "delist-KuCoin-ICX",  // stable — dedupe on this
      "ts":     1787478300,
      "type":   "delist",
      "emoji":  "⛔",
      "baslik": "KuCoin, ICX coinini delist ediyor",
      "metin":  "…",
      "etiket": "KRİTİK"
    }
  ]
}

Text fields are Turkish. id is stable across sweeps — use it to avoid posting the same alert twice.

GEThttps://vekilo.app/data/arkeoloji.json

Leak archaeology — the part no free tool offers. For each delisting, it measures the 48 hours before the announcement: if price fell hard on abnormal volume, someone likely knew early.

{
  "sizinti": [
    { "sym": "ICX", "tarih": "20.08",
      "pre48_ret_pct": -11.8,  // 48h return before news
      "hacim_orani":   2.93,   // volume vs normal
      "supheli":      true }  // statistically odd
  ],
  "github": [
    { "sym": "STORJ", "repo": "storj/storj",
      "son_push": "2026-08-19",
      "ay_once": 0, "olu": false }  // olu = abandoned
  ]
}

Read carefully: supheli: true means the price/volume pattern is statistically unusual. It is not an accusation of insider trading against any person or exchange, and must not be presented as one.

GEThttps://vekilo.app/data/oi_snapshot.json

Raw open-interest readings per symbol, used to compute the OI cliff.

{ "ICX": { "oi": 1234567, "ts": 1787478300 } }
GEThttps://vekilo.app/coin/<coingecko-id>/

Human-readable risk report page for any of 1,200+ coins. Not JSON — but stable, linkable and safe to embed in a chat reply.

// examples
https://vekilo.app/coin/bitcoin/
https://vekilo.app/coin/pepe/
https://vekilo.app/coin/shiba-inu/

Quick start

JavaScript — show today's delist flags

const r = await fetch('https://vekilo.app/data/haber_radar.json');
const d = await r.json();

// how stale is this data?
const mins = Math.round((Date.now() - d.updated * 1000) / 60000);
console.log(`radar swept ${mins} min ago`);

// a source that failed means UNKNOWN, not safe
if (d.kaynak_hata?.length)
  console.warn('unreachable:', d.kaynak_hata.join(', '));

for (const x of d.delist)
  console.log(`${x.sym} — ${x.borsa} (${x.tarih})`);

Python — alert on a real depeg

import requests

d = requests.get("https://vekilo.app/data/haber_radar.json").json()

for s in d["depeg"]:
    if s["alarm"]:
        print(f"HARD DEPEG {s['sym']} @ {s['fiyat']}")
    elif abs(s["sapma_pct"]) > 0.1:
        # the early tremor most dashboards round away
        print(f"drift {s['sym']} {s['sapma_pct']}%")

Shell — is my coin flagged?

curl -s https://vekilo.app/data/haber_radar.json \
  | jq -r '.delist[] | "\(.sym) — \(.borsa) \(.tarih)"'

Rules & limits

  • No rate limit is enforced, but the data only changes every ~30 minutes — polling faster than that just wastes both our bandwidth. Cache for 5–10 minutes.
  • Field names are Turkish in places (borsa = exchange, fiyat = price, sapma_pct = deviation %, tarih = date, kaynak_hata = source error, sizinti = leak, olu = dead). They will not be renamed — renaming would break every existing integration.
  • Always surface kaynak_hata. If an exchange failed to respond, the honest answer is "unknown", not "no flags". Please don't render silence as safety.
  • "No flag" is not "safe." It means none of the scanned traps are currently active. If you build a UI on this, say so — it is the single most important thing about this data.
  • Never present this as investment advice, a price forecast, or a buy/sell recommendation. It is risk intelligence, nothing more.
  • Best-effort availability. It's a free service on free infrastructure — no uptime guarantee.

Telegram bot

Prefer not to write code? The same data answers in Telegram: send a coin symbol and get its risk card back.

// commands
/delist   — active delist flags
/alarm    — depeg, funding, market state
PEPE      — just send a symbol for a risk report

Open the bot on Telegram →