Lección 3.7.5 · 55 min

MiCA: el marco de la UE para criptoactivos y sus proveedores (CASP)

Desde el 1 de julio de 2026 nadie puede prestar servicios de criptoactivos en España sin autorización con arreglo a MiCA. Esta lección lee el reglamento y los documentos de ESMA y de la CNMV, convierte sus fechas, sus servicios y su capital mínimo en código, y procesa un extracto con el formato del registro de ESMA para comprobar un proveedor antes de operar con él. No es asesoramiento jurídico.

Fig. — Las fechas de MiCA: entrada en vigor, aplicación por títulos, fin del régimen transitorio de los CASP y plazo de los libros blancos
05/05
Módulo
3.7 · Cripto derivados y estrategias específicas
Duración
55 min
Lecciones del nivel 3
  1. 3.1 · Futuros en profundidad

    1. 3.1.1 Contratos de futuros principales
    2. 3.1.2 Curva de futuros: base, cost of carry, contango y roll yield
    3. 3.1.3 Gestión del roll, márgenes, SPAN y apalancamiento implícito
    4. 3.1.4 Sistemas de futuros diversificados: el enfoque de Carver
  2. 3.2 · Spreads de futuros

    1. 3.2.1 Spreads de calendario, butterflies y condors
    2. 3.2.2 Spreads intercommodity: crack, spark y crush
    3. 3.2.3 Spreads de tipos y de índices: 2s10s, NOB, NQ/ES y Europa frente a EE. UU.
    4. 3.2.4 Ratios de cobertura: por nominal, por DV01 y por volatilidad
    5. 3.2.5 Datos y backtesting de spreads: cotizados, sintéticos y por patas
    6. 3.2.6 Estacionalidad de spreads: análisis multi-año, patrones y trampas
  3. 3.3 · Forex avanzado

    1. 3.3.1 Microestructura FX: OTC, ECN, last look y sesiones
    2. 3.3.2 Carry y riesgo de crash, momentum y value en divisas; cestas
    3. 3.3.3 Riesgo de divisa en carteras multi-moneda; ejecución vía OANDA, IBKR o MT5
  4. 3.4 · Teoría y valoración de opciones

    1. 3.4.1 Payoffs, paridad put-call y límites de arbitraje
    2. 3.4.2 Árboles binomiales, Black-Scholes-Merton, Black-76 y Monte Carlo
    3. 3.4.3 Griegas: delta, gamma, vega, theta, rho, vanna, volga y charm
    4. 3.4.4 Volatilidad implícita: Newton-Raphson, Brent, py_vollib y QuantLib
    5. 3.4.5 Sonrisa, skew y estructura temporal; superficie de volatilidad con SVI
    6. 3.4.6 Volatilidad realizada frente a implícita; prima de riesgo de volatilidad; VIX y VSTOXX
    7. 3.4.7 Modelos avanzados: Heston, SABR y volatilidad local
  5. 3.5 · Estructuras de opciones en Python

    1. 3.5.1 Estructuras direccionales y verticales: call, put, covered call, collar y spreads
    2. 3.5.2 Estructuras de volatilidad y rango: straddles, strangles, cóndores y mariposas
    3. 3.5.3 Calendarios, diagonales, ratios, backspreads, risk reversals y jade lizard
    4. 3.5.4 Herramienta propia: payoff, griegas agregadas y escenarios
    5. 3.5.5 Gestión: ajustes, roll, cierre anticipado, asignación temprana y pin risk
  6. 3.6 · Estrategias sistemáticas de volatilidad y opciones

    1. 3.6.1 Venta sistemática de prima: put-write, strangles y su riesgo de cola
    2. 3.6.2 Delta hedging, gamma scalping y dispersión
    3. 3.6.3 Estrategias con VIX y VSTOXX: futuros y ETP de volatilidad
    4. 3.6.4 Backtesting de opciones: datos, fills y ajustes por eventos
  7. 3.7 · Cripto derivados y estrategias específicas

    1. 3.7.1 Perpetuos: mecánica del funding, mark price y liquidaciones
    2. 3.7.2 Arbitraje de funding, basis con futuros y arbitraje entre exchanges
    3. 3.7.3 Opciones cripto, datos on-chain y DeFi
    4. 3.7.4 ccxt para operar en varios exchanges
    5. 3.7.5 MiCA: el marco de la UE para criptoactivos y sus proveedores (CASP)

Qué regula MiCA y qué deja fuera

El Reglamento (UE) 2023/1114 del Parlamento Europeo y del Consejo, de 31 de mayo de 2023, relativo a los mercados de criptoactivos (MiCA), se publicó en el Diario Oficial de la UE el 9 de junio de 2023 (DO L 150)1Nota 1 · Reglamento (UE) 2023/1114 del Parlamento Europeo y del Consejo, de 31 de mayo de 2023 (DO L 150 de 9.6.2023), artículos 2, 3, 59 a 63, 65, 67, 70, 75, 86 a 92, 109, 110, 143 y 149, y anexo IV, versión española en EUR-Lex, consultada el 22/10/2026.. Se aplica a quien emite, ofrece al público o pide la admisión a negociación de criptoactivos, y a quien presta servicios relacionados con ellos en la Unión (art. 2.1). Define un criptoactivo como «una representación digital de un valor o de un derecho que puede transferirse y almacenarse electrónicamente, mediante la tecnología de registro distribuido o una tecnología similar» (art. 3.1.5) y distingue tres tipos:

  • Ficha de dinero electrónico (EMT): busca un valor estable referenciándose al valor de una moneda oficial (art. 3.1.7). Es el caso de las stablecoins en dólares o en euros. Título IV.
  • Ficha referenciada a activos (ART): busca un valor estable referenciado a otro valor o derecho, o a una combinación, incluidas varias monedas oficiales (art. 3.1.6). Título III.
  • Otros criptoactivos: el resto, como las monedas nativas de una red. Su oferta exige un libro blanco (título II).

