---
title: "MiCA Register Presence Check"
method: POST
path: "/v1/tools/check_mica_register_presence"
tags: ["compliance_mandate", "mica", "esma", "register", "presence-as-of-date", "snapshot-digest", "mcp:check_mica_register_presence"]
---

# MiCA Register Presence Check

`POST /v1/tools/check_mica_register_presence`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/check_mica_register_presence`
- Auth: none declared

Answers one question about a pasted extract of an ESMA MiCA public register: was a named entity present in that snapshot on the date the reader captured it? The reader names the register type (the register of crypto-asset white papers, or the register of authorised crypto-asset service providers), supplies the entity identifier, supplies the capture date, and pastes the extract. The kernel digests the pasted bytes exactly as pasted into register_snapshot_digest, parses the extract with RFC 4180 quoting, searches either every cell or one caller-named column, and emits a single fixed verdict sentence: as of the retrieval date, the entity was or was not present in the named register snapshot with that digest. HARD FENCE: the extract, the entity identifier, the register type and the retrieval date are every one of them a caller input. This node performs no lookup of any kind (zero-egress), ships no bundled copy of either register, adds no scheduled refresh, and has no clock at all, so retrieval_date dates the reader's capture rather than the run. match_found is a tristate: null means the search did not run, and it is never collapsed into a false. Oversized extracts are refused with a named flag rather than truncated, since a digest over bytes the reader never saw would be worse than no reading. Presence is a dated fact about a snapshot, never authorisation, never a current status, never a claim the register itself is complete or current, and never legal advice.

**Tool URL:** https://ainumbers.co/chaingraph/art-602-mica-register-presence-check.html

## Request body

- object
  - `register_type` string, required
  - `entity_identifier` string, required
  - `register_extract` string, required
  - `retrieval_date` string, required
  - `register_source_ref` string
  - `delimiter` string
  - `header_row` boolean
  - `match_column` union
    - string
    - number
  - `case_sensitive` boolean

## Response `200`

Successful tool execution result

- object
  - `register_type` string, nullable
  - `register_label` string, nullable
  - `entity_identifier` string, nullable
  - `retrieval_date` string, nullable
  - `register_source_ref` string, nullable
  - `register_snapshot_digest` string, nullable
  - `snapshot` object
  - `search` object
  - `match_found` boolean, nullable
  - `matched_row` string, nullable
  - `matched_rows` object[]
  - `match_count` number
  - `verdict` string, nullable
  - `verdict_unavailable_reason` string, nullable
  - `judgment_required` object, nullable
  - `rationale` string[]
  - `not_proven` object[]
  - `fence` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
