Naar de inhoud
polysignals.net

Ontwikkelaars

API

Elk getal op deze site komt uit een handvol JSON-bestanden, via HTTPS en met open CORS. Cache aan jouw kant en vraag niet vaker op dan de data verandert. AI-assistenten kunnen in plaats daarvan de MCP-server gebruiken.

geen sleutel, geen account
Gratis
verzoeken per IP, API en MCP samen
50 / 10 s
geen beschikbaarheidsgarantie of serviceniveau
Naar beste vermogen
bronnen, gecombineerd signaal, betrouwbaarheidsscore
Versie 2
Op deze pagina
  1. Endpoints
  2. Voorbeeld
  3. Limieten
  4. Velden van de gecombineerde meting
  5. Velden van een bronmeting
  6. Per munt
  7. Geschiedenisbestand
  8. Velden van de resultaten
  9. Resultatenbestand per munt

Endpoints

GET /api/v1/signals.json
Alles: gecombineerde metingen en metingen per bron voor elke munt × elk tijdvenster. Bij elke tick geschreven (tick_seconds). Cache 10 s.
GET /api/v1/combined.json
Alleen de gecombineerde metingen. Eens per minuut geschreven. Cache 30 s.
GET /api/v1/venues/{venue}.json
De metingen van één bron. Bronnen: polymarket, kalshi, limitless, gemini, binance_options, deribit_options, bybit_options, okx_options. Eens per minuut geschreven. Cache 30 s.
GET /api/v1/history/{coin}.json
De laatste 48 uur: gecombineerd per minuut en per bron per 5 minuten. Elke munt die een bron dekt in meta.json (nu minstens BTC, ETH, SOL, XRP, DOGE, HYPE, BNB, ZEC, NEAR); een munt met alleen een regimesignaal heeft er geen. Elke 5 min opnieuw opgebouwd.
GET /api/v1/results.json
Live backtest: per munt en strategie wat het volgen van de signalen op Coinbase USD heeft opgeleverd, naast kopen en vasthouden (netto en bruto rendement, fills, transacties, winstkans, daling, open positie). Eens per minuut geschreven. Cache 1 min.
GET /api/v1/results/{coin}.json
De backtest van één munt met de laatste 100 fills per strategie en de vermogenscurve (elke 15 min over 48 uur, per uur tot 30 dagen, daarna per dag). Elke 5 min geschreven. Cache 5 min.
GET /api/v1/meta.json
Munten die bij de bronnen gevonden zijn, tijdvensters (5m, 15m, 1h, 4h, 1d), bronnen met live dekking, drempels en de versie van de methode.
GET /api/v1/markets.json
Elke markt op de beurzen van Cryptohopper die de dagtrendsignalen ontvangt: per beurs de naam, het aantal markten en de markten van elke munt. Ongeveer dagelijks bijgewerkt. Cache 10 min.
GET /api/v1/deliveries.json
De recente dagtrendsignalen van de signaler, nieuwste eerst: de munt, koop of verkoop, en hoeveel markten elk signaal aannamen, weigerden of lieten verlopen, en zolang een besluit nog wordt verstuurd, hoeveel het nog moet bereiken (queued); totals telt elk signaal sinds de signaler live ging. Na elke verzending herschreven. Cache 1 min.
GET /api/v1/trend-history.json
Het dagtrendsignaal van elke munt over de laatste 90 slotkoersen, één letter per dag (L long, F flat, - geen slotkoers) naast de lijst met datums; herschreven na elk besluit om 00:05 UTC. De pagina Trendwisselingen tekent het.
GET /api/v1/live/index.md
Het totaalsignaal en dagtrendsignaal van elke munt als markdown, voor AI-assistenten en tools die geen JavaScript draaien. Cache 30 s.
GET /api/v1/live/{coin}.md
Eén munt als markdown: elk venster, elke bron, het dagtrendsignaal, de Cryptohopper-markten die de signalen krijgen en het laatst afgeleverde signaal, de backtest en het nieuwste nieuws dat de munt noemt. Een ticker in kleine letters wordt doorgestuurd. Cache 30 s.
GET /api/v1/live/trend.md
De dagtrend-wisselingen als markdown: welke munten long werden (een koopsignaal naar Cryptohopper) of flat (een verkoop) bij elk besluit om 00:05 UTC, en het laatste besluit, ook als het geen signaal wijzigde. Cache 5 min.
GET /api/v1/live/trend.xml
Dezelfde wisselingen als Atom-feed, één item per besluit. Cache 5 min.
GET /api/v1/live/trend/{coin}.xml
De trendwisselingen van één munt als Atom-feed. Cache 5 min.
GET /api/v1/live/markets.md
Elke markt die de dagtrendsignalen krijgt als markdown: de beurzen met hun aantallen, daarna per beurs de markten van elke munt. Cache 1 uur.
GET /api/v1/live/markets/{exchange}.md
De markten van één beurs per munt als markdown, op de Cryptohopper-sleutel van de beurs (binance, kraken2, crypto enzovoort, zoals in markets.json). Elke beurspagina linkt naar de eigen versie. Cache 1 uur.
GET /api/v1/live/news.json
Het laatste cryptonieuws van CoinArticle, met de gevolgde munten die elk bericht noemt. Cache 5 min.
GET /api/v1/openapi.json
OpenAPI 3.1-beschrijving van al het bovenstaande.
POST /api/mcp
De MCP-server (Streamable HTTP, alleen-lezen, zonder sleutel) voor Claude, ChatGPT, Cursor en andere AI-assistenten; installatie op de MCP-pagina.