Y deja fuera, entre otros, los criptoactivos únicos y no fungibles (art. 2.3) y los que sean instrumentos financieros, depósitos o fondos (art. 2.4). Para un trader, la exclusión importante es la de los instrumentos financieros: ESMA, en sus directrices sobre la calificación de criptoactivos como instrumentos financieros, pide tratar los futuros perpetuos como contratos derivados y evaluarlos con los criterios del anexo I, sección C, puntos 4 a 10, de MiFID II (guía 5)2Nota 2 · ESMA, «Final Report. Guidelines on the conditions and criteria for the qualification of crypto-assets as financial instruments», ESMA75453128700-1323, 17/12/2024, guía 5, apartado 47, esma.europa.eu.. Los perpetuos, los futuros y las opciones de las lecciones 3.7.1 a 3.7.3 no son servicios de MiCA: son instrumentos de MiFID II.

sínosínosínosínoToken¿MiFID?MiFID II¿Único y NFT?Fuera de MiCA¿Ref. 1 moneda?EMT título IV¿Ref. activos?ART título IIITítulo II
Fuente Mermaid
flowchart TB
  T[Token] --> F{¿MiFID?}
  F -- sí --> M[MiFID II]
  F -- no --> U{¿Único y NFT?}
  U -- sí --> X[Fuera de MiCA]
  U -- no --> E{¿Ref. 1 moneda?}
  E -- sí --> EMT[EMT título IV]
  E -- no --> A{¿Ref. activos?}
  A -- sí --> ART[ART título III]
  A -- no --> O[Título II]

El árbol es una simplificación de los artículos 2 y 3. En código, con tokens ficticios:

IN [01]python
def regimen(t):
    """Árbol simplificado de los arts. 2 y 3 de MiCA y la guía 5
    de ESMA. Orientativo: no sustituye a un análisis jurídico."""
    if t.get("derivado") or t.get("instrumento_financiero"):
        return "fuera de MiCA: MiFID II (instrumento financiero)"
    if t.get("unico_no_fungible"):
        return "fuera de MiCA (art. 2.3)"
    ref = t.get("referencia")
    if ref == "una moneda oficial":
        return "ficha de dinero electrónico (EMT, título IV)"
    if ref is not None:
        return "ficha referenciada a activos (ART, título III)"
    return "otro criptoactivo (título II: libro blanco)"

tokens = {
    "XBQ (moneda nativa de su red)": {},
    "USDQ (estable frente al dólar)":
        {"referencia": "una moneda oficial"},
    "cesta oro + euro + dólar": {"referencia": "cesta"},
    "obra digital única": {"unico_no_fungible": True},
    "acción tokenizada": {"instrumento_financiero": True},
    "perpetuo sobre XBQ": {"derivado": True},
}
for nombre, t in tokens.items():
    print(f"{nombre:<31} -> {regimen(t)}")
OUT [01]¿Qué régimen le toca a un token?
XBQ (moneda nativa de su red)   -> otro criptoactivo (título II: libro blanco)
USDQ (estable frente al dólar)  -> ficha de dinero electrónico (EMT, título IV)
cesta oro + euro + dólar        -> ficha referenciada a activos (ART, título III)
obra digital única              -> fuera de MiCA (art. 2.3)
acción tokenizada               -> fuera de MiCA: MiFID II (instrumento financiero)
perpetuo sobre XBQ              -> fuera de MiCA: MiFID II (instrumento financiero)

Las respuestas difíciles de verdad (si un token concreto es un instrumento financiero, si una stablecoin algorítmica es EMT o ART) dependen de los derechos que otorga y del análisis caso por caso que piden las directrices de ESMA; el árbol sirve para orientarse, no para decidir.

El calendario

El artículo 149 fija las fechas: el reglamento entra en vigor a los 20 días de su publicación, los títulos III y IV (ART y EMT) se aplican desde el 30 de junio de 2024 y el resto desde el 30 de diciembre de 20241. El artículo 143 añade dos plazos transitorios: los proveedores que prestaban servicios con la ley nacional antes del 30 de diciembre de 2024 pueden seguir «hasta el 1 de julio de 2026 o hasta la fecha en que se les conceda o deniegue una autorización […] si esta fuera anterior» (art. 143.3), y los operadores de plataformas tienen hasta el 31 de diciembre de 2027 para que exista un libro blanco de los criptoactivos que ya se negociaban (art. 143.2.b). La figura de la cabecera los sitúa en el tiempo:

IN [02]python
import io
import numpy as np
import pandas as pd

publicacion = pd.Timestamp("2023-06-09")      # DO L 150
fechas = pd.Series({
    "entrada en vigor (art. 149.1)":
        publicacion + pd.Timedelta(days=20),
    "títulos III y IV: ART y EMT (art. 149.3)":
        pd.Timestamp("2024-06-30"),
    "resto del reglamento (art. 149.2)": pd.Timestamp("2024-12-30"),
    "fin del régimen transitorio (art. 143.3)":
        pd.Timestamp("2026-07-01"),
    "libros blancos de lo ya negociado (art. 143.2.b)":
        pd.Timestamp("2027-12-31"),
})
hoy = pd.Timestamp("2026-10-22")
pd.DataFrame({"fecha": fechas.dt.date,
              "días hasta hoy": (hoy - fechas).dt.days})
