⚠  MiCA full enforcement: calculating... — 1 July 2026

What the API does

SENTINEL exposes three core compliance capabilities as HTTP endpoints, so you can integrate them into your own back-office, reporting pipeline, or customer-facing compliance portal.

  • Transaction classification — Submit raw crypto transactions and get back a MiCA-compliant asset type, applicable regulation, and Modelo field mapping. Supports single transactions or batches up to 5,000 rows.
  • Modelo XML generation — Pass a reporting period and classified transaction data; receive a valid Modelo 172/173 XML file ready for AEAT submission. No manual data entry.
  • Regulatory alerts — Subscribe your endpoint to webhook notifications when CNMV, AEAT, or EBA publish relevant guidance updates, deadline changes, or threshold adjustments affecting your obligation scope.

All responses follow a consistent envelope format. Errors are structured with machine-readable codes. The API is stateless — you own and store the underlying transaction data.

https://api.micaready.eu/v1

All endpoints are versioned under /v1. The API is served exclusively over HTTPS. HTTP requests are rejected.

API keys

Authenticate every request with a bearer token in the Authorization header. API keys are issued per account after onboarding and can be rotated at any time from your dashboard.

REQUEST HEADER
# Include in every request
Authorization: Bearer YOUR_API_KEY_HERE

# Example with curl
curl https://api.micaready.eu/v1/classify \
  -H "Authorization: Bearer YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Key format Environment Notes
YOUR_LIVE_KEY Production Counts against your monthly quota. Rotate immediately if compromised.
YOUR_TEST_KEY Sandbox Returns fixture data. Free, no quota. Available after onboarding.

Request limits by plan

Limits apply per calendar month and per-minute for burst control. Exceeded requests return 429 Too Many Requests with a Retry-After header.

Individual
API access not included
Dashboard only
Professional
10k
API calls / month
60 req / min burst
CASP
Unlimited
API calls / month
300 req / min · SLA 99.9%

Batch endpoints (up to 5,000 transactions per call) count as a single API call against your quota regardless of batch size. Webhook deliveries do not count against request limits.

Classify a transaction

Submit a single crypto transaction and receive a MiCA asset classification, the applicable regulatory framework, and the correct Modelo 172/173 field mapping.

POST /v1/classify Single transaction · ~80ms p50
{
  "txid":          "0xa3f8...c291",
  "asset":         "USDC",
  "asset_address": "0xa0b8...6c08",
  "chain":         "ethereum",
  "amount":        4500.00,
  "currency":      "EUR",
  "direction":     "receive",
  "timestamp":     "2026-03-15T14:22:00Z",
  "counterparty":  "0x1f9840...0eb8"
}

Batch classification

Classify up to 5,000 transactions per call. Results are returned synchronously for batches under 500 items; larger batches are processed asynchronously and delivered to your webhook.

POST /v1/classify/batch Up to 5,000 tx · async ≥500
{
  "transactions": [
    {
      "txid":      "0xa3f8...c291",
      "asset":     "BTC",
      "amount":    0.15,
      "currency":  "EUR",
      "direction": "send",
      "timestamp": "2026-03-15T10:00:00Z"
    },
    // ... up to 5,000 items
  ],
  "webhook_url": "https://your-system.com/sentinel-webhook",
  "period":      "2026-Q1"
}

Generate Modelo XML

Pass a reporting period and your classified transaction data. SENTINEL returns a valid Modelo 172 and/or 173 XML file, ready for submission to AEAT. Schema is validated against the current AEAT XSD before delivery.

POST /v1/modelo/generate 172 · 173 · 721
{
  "period":       "2026",
  "modelo":       "172",       // "172" | "173" | "721"
  "nif":          "A12345678",
  "razon_social": "Criptan SL",
  "transactions": [
    // Array of classified tx from /v1/classify
    // or a job_id from a completed batch job
    { "job_id": "job_2026Q1_a9b3c1" }
  ],
  "validate_schema": true  // recommended
}

Regulatory alerts webhook

Register a webhook endpoint to receive push notifications when CNMV, AEAT, or EBA publish updates relevant to your compliance scope. No polling required.

POST /v1/alerts/webhooks Register endpoint
{
  "url":    "https://your-system.com/compliance-alerts",
  "secret": "whsec_your_signing_secret",
  "events": [
    "cnmv.guidance_update",
    "aeat.threshold_change",
    "eba.mica_opinion",
    "deadline.reminder"
  ]
}

Webhook payloads are signed with HMAC-SHA256 using your whsec_ secret. Verify the X-SENTINEL-Signature header on every delivery.

Compliance status

Retrieve the current compliance posture for an account or reporting period — outstanding obligations, upcoming deadlines, and any open items requiring review.

GET /v1/status Account compliance snapshot
{
  "ok": true,
  "account": {
    "nif":          "A12345678",
    "plan":         "casp",
    "api_calls_used": 4821
  },
  "compliance": {
    "overall": "action_required",
    "obligations": [
      {
        "type":     "modelo_172",
        "period":   "2025",
        "due":      "2026-03-31",
        "status":   "pending_submission",
        "days_left": 5
      },
      {
        "type":     "mica_casp_licence",
        "due":      "2026-07-01",
        "status":   "in_progress",
        "days_left": 97
      }
    ]
  },
  "generated_at": "2026-03-26T06:00:00Z"
}

Docs are available after onboarding

ℹ Note

This page is an integration teaser — enough for your engineering team to assess feasibility before you commit to a plan. The full API reference (all parameters, error codes, sandbox environment, SDK examples in Python and TypeScript, and Postman collection) is provided during CASP onboarding. Onboarding takes under 48 hours from sign-up to live credentials.

What's included in the CASP onboarding package:

  • Full OpenAPI 3.1 spec — import directly into Postman, Insomnia, or your own API gateway
  • Sandbox environment — test against realistic fixture data with no quota consumption
  • Python & TypeScript SDKs — thin wrappers with types, retries, and error handling built in
  • Webhook signature verification examples — copy-paste into your stack
  • Dedicated Slack channel — direct access to the engineering team during integration
  • AEAT test file validation — verify your generated Modelo XML before the real submission window opens

Ready to integrate?

API access is included on the CASP plan at €1,500/month. Send your details and we'll start onboarding within 24 hours.

Request API Access
Or view the full pricing page to compare plans. Onboarding starts within 24 hours of sign-up.