Voorbeeld

curl -s https://polysignals.net/api/v1/combined.json | jq '.coins.BTC.overall'

curl -s https://polysignals.net/api/v1/signals.json | jq '.coins.ETH.timeframes["1h"].combined.current.confidence'

curl -s https://polysignals.net/api/v1/venues/kalshi.json | jq '.coins.SOL["15m"].current.prob_up'

signals.json, ingekort tot één munt, één tijdvenster en één bron:

{
  "version": 2,
  "generated_at": "2026-09-30T20:26:05Z",
  "tick_seconds": 30,
  "venues": ["polymarket", "kalshi", "limitless", "gemini", "binance_options", "deribit_options", "bybit_options", "okx_options"],
  "coins": {
    "BTC": {
      "spot_usd": 83616.4,
      "overall": { "score": 9, "direction": "neutral", "confidence": 71 },
      "timeframes": {
        "1h": {
          "combined": {
            "current": {
              "prob_up": 0.511,
              "score": 2,
              "direction": "neutral",
              "late_window": false,
              "window_start": "2026-09-30T20:00:00Z",
              "window_end": "2026-09-30T21:00:00Z",
              "sources": ["polymarket", "kalshi", "limitless"],
              "merged_options": [],
              "divergence": 0.02,
              "raw_divergence": 0.05,
              "confidence": { "score": 88, "label": "high", "depth": 0.974, "agreement": 0.9, "timing": 1, "sources": 3, "independent_sources": 3, "qualifying_sources": 2, "divergence": 0.02 }
            },
            "next": null
          },
          "venues": {
            "kalshi": {
              "current": {
                "venue": "kalshi", "coin": "BTC", "timeframe": "1h",
                "window_start": "2026-09-30T20:00:00Z", "window_end": "2026-09-30T21:00:00Z",
                "prob_up": 0.51, "score": 2, "direction": "neutral",
                "spread": 0.01, "volume_usd": 333616, "liquidity_usd": null, "depth_usd": 12574,
                "derived": true, "stale": false, "late_window": false,
                "market_url": "https://kalshi.com/markets/kxbtcd/KXBTCD-26SEP3017",
                "confidence": { "score": 72, "label": "high", "quality": 0.72, "timing": 1 }
              },
              "next": null
            }
          }
        }
      }
    }
  }
}

Limieten

Tot 50 verzoeken per 10 seconden per IP over heel /api/ (de JSON, de live markdown en de MCP-server samen); daarboven antwoordt de API 10 seconden lang met 429. De JSON-bestanden worden aan de rand gecachet zolang hun Cache-Control zegt en querystrings worden genegeerd, dus vaker opvragen dan de cachetijden hierboven geeft hetzelfde bestand. Lees de geschiedenis van een munt eens per 5 minuten, niet bij elke tick.

Velden van de gecombineerde meting