OUT [02]Las fechas del reglamento
                                                       fecha  días hasta hoy
entrada en vigor (art. 149.1)                     2023-06-29            1211
títulos III y IV: ART y EMT (art. 149.3)          2024-06-30             844
resto del reglamento (art. 149.2)                 2024-12-30             661
fin del régimen transitorio (art. 143.3)          2026-07-01             113
libros blancos de lo ya negociado (art. 143.2.b)  2027-12-31            -435

La entrada en vigor calculada (9 de junio de 2023 más 20 días) es el 29 de junio de 2023, la misma fecha desde la que el artículo 149.4 aplica los mandatos de desarrollo. Hoy, 22 de octubre de 2026, el reglamento lleva 661 días aplicándose entero y el régimen transitorio terminó hace 113 días.

El régimen transitorio, Estado por Estado

El artículo 143.3 permite a cada Estado no aplicar el régimen transitorio o acortarlo si su marco nacional era menos estricto. ESMA publica la lista de lo que comunicó cada uno3Nota 3 · ESMA, «List of grandfathering periods decided by Member States under Article 143 of Regulation (EU) 2023/1114» (PDF del 19/05/2026), esma.europa.eu, consultada el 22/10/2026.:

IN [03]python
meses = {"BE": 18, "BG": 18, "CZ": 18, "DK": 18, "DE": 12, "EE": 18,
         "IE": 12, "GR": 18, "ES": 18, "FR": 18, "HR": 18, "IT": 18,
         "CY": 18, "LV": 6, "LT": 12, "LU": 18, "HU": 6, "MT": 18,
         "NL": 6, "AT": 12, "PL": 6, "PT": 18, "RO": 18, "SI": 6,
         "SK": 12, "FI": 6, "SE": 9, "IS": 18, "LI": 18, "NO": 12}
inicio, tope = pd.Timestamp("2024-12-30"), pd.Timestamp("2026-07-01")
fin = {p: tope if m >= 18 else inicio + pd.DateOffset(months=m)
       for p, m in meses.items()}
tr = pd.DataFrame({"meses": meses, "fin": fin})
print(tr.groupby("meses").size().rename("países").to_dict())
print("España termina:", tr.loc["ES", "fin"].date())
dia = pd.Timestamp("2025-10-01")
print("ya sin transitorio el", dia.date(), ":",
      sorted(tr.index[tr["fin"] <= dia]))
OUT [03]Periodos transitorios por Estado (lista de ESMA)
{6: 6, 9: 1, 12: 6, 18: 17}
España termina: 2026-07-01
ya sin transitorio el 2025-10-01 : ['FI', 'HU', 'LV', 'NL', 'PL', 'SE', 'SI']
Fig. — Duración del régimen transitorio de los proveedores de servicios de criptoactivos según cada Estado del EEE

Diecisiete Estados del EEE, España entre ellos, eligieron el máximo de 18 meses; seis lo dejaron en 6 meses, uno en 9 y seis en 12. Las fechas de fin de la celda para los plazos cortos son aproximadas (30/12/2024 más n meses): la fecha exacta la fija cada ley nacional, y la propia lista de ESMA advierte que algunas duraciones son las que esperaban las autoridades y podían no estar aún en la ley. Para España, la CNMV es explícita: «Desde el 1 de julio de 2026 solo pueden operar en España proveedores autorizados por la CNMV u otras autoridades europeas»4Nota 4 · CNMV, «MiCA: Nueva regulación de criptoactivos», cnmv.es, consultada el 22/10/2026..

Diez servicios y tres clases de capital

El artículo 3.1.16 enumera los servicios de criptoactivos, de la letra a a la j: custodia y administración por cuenta de clientes, gestión de una plataforma de negociación, canje por fondos, canje por otros criptoactivos, ejecución de órdenes, colocación, recepción y transmisión de órdenes, asesoramiento, gestión de carteras y servicios de transferencia por cuenta de clientes1. Las mismas letras aparecen en el registro de ESMA.

El anexo IV agrupa los servicios en tres clases de capital mínimo: clase 1 (50.000 EUR) para ejecución, colocación, transferencia, recepción y transmisión, asesoramiento y gestión de carteras; clase 2 (125.000 EUR) si además hay custodia o canje; clase 3 (150.000 EUR) si se gestiona una plataforma de negociación. El artículo 67 exige el mayor de ese mínimo y una cuarta parte de los gastos fijos generales del año anterior:

IN [04]python
SERVICIOS = {
    "a": "custodia y administración por cuenta de clientes",
    "b": "gestión de una plataforma de negociación",
    "c": "canje de criptoactivos por fondos",
    "d": "canje de criptoactivos por otros criptoactivos",
    "e": "ejecución de órdenes por cuenta de clientes",
    "f": "colocación de criptoactivos",
    "g": "recepción y transmisión de órdenes",
    "h": "asesoramiento en materia de criptoactivos",
    "i": "gestión de carteras de criptoactivos",
    "j": "servicios de transferencia por cuenta de clientes",
}

def capital_minimo(servicios, gastos_fijos_anuales):
    if "b" in servicios:
        clase, base = 3, 150_000
    elif set(servicios) & {"a", "c", "d"}:
        clase, base = 2, 125_000
    else:
        clase, base = 1, 50_000
    return clase, max(base, gastos_fijos_anuales / 4)

casos = {"asesor independiente": ("h", 120_000),
         "bróker que transmite órdenes": ("eg", 900_000),
         "exchange con custodia": ("abcdej", 6_000_000)}
for quien, (srv, gastos) in casos.items():
    clase, k = capital_minimo(srv, gastos)
    print(f"{quien:<29} clase {clase}: {k:>12,.0f} EUR")
