Free tool MiCA & Digital Assets

MIDAS pre-check

Check a CryptoAssetRecordKeeping or CryptoAssetOrderBook file against ESMA's naming rule, the official JSON schemas and the MIDAS rejection and quality rules — before ESMA sees it. Your files never leave this page.

No file to hand? Run it on ESMA's own samples:

Processing happens in this browser tab. Nothing is uploaded: open your browser's network panel while you run a check and you will see no request carrying your data. The code is plain, unminified JavaScript: precheck.js. Prefer the command line or a CI gate? The same engine is open source: github.com/intellectumlab/midas-precheck.

Free PDF · 22 items · 2 pages

The part software can’t check

The pre-check covers files, timestamps and order logic. The MIDAS readiness checklist covers the rest: who owns the mapping, who polls the feedback folder, how corrections and resubmissions work, what to ask in UAT — the things that decide whether a feed that passed once keeps passing every two weeks.

We use your email address only to send you this checklist — there is no newsletter behind it. New addresses confirm once by email; if you already confirmed for our ESMA CSA checklist, it arrives straight away. Unsubscribe from the email at any time. See our privacy policy.

What it checks

CodesLevelWhat
FIL-101File rejectedName follows <FileType>_<DDMMYYYY>_<partN>_<partM>.json: a known FileType, a real date, 1 ≤ partN ≤ partM.
FIL-102File rejectedValid JSON, the right root element for the FileType, and conformance with ESMA's published schemas auth.117 V1.0 (record keeping) and auth.118 V1.0 (order book).
MET-001–MET-016Record rejectedMandatory fields, strictly positive quantities and prices, duplicates within the file, one timestamp format with milliseconds, validity-period rules, FILL/PARF dependencies, quantity bounds, fills inside the limit price.
QUA-001–QUA-008WarningField lengths, MIC and DTI format, cancelled-order and buy/sell ratios, isolated price prints of 1,000% or more, Segment MIC and passive/aggressive population, midnight-defaulted timestamps.
PRE-101, PRE-102OursMissing parts of a multi-part submission, files over 500 MB. These are not ESMA codes; ESMA describes both situations without numbering them.

What it does not prove

  • It is not ESMA's validator. It is our reading of the public MIDAS Reporting Instructions (ESMA65-955014868-17690) and the official schemas (ESMA65-955014868-15160). Where the text is ambiguous we say so in the finding. A clean result here does not guarantee acceptance.
  • No registries. MIC codes are checked for format, not against ISO 10383; DTIs for format, not against the ISO 24165 registry; fiat codes are left to the schema.
  • Duplicates within the files you load only. MIDAS also checks against everything you have submitted before.
  • Thresholds ESMA does not publish are ours. Midnight timestamps are flagged above 5%; order ratios are only assessed with 20 or more orders. ESMA configures the timestamp mask per CASP; we take the most common mask in your file.
  • Large files. Everything runs in browser memory. Files of a few hundred megabytes may be slow or fail on a laptop; split them, or use the command-line version.
  • The rules will move. ESMA says the MIDAS data scope is phased in. This version follows the 21 October 2026 text.

What we found running ESMA's own samples

The record-keeping sample passes cleanly. Read literally, the order-book sample would lose 16 of its 40 records: one limit order carries no limit price on any of its fourteen fills, and three orders end at exactly their validity time when the rule says the validity time must come after. That is not a criticism of ESMA — a sample shows structure, not conformance — but it shows where the rules have edges. The full write-up is on the blog.

Order-book & trade records in ESMA format

We build the pipeline from your matching engine and custody ledger to these schemas, with these checks running before every biweekly submission. Fixed-fee diagnostic first; your data stays on your infrastructure.

Rejected records are a pipeline problem.

Send us the feedback CSV (no records needed) and we will tell you which findings come from your mapping, which from your source systems, and what it takes to make the biweekly feed pass. Thirty minutes, no deck.

Book a MIDAS review Or see what we build for CASPs →