# agentdata-nl > Paid European company screening for AI agents, straight from official public registers. Pay per call in USDC on Base via the x402 protocol (v2): POST without payment returns HTTP 402 with exact payment requirements; repeat with a PAYMENT-SIGNATURE header. All-or-nothing: you are only charged when the task fully completed. Also available as MCP server (POST https://agentdata-api.sander-van-aard.workers.dev/mcp, payment via _meta["x402/payment"]). Facts only, always with a source reference to the official register — no risk scores, no judgments. Companies only; queries identifying private individuals are rejected. ## Paid endpoints (x402, USDC on Base) - [POST /eu/vat](https://agentdata-api.sander-van-aard.workers.dev/eu/vat): $0.002 per call — EU VAT number validation (VIES) with predictable behavior for agents. Validates any EU VAT number against the European Commission's VIES service. Two modes: fast validation (may serve a cached result, labeled with its timestamp) and consultation-proof mode (always live, returns the official consultation number, requires requester identification). 'Not confirmed' does not imply the company is invalid. Machine-readable errors with per-member-state availability status. - [POST /nl/insolvency](https://agentdata-api.sander-van-aard.workers.dev/nl/insolvency): $0.15 per call — Dutch bankruptcy and insolvency check against the official Central Insolvency Register of the Dutch judiciary (rechtspraak.nl). Detects published bankruptcy (faillissement), suspension of payments (surseance) and debt restructuring procedures. Best results with a KVK number. Returns procedure type, status, dates, court and a source reference per match, with explicit match-basis and coverage notes. A no_match means no publication in the currently searchable register. Companies only. - [POST /eu/lei](https://agentdata-api.sander-van-aard.workers.dev/eu/lei): $0.005 per call — LEI lookup (Legal Entity Identifier) from the official GLEIF register. Look up by LEI code or search by legal name (optional jurisdiction filter). Returns the official legal name, entity status, registration status (ISSUED/LAPSED), jurisdiction, legal form and registered address, with a direct GLEIF source link per record. Legal entities only. Ideal cheap first check before deeper company screening. - [POST /eu/eurc-peg](https://agentdata-api.sander-van-aard.workers.dev/eu/eurc-peg): $0.002 per call — EURC peg monitor — unique combined signal: the official ECB euro reference rate (USD/EUR) versus the live on-chain EURC/USDC price from the deepest Uniswap v3 pool on Base, returned as a deviation in basis points with both source values and timestamps. Tells agents holding or pricing EURC how far the on-chain euro stablecoin trades from the official euro. No input required. - [POST /crypto/verdict](https://agentdata-api.sander-van-aard.workers.dev/crypto/verdict): $0.03 per call — Live crypto trading verdict for a coin (e.g. BTC-EUR), resold from an upstream signal system. Two layers: 'long' (positional ALLOW_LONG/EXIT/HOLD with confidence, summary and primary risk) and 'daytrade' (a 15m LONG/EXIT setup with entry range, stop-loss, take-profit and reward:risk). Pick layer long|daytrade|both. No fresh verdict for the requested layer means 400 and no charge — you only pay for an actual, still-valid verdict. Factual model output, not investment advice. - [POST /crypto/track-record](https://agentdata-api.sander-van-aard.workers.dev/crypto/track-record): $0.01 per call — Measured track record of the strategies behind /crypto/verdict, resold from the upstream signal system. Give a window in days (default 30, clamped 1..365); returns per strategy the number of trades, wins, win rate and average net return over that window, with the measurement start. A factual measurement over a short window (wide error bars), not investment advice. Cheap showcase for the paid verdict endpoint. - [POST /crypto/scan](https://agentdata-api.sander-van-aard.workers.dev/crypto/scan): $0.01 per call — Machine-readable crypto market intelligence: the currently published long opportunities from an upstream advice system, ranked by opportunity_score (0-100 heuristic, never a calibrated win probability). Per opportunity: signal_id, version, coin, classification (STRONG_LONG..AVOID), opportunity type, publication status, entry validity and freshness in seconds. No execution, no custody, no position sizing. Each response names the next useful call. Paid per request; an empty list is a valid answer. - [POST /crypto/signal](https://agentdata-api.sander-van-aard.workers.dev/crypto/signal): $0.01 per call — One complete crypto opportunity by signal_id (from /crypto/scan): classification, opportunity_score (0-100 heuristic, not a win probability), entry zone, stop-loss, take-profit, reward:risk, positive and negative factors, conditions and invalidation conditions, execution economics (net maker/taker), ML horizon scores with evidence status, entry validity versus expected hold, and upstream execution metadata. Market intelligence only: no execution, no custody, no position sizing. Paid per request. - [POST /crypto/validate](https://agentdata-api.sander-van-aard.workers.dev/crypto/validate): $0.01 per call — Is this crypto opportunity still valid right now? Give a signal_id and receive its live status (ACTIVE/STALE/INVALIDATED), remaining entry window in seconds, current price versus the entry zone, spread, data quality, maker/taker economics recomputed at the current price, whether the upstream execution blockers changed, and any invalidation reasons. Freshness first: an expired entry is reported as expired. Advice only: no execution, no custody, no position sizing. Paid per request. - [POST /crypto/evidence](https://agentdata-api.sander-van-aard.workers.dev/crypto/evidence): $0.01 per call — Historical evidence behind a crypto opportunity: for its strategy (and coin where enough samples exist) the measured populations — detected, blocked, published, expired without entry, completed, wins, losses, time exits — plus win rate over completed outcomes only with a Wilson interval, average/median/total net return, distinct days and coins, ML model evidence status and the measurement window. Real measurements, never fabricated; short windows have wide error bars. Paid per request. - [POST /crypto/check](https://agentdata-api.sander-van-aard.workers.dev/crypto/check): $0.01 per call — Cheap polling for a crypto opportunity you already retrieved: send signal_id plus the known_version you hold and receive whether it changed, the current version, live status (ACTIVE/STALE/INVALIDATED), which change types occurred (score, classification, entry zone, economics, execution blockers, status) and next_check_after — no full signal payload. Built for monitoring an active opportunity over time. Market intelligence only: no execution, no custody, no position sizing. Paid per request. - [POST /crypto/feed](https://agentdata-api.sander-van-aard.workers.dev/crypto/feed): $2 per call — Subscribe for 30 days to the change feed behind /crypto/scan: one cursor over the upstream advice ledger, all coins at once. Returns a handle and a cursor; polling is then free and unlimited: /crypto/feed/since returns every published change since your cursor — new signals, classification flips, status changes (PUBLISHED/STALE/INVALIDATED), score and entry-zone changes. Be first to know when the market state flips; the full advice per signal stays a separate paid call. - [POST /crypto/feed/renew](https://agentdata-api.sander-van-aard.workers.dev/crypto/feed/renew): $2 per call — Extend an existing crypto change-feed subscription from /crypto/feed by 30 days, using the same feed_handle. Renewing before the expiry date adds the days on top of the remaining time, so polling never has a gap; renew late and the month starts today. Your cursor lives on your side and is unaffected. - [POST /web/search](https://agentdata-api.sander-van-aard.workers.dev/web/search): $0.004 per call — Google-quality web search for AI agents at $0.004 per search — the lowest x402 rate for full search results. Send a query, get back compact JSON built for LLM consumption: top organic results (position, title, url, snippet), the direct answer when one exists, a trimmed knowledge graph and related searches. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC, no account, no API key. - [POST /news/search](https://agentdata-api.sander-van-aard.workers.dev/news/search): $0.004 per call — Google News search for AI agents at $0.004 per call, from the same Serper.dev source as /web/search. Send a query, get back compact JSON: top news results with position, title, url, snippet, publish date and source. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC on Base, no account, no API key. - [POST /web/images](https://agentdata-api.sander-van-aard.workers.dev/web/images): $0.004 per call — Google Images search for AI agents at $0.004 per call, from the same Serper.dev source as /web/search. Send a query, get back compact JSON: top image results with position, title, image URL, source page link and dimensions. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC on Base, no account, no API key. - [POST /web/places](https://agentdata-api.sander-van-aard.workers.dev/web/places): $0.004 per call — Google Places (local businesses with rating, address and phone number) for AI agents at $0.004 per call, from the same Serper.dev source as /web/search. Send a query, get back compact JSON: top places with position, title, address, coordinates, rating, rating count, category, phone and website. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC on Base, no account, no API key. - [POST /web/scholar](https://agentdata-api.sander-van-aard.workers.dev/web/scholar): $0.004 per call — Google Scholar search (papers with citation counts) for AI agents at $0.004 per call, from the same Serper.dev source as /web/search. Send a query, get back compact JSON: top papers with position, title, url, publication info, snippet, year and citation count. Tune with num (1-10 results), country and language (2-letter codes). Zero results is a valid, honest answer. Pay per call in USDC on Base, no account, no API key. - [POST /web/contents](https://agentdata-api.sander-van-aard.workers.dev/web/contents): $0.0015 per call — Read any web page as clean LLM-ready markdown for $0.0015 — the cheapest x402 page reader, and the natural companion to /web/search. Send a URL, get back the readable core: title, headings, paragraphs, lists and links, stripped of scripts, styles, navigation and other boilerplate. Choose markdown or plain text and cap the size with max_chars (default 20000; a truncated flag tells you when the cut hit). Unreachable or non-HTML targets cost nothing. Pay per call in USDC, no account, no API key. - [POST /web/search-read](https://agentdata-api.sander-van-aard.workers.dev/web/search-read): $0.006 per call — Search and read in one call: a web search plus the full page text of the top results, for $0.006 — cheaper than a separate search and reads. Send a query, get back compact results (position, title, url, snippet) each enriched with the target page's readable content (markdown or text, capped by max_chars_per_page). A page that fails to read carries a read_error instead of content; the call still delivers and settles. USDC on Base, no account. - [POST /web/crawl](https://agentdata-api.sander-van-aard.workers.dev/web/crawl): $0.005 per call — Crawl one site in one paid call: start URL + max_pages (2-20); we follow same-host links breadth-first, returning each page as clean markdown (same extraction as /web/contents). Priced at $0.001 per requested page, quoted as max_pages up front — finding fewer pages is still a complete delivery. Failed pages are skipped and listed in skipped[]; the call still settles. Only an unreadable start page is a 400, no charge. USDC on Base, no account, no API key. - [POST /llm/chat](https://agentdata-api.sander-van-aard.workers.dev/llm/chat): $0.002 per call — LLM chat completion per call — no account, no API key, no token math. Three flat-priced tiers: fast $0.002 (DeepSeek v4 Flash), smart $0.02 (GPT-5.4 mini), reasoning $0.03 (DeepSeek v4 Pro). Send OpenAI-style messages, get the assistant reply with finish_reason and token usage. Input capped per tier (16k-32k chars); the 402 quotes the exact tier price up front. Model or source unavailable means a 503 and you pay nothing. USDC on Base. - [POST /relay/crypto-news](https://agentdata-api.sander-van-aard.workers.dev/relay/crypto-news): $0.01 per call — Real-time crypto market news with sentiment analysis and top headlines ranked by importance, for $0.01 per call. One request, no parameters needed — get the latest market-moving stories as structured JSON, ready for trading agents and research pipelines. Relayed live from a proven upstream source; if the source is down you get a 503 and pay nothing. Pay per call in USDC on Base — no account, no API key. - [POST /relay/edgar-filings](https://agentdata-api.sander-van-aard.workers.dev/relay/edgar-filings): $0.01 per call — Latest SEC EDGAR filings for any US-listed company for $0.01 per call: 10-K annual reports, 10-Q quarterly reports and 8-K material events, by stock ticker or CIK, sourced live from data.sec.gov. Returns the parsed filing list (company, form type, filing date, direct document URL), filterable with 'since' and 'limit'. Relayed live from a proven upstream source; if the source is down you get a 503 and pay nothing. Pay per call in USDC on Base — no account, no API key. - [POST /relay/reddit-search](https://agentdata-api.sander-van-aard.workers.dev/relay/reddit-search): $0.05 per call — Keyword-search all of Reddit (or one subreddit) for $0.05 per call — social listening for AI agents without login or API key. Returns matching posts with title, author, subreddit, score, comment count, permalink and timestamp, sorted by relevance, top, new, hot or comments, with an optional time window. Track brand mentions, monitor topics, surface community sentiment. Relayed live from a proven upstream source; if the source is down you get a 503 and pay nothing. Pay per call in USDC on Base. - [POST /eu/crypto-firm-check](https://agentdata-api.sander-van-aard.workers.dev/eu/crypto-firm-check): $0.03 per call — Is this crypto firm authorised in the EU? One call checks the official ESMA interim MiCA register of authorised crypto-asset service providers (CASPs) AND the EU non-compliant entities warning list. Search by firm name, platform website/domain, or LEI. Returns authorisation details (member state, competent authority, authorised services, LEI) and any warning-list entries, each with an official source reference. Firms only. Counterparty/scam check before sending funds to a platform. - [POST /x402/counterparty-check](https://agentdata-api.sander-van-aard.workers.dev/x402/counterparty-check): $0.02 per call — Trust check before paying an unfamiliar x402 service, by pay_to address and/or service URL. Combines our own availability monitoring of the service's x402 endpoint (30-day uptime, last check, observed payTo/price and drift between our measurements), on-chain USDC payment history to the address on Base (2-day window), and EU regulatory status of the domain (MiCA-authorised or ESMA warning list). Factual only — no scores; not being monitored is not negative, presence is no endorsement. - [POST /x402/preflight](https://agentdata-api.sander-van-aard.workers.dev/x402/preflight): $0.01 per call — Preflight before paying an x402 service: is it working right now, and did it work the past 30 days? One live probe of the exact resource URL you intend to pay (status, latency, x402 validity, the payTo/price the service itself publishes in its 402, manifest presence) plus our own monitoring history of the host (30-day uptime, last check, recent changes such as payTo or price drift). Optionally verifies that the pay_to you intend to pay matches the live 402. Facts only — no scores. - [POST /x402/service-report](https://agentdata-api.sander-van-aard.workers.dev/x402/service-report): $0.05 per call — Full reliability report on one x402 service from our own availability monitoring (~2 probes/day per host): daily probe series over 30 days (probes, ok, avg/max latency), uptime 7d/30d, all observed change events (up/down transitions, payTo drift, price drift, manifest appearing/disappearing) and the payment details as last observed in the service's own 402 responses. Returns 400 host_not_monitored (no charge) when we have no history for the host. Facts only — no scores. - [POST /x402/network-report](https://agentdata-api.sander-van-aard.workers.dev/x402/network-report): $0.01 per call — Daily state-of-the-network report on the x402 ecosystem, built exclusively from our own probes (~2 per host per day): how many hosts we monitor, share of probes returning a valid 402 over 24h and 7d, host status breakdown (ok_402, HTTP errors, unreachable), manifest coverage, and counts of observed changes over 24h and 7d (up/down transitions, payTo drift, price drift, manifest gained/lost) plus the hosts that moved today. Regenerated once per day. Facts only — no scores, no catalogue data. - [POST /x402/network-feed](https://agentdata-api.sander-van-aard.workers.dev/x402/network-feed): $2 per call — Subscribe for 30 days to a change feed of the x402 network, from our own probes (~2 per host per day, 1500+ hosts). Returns a handle and a cursor; polling is then free and unlimited: /x402/network-feed/since returns all that changed since your cursor (down/up, payTo drift, price drift, manifest gained/lost), and /x402/network-feed/check takes up to 50 hosts you are about to pay and returns their last observed status, payTo and price plus changes. Facts only, no scores and no catalogue data. - [POST /x402/network-feed/renew](https://agentdata-api.sander-van-aard.workers.dev/x402/network-feed/renew): $2 per call — Extend an existing x402 network-feed subscription by 30 days using the same feed_handle. Renewing before the expiry date adds to the remaining time instead of restarting it, so polling never has a gap. Your cursor is kept. - [POST /x402/settlement-attest](https://agentdata-api.sander-van-aard.workers.dev/x402/settlement-attest): $0.25 per call — For a seller receiving an agent payment: verify the settlement on-chain (tx confirmed, correct recipient and amount), report the payer wallet's on-chain history, screen the provided counterparty name against the EU and UN sanctions lists, and return an Ed25519-signed attestation you keep as your audit record (verifiable offline via /.well-known/attest-keys.json). Facts and proof, never a guarantee, custody or compliance verdict. Name appears only as SHA-256. - [POST /agent/phone-number](https://agentdata-api.sander-van-aard.workers.dev/agent/phone-number): $0.3 per call — Phone number for SMS verification, for AI agents that need to pass a one-time code (Telegram, WhatsApp, Google, OpenAI, Discord + 2500 more). You pay only when a real code arrives — no code, no charge. Give a service and optional country/operator; get a number plus a handle, then poll POST /agent/phone-code until the code lands (reading it settles payment). Dynamic price per request (in the 402), USDC via x402, no account or KYC. Lawful one-time verification only. - [POST /agent/board](https://agentdata-api.sander-van-aard.workers.dev/agent/board): $2 per call — A live kanban board your agents work on and your human steers, for 30 days. One call returns an MCP endpoint, one key per agent, and a one-click link for your human. Your human connects that same MCP endpoint to their own chat — Claude, Gemini, Cursor — and reads every card, note and audit-log line their agents wrote, and steers from there. Or watches it happen live in a browser. WIP limits and the log are enforced in the database, so no agent can route around them. - [POST /agent/board/renew](https://agentdata-api.sander-van-aard.workers.dev/agent/board/renew): $2 per call — Extend an agent board from /agent/board by 30 days. Give the board_handle you were issued. Renew early and the days are added on top; renew late and the month starts today. An expired board is frozen, never deleted: your human keeps seeing it, every card and note survives, and agents simply cannot write to it until you renew. - [POST /agent/want](https://agentdata-api.sander-van-aard.workers.dev/agent/want): $0.01 per call — File what you want to buy from an agent-facing API and cannot buy today. Optional kind is typically one of coin, country, vies_country, monitor_host, sms_service — free-form values possible. The $0.01 fee is there to keep intents honest, not to sell you anything: it is not a purchase of the capability and no promise that it gets built. Optionally add the price per call you would pay and your expected monthly volume. Free alternative: POST /agent/request. - [POST /x402/demand-report](https://agentdata-api.sander-van-aard.workers.dev/x402/demand-report): $0.05 per call — What are agents asking for that they cannot buy yet, aggregated over 30 days. From our own measurements: calls we rejected on an uncovered value where the caller had already presented payment (kind is typically coin, country, vies_country, monitor_host or sms_service — free-form values possible), free requests filed by agents, and settled $0.01 intents. Demand at one provider, not a network-wide picture. Aggregates only: no wallets, no free text, no subject ids. - [POST /eu/sanctions-screen](https://agentdata-api.sander-van-aard.workers.dev/eu/sanctions-screen): $0.015 per call — Screen a company or organisation name against two official sanctions lists in one call: the EU consolidated financial sanctions list AND the UN Security Council consolidated list (entity sections only — no persons). Normalised name matching across all registered aliases; returns per match the source list (EU/UN), matched names, programmes, designation date and source link, plus each list's generation date. not_listed is no clearance; other jurisdictions (e.g. OFAC) are not covered. - [POST /eu/token-registry](https://agentdata-api.sander-van-aard.workers.dev/eu/token-registry): $0.01 per call — Is this crypto-asset or its issuer MiCA-notified in the EU? Searches the official ESMA interim MiCA register token lists — e-money token (EMT) issuers, asset-referenced token (ART) issuers, and notified crypto-asset white papers — by issuer name, LEI, or Digital Token Identifier (DTI). Returns issuer, home member state, competent authority, DTIs and the official white-paper URL per match. Useful before trusting a stablecoin or token sold as EU-regulated. - [POST /uk/company](https://agentdata-api.sander-van-aard.workers.dev/uk/company): $0.01 per call — Official UK company check from the Companies House register. Look up by company number (exact) or search by name (up to 5 candidates). Returns official name, status (active/dissolved/liquidation), type, incorporation and cessation dates, registered office, SIC codes, and the register's insolvency-history and charges flags, with a direct Companies House link. Companies only. - [POST /fr/company](https://agentdata-api.sander-van-aard.workers.dev/fr/company): $0.01 per call — Official French company check from the INSEE Sirene register (French government open data). Look up by SIREN (exact) or search by name (up to 5 candidates). Returns official legal name, administrative status (active/ceased), legal form and NAF activity codes, company size category, creation/cessation dates, head-office address and SIRET, with a direct link to the official Annuaire des Entreprises. Companies only; no director or officer data. - [POST /fr/insolvency](https://agentdata-api.sander-van-aard.workers.dev/fr/insolvency): $0.1 per call — French insolvency check against BODACC, the official bulletin of civil and commercial announcements (DILA open data). Searches collective procedures (sauvegarde, redressement, liquidation judiciaire), conciliation and professional recovery announcements by SIREN. Returns judgment nature and date, court, publication date and a direct BODACC link per announcement. A no_match means no publication in the searchable set (since 2008) — no historical clearance. Companies only. - [POST /no/company](https://agentdata-api.sander-van-aard.workers.dev/no/company): $0.01 per call — Official Norwegian company check from the Enhetsregisteret (Brønnøysund Register Centre, open data). Look up by organisation number (exact) or search by name (up to 5 candidates). Returns official name, organisation form, industry code, employee count, registration date, business address and — directly from the register — bankruptcy and liquidation flags, with a direct register link. Companies only. - [POST /cz/company](https://agentdata-api.sander-van-aard.workers.dev/cz/company): $0.01 per call — Official Czech company check from the ARES register (Ministry of Finance, open data). Look up by ICO (exact) or search by name (up to 5 candidates). Returns official name, legal form code, VAT number (DIC), establishment and termination dates, registered address and NACE activity codes, with a direct ARES link. Companies only. - [POST /fi/company](https://agentdata-api.sander-van-aard.workers.dev/fi/company): $0.01 per call — Official Finnish company check from the YTJ register (PRH open data). Look up by Business ID (exact) or search by name (up to 5 candidates). Returns the current official name, company form, main business line, registration/end dates, address, raw YTJ status codes and registered company situations such as bankruptcy or liquidation, with a direct YTJ link. Companies only. - [POST /pl/company](https://agentdata-api.sander-van-aard.workers.dev/pl/company): $0.01 per call — Polish VAT whitelist check (official Ministry of Finance register). Verifies a company's VAT status by NIP and — uniquely — whether a given bank account number (NRB) is registered to that company in the tax register: the standard Polish invoice-fraud check before paying a supplier. Returns VAT status, REGON/KRS, address, registered-account count and the official consultation confirmation id (request_id). Companies only. - [POST /ch/company](https://agentdata-api.sander-van-aard.workers.dev/ch/company): $0.01 per call — Official Swiss company check from the Zefix register (Central Business Name Index, federal). Look up by UID (exact, e.g. CHE-105.909.036) or search by name (up to 5 candidates). Returns official name with translations, legal form, register status (active / in liquidation / deleted) with deletion date, legal seat, purpose, address and last SHAB publication date, with a direct link to the cantonal register excerpt. Companies only. - [POST /eu/supplier-screen](https://agentdata-api.sander-van-aard.workers.dev/eu/supplier-screen): $0.15 per call — European supplier screening — one call, an honest per-country coverage matrix. Routes by country (NL, FR, UK, NO, CH, CZ, FI, PL) to the best available official open sources: register profile, insolvency signal (full register search, register flags, or not covered), VAT validation (VIES or the Polish whitelist), EU + UN sanctions screening and normalised name verification. Every response states per dimension what was and was not covered. Factual only — no scores. - [POST /nl/supplier-screen](https://agentdata-api.sander-van-aard.workers.dev/nl/supplier-screen): $0.15 per call — Dutch supplier screening — pre-transaction check in one call: validates the EU VAT number (VIES), checks the official Dutch Central Insolvency Register for bankruptcy, suspension of payments or debt restructuring, and cross-checks the legal name against the VAT-registered name where available. Requires legal_name, kvk_number and vat_number. Returns factual attention items with a source reference per finding — no risk scores. Only charged when both registers were consulted. Companies only. ## Discovery & docs - [x402 manifest](https://agentdata-api.sander-van-aard.workers.dev/.well-known/x402.json): all resources with payment requirements - [OpenAPI](https://agentdata-api.sander-van-aard.workers.dev/openapi.json): full API specification - [MCP](https://agentdata-api.sander-van-aard.workers.dev/mcp): JSON-RPC endpoint (initialize, tools/list, tools/call) - [Health](https://agentdata-api.sander-van-aard.workers.dev/health): free liveness check