prob_up
Naar kwaliteit gewogen gemiddelde van de Up-kansen van de bronnen (0 tot 1). null als geen bron in aanmerking komt.
score
(prob_up - 0,5) × 200, afgerond. -100 tot +100. Vooral een uitlezing van de beweging sinds het venster opende, geen voorspelling (zie de methode).
direction
strong_up · up · neutral · down · strong_down.
late_window
true als er minder dan 20% van het venster over is.
window_start / window_end
ISO-8601 UTC.
reference_price / reference_source / move_since_open / time_left
De prijs van het venster bij de opening en de bron daarvan (venue, collector_spot of candle), de prijs nu ÷ die prijs - 1, en het deel van het venster dat nog over is. De referentie is null voor het volgende venster en voor een venster dat opende voordat er een referentie was opgeslagen.
sources
Ids van de bronnen die in deze meting zijn verwerkt (kwaliteit > 0, of elke geprijsde bron in de gelijk gewogen terugvaloptie); een samengevoegde optiemeting noemt elke optiebron erin.
merged_options
Optiebronnen die vóór het mengen tot één meting zijn samengevoegd: hun mediane prob_up, geteld als één bron. Een optiebron die meer dan 0,30 van de mediaan van de andere afwijkt, valt weg en krijgt de vlag outlier. Leeg als er niets is samengevoegd.
divergence
max - min prob_up onder de bronnen die in aanmerking komen (kwaliteit ≥ 0,2); null als dat er minder dan twee zijn.
raw_divergence
max - min prob_up over elke geprijsde bron, ongeacht kwaliteit; null als er minder dan twee geprijsd zijn.
confidence
{ score, label, depth, agreement, timing, sources, independent_sources, qualifying_sources, divergence }; score = round(100 × depth × agreement × timing). depth loopt over de onafhankelijke bronnen (de optiebronnen samengevoegd tot één). agreement = clamp(1 - divergence / 0,20, 0, 1) bij twee of meer bronnen die in aanmerking komen, anders 0,7.

Velden van een bronmeting

prob_up / score / direction
Zoals hierboven, voor alleen deze bron.
spread
Beste ask - beste bid van het Up-aandeel. null voor AMM-bronnen.
volume_usd
Het volume zoals de site van de bron het meldt, bij elke tick ververst (Kalshi telt contracten die elk $1 uitbetalen).
depth_usd
Openstaande orders binnen 0,05 van het midden, aan beide kanten, in USD, uit data die de bron al teruggeeft: het volledige orderboek bij Polymarket, de top van het boek bij Kalshi; null voor Limitless, Gemini en de optiebronnen.
liquidity_usd
Poolliquiditeit voor AMM-bronnen, anders null.
derived
true als de meting geïnterpoleerd is uit een ladder van strikes (Kalshi per uur, alle optiemetingen).
stale
true als de koers niet ververst kon worden en de vorige waarde getoond wordt (kwaliteit 0).
market_url
De markt op de site van de bron.
bid / ask / options
De beste bid en ask van het Up-aandeel waar de bron het venster rechtstreeks noteert (null voor ladders en opties). Optiebronnen voegen options toe: { p_at_spot, atm_iv, rr25, forward_usd, basis, method }, elk null als de bron er geen invoer voor geeft; method zegt of prob_up en p_at_spot uit de impliciete volatiliteit (iv) of uit de prijsverschillen van calls (curve) komen.
flags
Alleen aanwezig op een meting die gepubliceerd maar nooit gemengd wordt: outlier (een optiebron die meer dan 0,30 afwijkt van de mediaan van de andere optiebronnen in hetzelfde venster) of degenerate_curve (de impliciete kansen van de optieladder beslaan minder dan 0,50, dus prob_up is null).
confidence
{ score, label, quality, timing }; score = round(100 × quality × timing).

Per munt

overall is het naar zekerheid gewogen gemiddelde van de gecombineerde huidige scores van de tijdvensters 1h, 4h en 1d, met een eigen confidence; venue_overall.{venue} is hetzelfde, berekend uit de metingen van één bron (ook teruggegeven als overall in venues/{venue}.json); spot_usd is een spotprijs van Coinbase, alleen om te tonen.