OUT [04]Capital mínimo según los servicios (anexo IV y art. 67)
asesor independiente          clase 1:       50,000 EUR
bróker que transmite órdenes  clase 1:      225,000 EUR
exchange con custodia         clase 3:    1,500,000 EUR

Para un intermediario con estructura, la cuarta parte de los gastos fijos manda casi siempre: el bróker de la celda necesita 225.000 EUR aunque su clase sea la 1, y el exchange, 1,5 millones. El capital es un colchón, no una garantía para el cliente: como recuerda la CNMV, no hay un sistema de indemnización de los inversores si un proveedor quiebra4.

Autorización, notificación y pasaporte

El artículo 59 solo permite prestar servicios de criptoactivos en la Unión a dos tipos de entidades: las autorizadas como CASP con el artículo 63, y las entidades ya supervisadas (entidades de crédito, depositarios centrales, empresas de servicios de inversión, organismos rectores del mercado, entidades de dinero electrónico, gestoras de OICVM y de FIA) que notifican a su autoridad con el artículo 60, en general con al menos 40 días hábiles de antelación1. Una autorización vale para toda la Unión, por establecimiento o por libre prestación, sin presencia física en el Estado de acogida (art. 59.7), comunicando antes los Estados y los servicios (art. 65).

Solicitud art. 62Acuse: 5 díasCompleta: 25 díasEvaluación: 40 díasDecisiónNotificación: 5Registro ESMA
Fuente Mermaid
flowchart TB
  S[Solicitud art. 62] --> A[Acuse: 5 días]
  A --> C[Completa: 25 días]
  C --> E[Evaluación: 40 días]
  E --> D[Decisión]
  D --> N[Notificación: 5]
  D --> R[Registro ESMA]

Los plazos del artículo 63 son en días hábiles: acuse de recibo en 5, comprobación de que la solicitud está completa en 25, evaluación en 40 desde que está completa (con una suspensión de hasta 20 si se pide información) y notificación de la decisión en 5 más1. Con numpy.busday_offset y tres festivos de 2026 como ejemplo (la lista real depende del Estado y de la comunidad autónoma):

IN [05]python
def plazos(presentada, suspension_dias=0, festivos=()):
    hab = lambda d, n: np.busday_offset(
        np.datetime64(d.date()), n, roll="forward",
        holidays=list(festivos))
    acuse = hab(presentada, 5)
    completa = hab(presentada, 25)
    decision = hab(pd.Timestamp(completa), 40 + suspension_dias)
    return {"acuse de recibo": acuse, "completitud": completa,
            "decisión": decision,
            "notificación": hab(pd.Timestamp(decision), 5)}

festivos = ["2026-04-02", "2026-04-03", "2026-05-01"]
for susp in (0, 20):
    p = plazos(pd.Timestamp("2026-02-02"), susp, festivos)
    print(f"suspensión {susp:>2} días:",
          {k: str(v) for k, v in p.items()})
OUT [05]Plazos de la autorización en días hábiles (art. 63)
suspensión  0 días: {'acuse de recibo': '2026-02-09', 'completitud': '2026-03-09', 'decisión': '2026-05-07', 'notificación': '2026-05-14'}
suspensión 20 días: {'acuse de recibo': '2026-02-09', 'completitud': '2026-03-09', 'decisión': '2026-06-04', 'notificación': '2026-06-11'}

Una solicitud presentada el 2 de febrero de 2026 tendría la decisión, en el peor caso de la norma, el 4 de junio y la notificación el 11, días antes del fin del régimen transitorio. Por eso muchas autorizaciones españolas del registro llevan fecha de junio y julio de 2026. Las empresas de fuera de la UE solo pueden atender sin autorización a clientes que acuden a ellas por iniciativa exclusiva del cliente, sin captarlos de ninguna forma en la Unión (art. 61), y ESMA ha publicado directrices para delimitar ese supuesto.

El registro de ESMA

Los artículos 109 y 110 encargan a ESMA un registro de libros blancos, emisores de ART y EMT y CASP, y otro, no exhaustivo, de entidades que prestan servicios sin cumplir las normas1. Mientras se integra en sus sistemas, ESMA lo publica como un registro provisional en cinco ficheros CSV (OTHER.csv, ARTZZ.csv, EMTWP.csv, CASPS.csv y NCASP.csv) junto con un fichero que describe cada campo5Nota 5 · ESMA, página de MiCA, sección «Interim MiCA Register» (cinco ficheros CSV, última actualización del 19/10/2026, y descripción de los campos), esma.europa.eu, consultada el 22/10/2026.. Descargar y resumir el de los CASP es inmediato:

IN [06]registro_esma.pypython
import io
import urllib.request
import pandas as pd

URL = ("https://www.esma.europa.eu/sites/default/files/2024-12/"
       "CASPS.csv")
with urllib.request.urlopen(URL, timeout=30) as r:
    casps = pd.read_csv(io.BytesIO(r.read()), dtype=str,
                        encoding="utf-8-sig")
pais = casps["ae_homeMemberState"].str.strip()
print(len(casps), casps["ae_lei"].nunique(), pais.nunique())
print(pais.value_counts().head(8))
print(casps["ac_legal_basis"].fillna("(vacío)").value_counts())

Con la versión del 19 de octubre de 2026, el fichero tiene 379 entradas de 376 LEI distintos y de 27 Estados de origen; las 16 españolas tienen a la CNMV como autoridad competente. Alemania reúne más de una cuarta parte:

Fig. — Entradas del registro provisional de proveedores de servicios de criptoactivos de ESMA por Estado de origen, a 19 de octubre de 2026

