Changelog
Elke wijziging aan de Data API en zijn contract, nieuwste eerst. Versienummers volgen het versionerings- en uitfaseringsbeleid.
/mcp accepteert de MCP-key nu ook als X-API-Key: YOUR_API_KEY-header, voor clients en gateways die, zoals Smithery, de Authorization-header voor hun eigen login reserveren. Authorization: Bearer werkt nog altijd en blijft de gedocumenteerde standaard; als beide headers worden meegestuurd, wordt de key uit X-API-Key gecontroleerd. De Data API op /api/v1 accepteert nog steeds alleen Bearer-keys. Mislukte authenticatiepogingen worden nu zowel per key als per IP begrensd, zodat de ongeldige key van één client andere clients achter hetzelfde IP-adres niet langer buitensluit.
GET /calculators/compound-interest rondde de looptijd af op hele renteperiodes, waardoor een looptijd die halverwege een periode eindigde te lang of te kort werd gesimuleerd: 6 maanden met annually-rentebijschrijving besloegen een heel jaar (12 stortingen en een volledig jaar rente) en 5 maanden besloegen geen enkele periode (geen stortingen, geen rente). Hele periodes lopen nu zoals voorheen, de laatste gedeeltelijke periode levert naar rato rente op (enkelvoudige rente over het deel) en elke storting binnen de looptijd wordt meegeteld. De resultaten blijven gelijk wanneer de looptijd een geheel aantal renteperiodes is; parameters en responsvelden blijven ongewijzigd.
De API en de documentatie behandelden rate als de rente per samengestelde periode, terwijl de calculator op de website en de bijbehorende handleiding een jaarrente gebruikten. GET /calculators/compound-interest paste rate volledig toe op elke samengestelde periode, waardoor 5% met maandelijkse rente-op-rente groeide als 5% per maand. rate is nu de nominale jaarrente: elke periode levert rate gedeeld door het aantal perioden per jaar op (5% met maandelijkse rente-op-rente levert 5/12% per maand op), zoals meta.note nu vermeldt. Parameters en responsvelden blijven ongewijzigd; de resultaten veranderen bij elke frequentie behalve annually. Daarnaast worden stortingen, wanneer contribution_frequency en compound_frequency allebei daily of allebei weekly zijn, niet langer door afronding van drijvendekommagetallen uitgesteld of overgeslagen, zodat total_contributions bij duration_unit=months één storting hoger kan uitvallen. Hiermee verandert de betekenis van een bestaande parameter: vermenigvuldig uw rate met het aantal renteperiodes per jaar om eerdere resultaten te reproduceren.
Elke Fear & Greed-stand bevat nu index naast score: de Fear & Greed-index van 0–100 precies zoals Bitculator hem toont (0–19 extreme angst, 20–39 angst, 40–59 neutraal, 60–79 hebzucht, 80–100 extreme hebzucht) — gebruik deze voor weergave. score is ongewijzigd: de ruwe samengestelde waarde van −100…+100 waarvan index is afgeleid. Geldt voor GET /sentiment/fear-greed (de hoofdstand en elk item in intervals), fear_greed op GET /global en meta.fear_greed op GET /global/heatmap. Alleen toegevoegd; geen bestaand veld gewijzigd.
GET /coins/{slug} gaf fully_diluted_valuation terug als 0 voor coins zonder maximaal aanbod (bijvoorbeeld Solana en Ethereum, waarvan het aanbod niet begrensd is). Nu wordt teruggevallen op het totale aanbod en is de waarde null als geen van beide bekend is, zoals het OpenAPI-contract al documenteerde.
marketcap en dominance kunnen null zijn voor een coin zonder circulerend aanbod, en de score en breakdown van de trust score zijn null voor een exchange zonder rang. POST /alarms geeft 422 terug wanneer de coin geen huidige waarde heeft voor de gekozen metric. /coins/recently-added en /wallets/timeline respecteren nu sort. /coins/gainers en /coins/losers zijn gesorteerd op de verandering zelf (voorheen feitelijk op marketcap), en losers sluiten coins op 0.00 uit. Oplopende sorteringen geven null-waarden als laatste terug. /prices koppelt een dubbelzinnig symbool aan de actieve coin met de hoogste rang. Het OpenAPI-contract markeert de marktvelden die null kunnen zijn en typeert het 24h-volume als getal.
Het gepubliceerde contract bevat nu voorbeelden op media-type-niveau, één gedeeld foutschema waarnaar elke 4xx/5xx-response verwijst, de 401-, 429- en 500-responses die elke call met een key kan teruggeven, de X-RateLimit-*- en X-Quota-*-headers op elke geslaagde response, de alarm.triggered-levering als callback op POST /webhooks, en metadata over contact, licentie en voorwaarden. Er is geen request of response veranderd - alleen hoe ze beschreven worden.
Nieuw: /apis.json, /.well-known/api-catalog (RFC 9727), /.well-known/security.txt (RFC 9116), een JSON Schema-bundel van de gedeelde responsevormen, een publieke statuspagina met een JSON-tegenhanger, deze changelog en het versionerings- en uitfaseringsbeleid.
De MCP-server is overgestapt op eigen keys en plannen, aangemaakt in de MCP-console. Data API-keys worden niet langer geaccepteerd op /mcp; elke tool-call kost nog steeds één request.
De Bitculator MCP-server ging live op /mcp: 19 alleen-lezen tools via Streamable HTTP voor Claude, Cursor, VS Code en elke MCP-client, met dezelfde decimal-string-data als de REST API.
TypeScript-, Python-, PHP-, Go-, Rust-, Java-, C#- en C++-clients, die elk ieder endpoint dekken op dezelfde transportkern: Bearer-auth, envelope-unwrapping, X-Quota-*-capture, retries bij 429 en 5xx, getypeerde fouten en paging.
Sommige endpoints en langere indicatorvensters vereisen nu Starter of Pro. Een call buiten je plan geeft 403 plan_required terug, waarbij details.required_plan het plan noemt dat hem ontgrendelt, en verbruikt geen quota.
Lancering: 85 operaties verdeeld over 15 groepen - coins, prijzen, markten, exchanges, wallets, global, sentiment, indicatoren, liquidaties, conversie, calculators, redactioneel, alarmen, webhooks en meta. Bearer-keys met de data-api-ability, de { data, meta }-envelope, decimal-string-precisie, X-Quota-*-headers, ondertekende webhooks, en de plannen Free, Starter en Pro met elk een eigen maandelijks tegoed.
Uitfaseringen worden hier en per e-mail aan elke key-eigenaar aangekondigd, minstens zes maanden vóór verwijdering - zie het uitfaseringsbeleid. De machineleesbare index op /apis.json draagt de datum van de nieuwste vermelding als zijn modified-stempel.