regime (alleen in signals.json) is het signaal van de dagelijkse regimestrategie, eens per dag om 00:05 UTC besloten op de slotkoers van Coinbase van de dag die net voorbij is, zonder data van de bronnen: { as_of, call, close, sma50, sigma20, upper, lower, distance_sigmas, days_in_state, next_decision_at, intraday }. call wordt long zodra de slotkoers boven upper = sma50 × (1 + sigma20) ligt en flat zodra hij onder lower = sma50 × (1 - sigma20) ligt. null voor een munt met minder dan 200 dagelijkse slotkoersen of zonder de slotkoers van die dag. intraday: { call, as_of } is de papieren variant per vier uur (strategie regime_4h, niet doorgestuurd): de live prijs op Coinbase Exchange tegen dezelfde band op elke grens van 4 uur UTC, beginnend bij het dagelijkse signaal; null vóór de eerste controle. De regel staat in de methode.

Als geen bron de kwaliteitsdrempel haalt (meestal een dun venster zonder gemeld volume), wordt de gecombineerde meting toch gevuld uit de beschikbare prijzen, gelijk gewogen, met confidence.score 0, zodat elk geprijsd venster een richting toont en de zekerheid zegt hoeveel je die kunt vertrouwen.

Geschiedenisbestand

{ coin, generated_at, resolution: { combined: "1m", venues: "5m" }, range_hours: 48, timeframes: { "1h": { combined: [{ t, prob_up, score, confidence }], venues: { kalshi: [ … ] } } } }. Minuten zonder bruikbare meting ontbreken gewoon.

Velden van de resultaten

results.json bevat per munt en strategie (5m, 15m, 1h, 4h, 1d, overall, regime, regime_4h) wat het volgen van de signalen op de Coinbase USD-markt van de munt heeft opgeleverd, alleen long. Een signaal dat in een minuut gelezen wordt, wordt 1 minuut later uitgevoerd tegen de beste ask (kopen) of bid (verkopen) op Coinbase Exchange; het vermogen wordt gewaardeerd tegen de laatste handelsprijs. Overal fracties. Dit is resultatenversie 2: die begon de simulatie opnieuw en de eerdere cijfers zijn vervallen. meta.json thresholds.results bevat fee, fillDelayMin en altFee (0.001), de lagere kosten waartegen de resultatenpagina dezelfde fills ook toont: (1 + gross_return) × (1 - altFee)^fills - 1.

return
Vermogen nu ÷ startkapitaal - 1, na 0.006 kosten per fill. buy_hold.return: gekocht tegen de ask van started_at met één keer kosten en vastgehouden.
gross_return
Dezelfde fills zonder kosten: vermogen ÷ startkapitaal - 1 vóór kosten (de bid/ask-spread is wel betaald).
fills
Fills tot nu toe, aankopen plus verkopen; elke fill betaalde kosten.
trades
Afgeronde transacties (een aankoop gevolgd door een verkoop). win_rate en avg_trade gaan daarover; null zonder transactie.
max_drawdown
De grootste daling van het vermogen van top tot dal.
time_in_market
Het deel van de geprijsde minuten waarin de munt werd aangehouden.
fees_paid
Tot nu toe betaalde kosten, in eenheden van het startkapitaal.
position / since / entry_price
De open positie: coin sinds since tegen entry_price, of usd.
call
Het signaal dat de strategie nu aanhoudt (buy, sell of hold).
results_version
De regels van de simulatie ("2"); als ze veranderen, begint de simulatie opnieuw.
methodology_version
De methode waarmee de signalen gelezen worden ("5").

Resultatenbestand per munt

results/{coin}.json is het blok van de munt uit results.json plus trades (per strategie de laatste 100 fills, oudste eerst: { side, t, price, equity, return? }, met als prijs de ask bij een aankoop en de bid bij een verkoop) en curve, waarvan de columns t, spot, 5m, 15m, 1h, 4h, 1d, overall, regime, regime_4h, buy_hold, 5m_gross, 15m_gross, 1h_gross, 4h_gross, 1d_gross, overall_gross, regime_gross, regime_4h_gross zijn: het netto vermogen per strategie, kopen en vasthouden, en dan het bruto vermogen (zonder kosten) van elke strategie. Rijen komen elke 15 minuten over de laatste 48 uur, per uur tot 30 dagen, daarna per dag.

Geen financieel advies. Niet verbonden aan Polymarket, Kalshi, Limitless, Gemini, Binance, Deribit, Bybit of OKX. De feed kan zonder aankondiging veranderen of stoppen. Gebruik valt onder de voorwaarden.