El fichero real también enseña por qué hay que limpiarlo antes de usarlo: un código de país con un espacio detrás (NL ), una base legal que en 180 entradas está vacía y en el resto aparece como Article 60, Article 60 - Notification, Article 63 o Article 63 - CASP authorisation, y una lista de servicios en la que conviven las letras del reglamento («a. providing custody…») con textos sin letra. Para ejecutar el código sin red, la celda siguiente construye un extracto ficticio con las mismas columnas y los mismos defectos:

IN [07]python
CSV = """ae_competentAuthority,ae_homeMemberState,ae_lei_name,\
ae_lei,ae_lei_cou_code,ae_commercial_name,ae_address,ae_website,\
ae_website_platform,ac_authorisationNotificationDate,\
ac_authorisationEndDate,ac_serviceCode,ac_serviceCode_cou,\
ac_comments,ac_lastupdate,ac_legal_basis
Autoridad Ficticia de Malta,MT,Alfa Cripto Europa Ltd,\
5299000ALFA0CRIPTO79,MT,Alfa,"Calle 1, La Valeta",\
https://alfa.example,https://pro.alfa.example,14/03/2025,,\
a. providing custody and administration of crypto-assets on \
behalf of clients | b. operation of a trading platform for \
crypto-assets | c. exchange of crypto-assets for funds | \
d. exchange of crypto-assets for other crypto-assets,\
AT|DE|ES|FR|IT|NL,,02/04/2025,Article 63 - CASP authorisation
Autoridad Ficticia de Alemania,DE ,Banco Cenit AG,\
529900CENIT0BANCO076,DE,Cenit,"Platz 2, Fráncfort",\
https://cenit.example,,05/06/2025,,\
e. execution of orders for crypto-assets on behalf of clients|\
g. reception and transmission of orders for crypto-assets on \
behalf of clients,DE|AT,,05/06/2025,Article 60
Autoridad Ficticia de España,ES,Dedalo Digital SL,\
5299000DEDALO0SL0062,ES,Dedalo,"Calle 3, Madrid",\
https://dedalo.example,,30/06/2026,15/09/2026,\
exchange of crypto-assets for funds | providing transfer services \
for crypto-assets on behalf of clients,ES,retirada,15/09/2026,
"""
reg = pd.read_csv(io.StringIO(CSV), dtype=str, encoding="utf-8-sig")
print(reg.shape)
reg[["ae_homeMemberState", "ae_commercial_name",
     "ac_authorisationNotificationDate", "ac_authorisationEndDate"]]
OUT [07]Un extracto del registro con el formato de ESMA
(3, 16)
  ae_homeMemberState ae_commercial_name ac_authorisationNotificationDate ac_authorisationEndDate
0                 MT               Alfa                       14/03/2025                     NaN
1                DE               Cenit                       05/06/2025                     NaN
2                 ES             Dedalo                       30/06/2026              15/09/2026

Las fechas vienen como texto dd/mm/aaaa y la de retirada (ac_authorisationEndDate) solo está en las entidades que han perdido la autorización. La limpieza recorta los códigos de país, convierte los servicios a letras (por la letra si la hay y, si no, por el texto), separa los Estados del pasaporte por la barra vertical, convierte las fechas y extrae la base legal (60 o 63):

IN [08]python
import re

TEXTOS = {
    "a": "custody", "b": "trading platform",
    "c": "for funds", "d": "for other crypto",
    "e": "execution of orders", "f": "placing",
    "g": "reception and transmission", "h": "advice",
    "i": "portfolio management", "j": "transfer services"}

def codigos(texto):
    salida = set()
    for parte in re.split(r"\s*\|\s*", texto or ""):
        m = re.match(r"\(?([a-j])[.)]\s", parte.strip())
        if m:
            salida.add(m.group(1))
            continue
        for k, clave in TEXTOS.items():
            if clave in parte.lower():
                salida.add(k)
    return "".join(sorted(salida))

def limpiar(r):
    r = r.copy()
    r["pais"] = r["ae_homeMemberState"].str.strip()
    r["servicios"] = r["ac_serviceCode"].map(codigos)
    r["pasaporte"] = r["ac_serviceCode_cou"].fillna("").str.split("|")
    for c in ["ac_authorisationNotificationDate",
              "ac_authorisationEndDate"]:
        r[c] = pd.to_datetime(r[c], format="%d/%m/%Y")
    r["via"] = r["ac_legal_basis"].fillna("").str.extract(
        r"(60|63)", expand=False)
    return r

limpio = limpiar(reg)
limpio[["pais", "ae_commercial_name", "servicios", "via",
        "ac_authorisationEndDate"]]
OUT [08]Limpiar el registro: códigos de servicio, países y fechas
  pais ae_commercial_name servicios  via ac_authorisationEndDate
0   MT               Alfa      abcd   63                     NaT
1   DE              Cenit        eg   60                     NaT
2   ES             Dedalo        cj  NaN              2026-09-15

Alfa (Malta) está autorizada con el artículo 63 para custodia, plataforma y los dos canjes; Cenit es un banco que notificó con el artículo 60 ejecución y transmisión de órdenes; Dedalo tenía canje y transferencias, y su autorización se retiró el 15/09/2026. Cada entidad lleva su LEI (Legal Entity Identifier, ISO 17442), un código de 20 caracteres cuyos dos últimos dígitos son de control: con la norma ISO 7064 (MOD 97-10), el número formado por sus caracteres (las letras como 10 a 35) debe dar resto 1 al dividir entre 97:

IN [09]python
def lei_valido(lei):
    """ISO 17442: 20 caracteres y MOD 97-10 (ISO 7064) igual a 1."""
    if not re.fullmatch(r"[0-9A-Z]{18}[0-9]{2}", lei or ""):
        return False
    return int("".join(str(int(c, 36)) for c in lei)) % 97 == 1

def con_control(base18):
    n = int("".join(str(int(c, 36)) for c in base18 + "00"))
    return base18 + f"{98 - n % 97:02d}"

print(con_control("5299000ALFA0CRIPTO"),
      lei_valido("5299000ALFA0CRIPTO79"))
print({n: lei_valido(x) for n, x in
       zip(limpio["ae_commercial_name"], limpio["ae_lei"])})
print("un dígito cambiado:", lei_valido("5299000ALFA0CRIPTO78"))
OUT [09]El LEI: un identificador con dígitos de control
5299000ALFA0CRIPTO79 True
{'Alfa': True, 'Cenit': True, 'Dedalo': False}
un dígito cambiado: False

El LEI de Dedalo tiene una errata y no pasa el control; el algoritmo también valida los LEI reales del registro. Al cruzar registros (ESMA, la CNMV, un proveedor de datos), el LEI es la clave fiable; el nombre comercial no lo es.

Comprobar un proveedor antes de operar

La CNMV recomienda verificar en los registros de ESMA y de la CNMV que el proveedor está autorizado, comprobar qué entidad jurídica presta el servicio (las protecciones de MiCA solo cubren a la entidad autorizada en la UE, no a otras sociedades del grupo aunque usen la misma marca) y consultar su lista de entidades no autorizadas4. Convertido en una lista de comprobaciones sobre el extracto limpio, con una lista ficticia de no conformes:

IN [10]python
NCASP = pd.DataFrame({"ae_commercial_name": ["Icaro Trade"],
                      "ae_website": ["https://icaro.example"]})

def comprobar(nombre, necesito, pais="ES", dia=hoy):
    fila = limpio[limpio["ae_commercial_name"] == nombre]
    r = {"en el registro de CASP": not fila.empty,
         "no figura como no conforme":
             nombre not in set(NCASP["ae_commercial_name"])}
    if fila.empty:
        return r
    f = fila.iloc[0]
    fin = f["ac_authorisationEndDate"]
    r["autorización vigente"] = pd.isna(fin) or fin > dia
    r["servicios " + necesito] = set(necesito) <= set(f["servicios"])
    r[f"opera en {pais}"] = (f["pais"] == pais
                             or pais in f["pasaporte"])
    r["LEI válido"] = lei_valido(f["ae_lei"])
    return r

for nombre, necesito in [("Alfa", "cd"), ("Cenit", "cd"),
                         ("Dedalo", "c"), ("Icaro Trade", "c")]:
    res = comprobar(nombre, necesito)
    fallos = [k for k, ok in res.items() if not ok]
    print(f"{nombre:<11} {'OK' if not fallos else 'NO'}  {fallos}")
OUT [10]Comprobar un proveedor antes de operar
Alfa        OK  []
Cenit       NO  ['servicios cd', 'opera en ES']
Dedalo      NO  ['autorización vigente', 'LEI válido']
Icaro Trade NO  ['en el registro de CASP', 'no figura como no conforme']

Alfa pasa todas para canjear por fondos y por otros criptoactivos en España (está autorizada en Malta y tiene España en su pasaporte). Cenit está registrada, pero no para esos servicios ni con pasaporte a España. Dedalo ya no está autorizada y además su LEI no cuadra, una señal de que el registro que se usa tiene erratas. Icaro Trade no está en el registro y sí en la lista de no conformes. La comprobación no sustituye a leer el contrato y a consultar el registro de la CNMV, pero sí evita el error más frecuente: operar con una marca conocida a través de una sociedad que no es la autorizada.

Lo que cambia para un trader sistemático

  • Custodia. Un CASP que guarda criptoactivos de clientes debe proteger su propiedad, sobre todo frente a su propia insolvencia, y no puede usarlos por cuenta propia (art. 70.1); los fondos de clientes distintos de EMT se depositan en una entidad de crédito o un banco central antes del final del día hábil siguiente, en cuentas separadas (art. 70.3). El custodio responde de la pérdida de criptoactivos por un incidente que se le pueda atribuir, hasta su valor de mercado (art. 75.8). Es lo que faltó en el caso de dedalo de la lección 3.7.2.
  • Abuso de mercado. El título VI (arts. 86 a 92) prohíbe la manipulación y el uso de información privilegiada en criptoactivos admitidos a negociación, dentro y fuera de las plataformas y desde dentro o fuera de la Unión. Una estrategia que transmita señales falsas sobre la oferta o la demanda (art. 91.2.a) es manipulación también en cripto: cuidado con las órdenes que no se piensan ejecutar y con las operaciones contra uno mismo.
  • Derivados. Perpetuos, futuros y opciones son instrumentos de MiFID II (guía 5 de ESMA). Quien los ofrece a clientes de la UE necesita la autorización correspondiente de MiFID II, no basta la de CASP, y para un minorista aplican las reglas de producto y de apalancamiento de MiFID II.
  • Supervisión en España. La CNMV es la autoridad competente para la supervisión del cumplimiento de MiCA, y el Banco de España ejerce las funciones de supervisión de los emisores de EMT y ART4.
  • Fiscalidad. No es materia de MiCA; la lección 7.4.4 trata la fiscalidad y la información que los proveedores envían a Hacienda.

Ejercicios

  1. Con la tabla de periodos transitorios, calcula qué Estados seguían en régimen transitorio el 1 de enero de 2026 y cuántos días le quedaban a cada grupo.
Solución
IN [11]python
dia = pd.Timestamp("2026-01-01")
vivos = tr[tr["fin"] > dia].copy()
vivos["dias_restantes"] = (vivos["fin"] - dia).dt.days
print(len(vivos), "Estados")
print(vivos.groupby("meses")["dias_restantes"].first().to_dict())
print(sorted(set(tr.index) - set(vivos.index)))
OUT [11]Estados en régimen transitorio a 1 de enero de 2026
17 Estados
{18: 181}
['AT', 'DE', 'FI', 'HU', 'IE', 'LT', 'LV', 'NL', 'NO', 'PL', 'SE', 'SI', 'SK']

El 1 de enero de 2026 solo seguían en régimen transitorio los 17 Estados de 18 meses, con 181 días por delante hasta el 1 de julio. Los de 6, 9 y 12 meses ya habían terminado: los de 12, el 30 de diciembre de 2025, dos días antes. Para un sistema que operaba en varios exchanges europeos, eso significa que durante el primer semestre de 2026 un mismo proveedor podía estar ya obligado a tener autorización en un país y no en otro.

  1. Añade al extracto una entidad ficticia «Faro Custodia» autorizada en Francia con custodia y transferencias (letras a y j) y pasaporte a España, Italia y Portugal, con un LEI válido generado por ti, y compruébala para custodia (a) y para canje por fondos (c).
Solución
IN [12]python
faro = pd.DataFrame([{
    "ae_competentAuthority": "Autoridad Ficticia de Francia",
    "ae_homeMemberState": "FR",
    "ae_lei_name": "Faro Custodia SAS",
    "ae_lei": con_control("969500FARO00CUSTOD"),
    "ae_commercial_name": "Faro",
    "ac_authorisationNotificationDate": "01/07/2026",
    "ac_serviceCode": "a. providing custody and administration of "
                      "crypto-assets on behalf of clients | "
                      "j. providing transfer services for "
                      "crypto-assets on behalf of clients",
    "ac_serviceCode_cou": "ES|IT|PT",
    "ac_legal_basis": "Article 63 - CASP authorisation"}])
limpio = limpiar(pd.concat([reg, faro], ignore_index=True))
print(limpio.loc[limpio["ae_commercial_name"] == "Faro",
                 ["ae_lei", "servicios", "pasaporte"]].to_string())
for necesito in ["a", "c"]:
    res = comprobar("Faro", necesito)
    print(necesito, [k for k, ok in res.items() if not ok])
OUT [12]Una entidad más en el extracto
                 ae_lei servicios     pasaporte
3  969500FARO00CUSTOD66        aj  [ES, IT, PT]
a []
c ['servicios c']

El LEI generado pasa el control y la limpieza convierte los dos servicios en aj. Para custodia en España, Faro pasa todas las comprobaciones; para canje por fondos falla la de servicios: con esa autorización puede custodiar y transferir, pero no comprar ni vender criptoactivos a sus clientes. El registro dice qué servicios puede prestar cada entidad, no solo si está autorizada.

  1. Un sistema quiere operar desde España perpetuos de XBQ en un exchange autorizado como CASP en otro Estado de la UE. Enumera qué comprobarías y por qué la autorización de CASP no basta.
Solución

Primero, que la entidad con la que se contrata es la autorizada (LEI y nombre jurídico en el contrato, no la marca) y que figura en el registro de ESMA sin fecha de retirada, con España en su pasaporte y fuera de la lista de no conformes y de la de la CNMV. Después, que los servicios autorizados cubren lo que se va a hacer con el contado y la custodia (letras a, c, d o e, según el caso). Pero el perpetuo no es un criptoactivo de MiCA: según la guía 5 de ESMA es un derivado de MiFID II, así que la entidad necesita además una autorización de MiFID II para ofrecerlo a clientes de la UE (y, si el cliente es minorista, las reglas de producto y de apalancamiento de MiFID II). Si solo tiene la de CASP, ofrecer perpetuos a clientes españoles queda fuera de lo que esa autorización permite. Por último, el riesgo de contraparte no desaparece: MiCA exige segregar y custodiar, pero no hay fondo de garantía de inversores, y la lección 3.7.2 enseña lo que se pierde cuando un exchange suspende las retiradas.

Footnotes

  1. Reglamento (UE) 2023/1114 del Parlamento Europeo y del Consejo, de 31 de mayo de 2023 (DO L 150 de 9.6.2023), artículos 2, 3, 59 a 63, 65, 67, 70, 75, 86 a 92, 109, 110, 143 y 149, y anexo IV, versión española en EUR-Lex, consultada el 22/10/2026. ↩ ↩2 ↩3 ↩4 ↩5 ↩6

  2. ESMA, «Final Report. Guidelines on the conditions and criteria for the qualification of crypto-assets as financial instruments», ESMA75453128700-1323, 17/12/2024, guía 5, apartado 47, esma.europa.eu. ↩

  3. ESMA, «List of grandfathering periods decided by Member States under Article 143 of Regulation (EU) 2023/1114» (PDF del 19/05/2026), esma.europa.eu, consultada el 22/10/2026. ↩

  4. CNMV, «MiCA: Nueva regulación de criptoactivos», cnmv.es, consultada el 22/10/2026. ↩ ↩2 ↩3 ↩4

  5. ESMA, página de MiCA, sección «Interim MiCA Register» (cinco ficheros CSV, última actualización del 19/10/2026, y descripción de los campos), esma.europa.eu, consultada el 22/10/2026. ↩

Respuesta plegada en cada pregunta

Autoevaluación

  1. Un exchange que ya operaba en España con la ley nacional antes del 30/12/2024 no tiene autorización MiCA el 15 de julio de 2026. ¿Puede seguir prestando servicios a clientes en España?

    • ASí, mientras tramite la solicitud
    • BNo: el régimen transitorio termina como tarde el 1 de julio de 2026, y la CNMV dice que desde esa fecha solo pueden operar proveedores autorizados
    • CSí, si tiene su sede fuera de la UE
    • DSí, hasta el 31 de diciembre de 2027
    Ver respuesta

    Respuesta B. No: el régimen transitorio termina como tarde el 1 de julio de 2026, y la CNMV dice que desde esa fecha solo pueden operar proveedores autorizados

    El artículo 143.3 permite seguir hasta el 1 de julio de 2026 o hasta la autorización o denegación, si es antes. España eligió el plazo máximo de 18 meses. El 31/12/2027 es otra cosa: el plazo de los libros blancos de criptoactivos ya negociados (art. 143.2.b).

  2. ¿Qué régimen aplica a un futuro perpetuo sobre bitcoin ofrecido a clientes de la UE?

    • AMiCA, porque el subyacente es un criptoactivo
    • BNinguno
    • CMiFID II: las directrices de ESMA piden tratar los perpetuos como contratos derivados, y MiCA no se aplica a los criptoactivos que son instrumentos financieros
    • DEl de las fichas de dinero electrónico
    Ver respuesta

    Respuesta C. MiFID II: las directrices de ESMA piden tratar los perpetuos como contratos derivados, y MiCA no se aplica a los criptoactivos que son instrumentos financieros

    El artículo 2.4 deja fuera de MiCA los instrumentos financieros, y la guía 5 de ESMA (17/12/2024) dice que los perpetuos deben tratarse como derivados y evaluarse con el anexo I, sección C, puntos 4 a 10, de MiFID II. Una autorización de CASP no cubre, por sí sola, ofrecer derivados.

  3. Un proveedor presta custodia, canje por fondos y gestiona una plataforma de negociación. Sus gastos fijos generales del año anterior fueron 400.000 EUR. ¿Qué capital mínimo le exige MiCA?

    • A50.000 EUR
    • B125.000 EUR
    • C150.000 EUR (clase 3), porque es mayor que la cuarta parte de sus gastos fijos (100.000)
    • D400.000 EUR
    Ver respuesta

    Respuesta C. 150.000 EUR (clase 3), porque es mayor que la cuarta parte de sus gastos fijos (100.000)

    La gestión de una plataforma de negociación lo pone en la clase 3 del anexo IV (150.000 EUR), y el artículo 67 exige el mayor entre ese mínimo y una cuarta parte de los gastos fijos generales: max(150.000, 100.000) = 150.000.

  4. En el registro provisional de ESMA, un proveedor figura con ac_authorisationEndDate = 15/09/2026. ¿Qué significa?

    • AQue su autorización empieza ese día
    • BQue es la fecha de retirada de la autorización: desde entonces ya no puede prestar los servicios
    • CQue es la última actualización del registro
    • DQue tiene que renovarla ese día
    Ver respuesta

    Respuesta B. Que es la fecha de retirada de la autorización: desde entonces ya no puede prestar los servicios

    Según la descripción de campos que publica ESMA, ac_authorisationEndDate es la fecha de retirada de la autorización, si la hay. La de autorización es ac_authorisationNotificationDate y la de actualización, ac_lastupdate.

  5. ¿Qué protege MiCA cuando un cliente opera con una marca que tiene varias sociedades en el mundo?

    • ATodas las sociedades del grupo
    • BSolo la entidad jurídica autorizada en la UE; por eso hay que comprobar en el contrato qué sociedad presta el servicio
    • CNinguna
    • DLas sociedades con más volumen
    Ver respuesta

    Respuesta B. Solo la entidad jurídica autorizada en la UE; por eso hay que comprobar en el contrato qué sociedad presta el servicio

    La CNMV lo advierte expresamente: las protecciones de MiCA solo se aplican a la entidad jurídica autorizada en la UE, no a otras empresas del grupo ni a entidades de fuera de la UE, aunque usen la misma marca. Además, no hay un sistema de indemnización de los inversores si el proveedor quiebra.

Ideas clave

  • MiCA (Reglamento (UE) 2023/1114) regula la emisión y oferta de criptoactivos (libros blancos, ART y EMT) y a sus proveedores de servicios (CASP); deja fuera los instrumentos financieros, los depósitos y los criptoactivos únicos y no fungibles.
  • Fechas: entrada en vigor el 29/06/2023, títulos III y IV desde el 30/06/2024, aplicación plena desde el 30/12/2024 y régimen transitorio de los CASP hasta el 01/07/2026 como máximo (España eligió el máximo, 18 meses).
  • Hay diez servicios de criptoactivos (letras a a j del art. 3.1.16) y tres clases de capital mínimo: 50.000, 125.000 y 150.000 EUR, o una cuarta parte de los gastos fijos si es mayor.
  • Prestar servicios exige autorización como CASP (art. 63) o, para bancos, empresas de servicios de inversión y otras entidades ya supervisadas, una notificación (art. 60); la autorización vale en toda la UE con el pasaporte del art. 65.
  • El registro provisional de ESMA son cinco CSV; leerlo exige limpiar códigos de país, servicios en formatos mezclados y fechas dd/mm/aaaa, y comprobar la fecha de retirada, el pasaporte y la lista de no conformes.
  • Los perpetuos y demás derivados sobre criptoactivos son instrumentos de MiFID II según ESMA; el título VI de MiCA prohíbe la manipulación y el uso de información privilegiada también dentro y fuera de las plataformas.

Recursos