Rule · BLOCKER
COMMON.RISK_WARNING
Mandatory risk warning statement
- Citation
- Art. 6(5), Art. 19(4), Art. 51(4) MiCAR
- Canonical form
- Art. 6 Abs. 5, Art. 19 Abs. 4, Art. 51 Abs. 4 MiCAR
- Runs for
- Annex I · other crypto-assets; Annex II · asset-referenced tokens; Annex III · e-money tokens
- Severity if open
- BLOCKER
- Section key
risk_warning- Minimum words
- 20
- Listed terms (English)
lose,value,transferable,liquid,investor compensation,deposit guarantee(Annex I, Annex II);investor compensation,deposit guarantee(Annex III)- Listed terms (German)
verlier,übertragbar,liquid,entschädigung,einlagensicherung(Annex I, Annex II);entschädigung,einlagensicherung(Annex III)- Wording sent to review (English)
it cannot lose its value(pattern(?P<it_cannot_lose_its_value>(?:^|(?<=[.!?;:]))(?![^.!?;:]*\b(?:no|not|cannot|without)\s+(?:\w+\s+){0,2}?(?:guarantee|assur|warrant|promise))[^.!?;:]*?\b(?:cannot|can\s?not|can['\u2019]t|will\s+not|won['\u2019]t|will\s+never|never|does\s+not|doesn['\u2019]t|is\s+not\s+able\s+to)\s+(?:\w+\s+){0,2}?los(?:e|es|ing)\b)),it is always transferable(pattern(?P<it_is_always_transferable>(?<!not )\balways\s+(?:be\s+)?(?:freely\s+)?transfer(?:able|red)\b|(?<!not )(?<!not be )(?<!not be freely )\btransferable\s+at\s+(?:all|any)\s+times?\b)),it is always liquid(pattern(?P<it_is_always_liquid>(?<!not )\balways\s+(?:be\s+)?liquid\b|(?<!not )(?<!not be )\bliquid\s+at\s+all\s+times\b)),a compensation or guarantee scheme covers it(pattern(?P<a_compensation_or_guarantee_scheme_covers_it>\b(?:is|are)\s+(?:fully\s+|also\s+)?(?:covered|protected)\s+by\s+(?:the\s+|an?\s+|any\s+)?(?:\w+\s+)?(?:investor\s+compensation|deposit\s+guarantee)|(?<!nor )(?<!nor the )(?<!neither )(?<!neither the )\b(?:investor\s+compensation|deposit\s+guarantee)\s+schemes?\s+(?:fully\s+|also\s+)?(?:cover|covers|protect|protects)\b)) (Annex I, Annex II);a compensation or guarantee scheme covers it(pattern(?P<a_compensation_or_guarantee_scheme_covers_it>\b(?:is|are)\s+(?:fully\s+|also\s+)?(?:covered|protected)\s+by\s+(?:the\s+|an?\s+|any\s+)?(?:\w+\s+)?(?:investor\s+compensation|deposit\s+guarantee)|(?<!nor )(?<!nor the )(?<!neither )(?<!neither the )\b(?:investor\s+compensation|deposit\s+guarantee)\s+schemes?\s+(?:fully\s+|also\s+)?(?:cover|covers|protect|protects)\b)) (Annex III)- Wording sent to review (German)
er kann seinen Wert nicht verlieren(pattern(?P<er_kann_seinen_Wert_nicht_verlieren>\b(?:kann|können|wird|werden)\s+(?:(?:seinen|ihren|den)\s+Wert\s+)?(?:nicht|niemals|nie)\s+(?:(?:ganz\s+oder\s+teilweise|teilweise\s+oder\s+ganz)\s+)?verlier\w*|\bverlier\w*\s+(?:(?:seinen|ihren|den)\s+Wert\s+)?(?:nicht|niemals|nie)\b)),er ist stets übertragbar(pattern(?P<er_ist_stets_übertragbar>(?<!nicht )\b(?:stets|immer|jederzeit)\s+(?:frei\s+)?übertragbar\w*)),er ist stets liquide(pattern(?P<er_ist_stets_liquide>(?<!nicht )\b(?:stets|immer|jederzeit)\s+liquid\w*)),ein Entschädigungssystem oder Einlagensicherungssystem deckt ihn(pattern(?P<ein_Entschädigungssystem_oder_Einlagensicherungssystem_deckt_ihn>\bfäll\w*\s+(?:vollständig\s+|auch\s+)?unter\s+(?:die\s+|das\s+|den\s+|ein\w*\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*)|(?<!nicht )(?<!weder )(?<!noch )\bunter\s+(?:die\s+|das\s+|den\s+|ein\w*\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*)(?:\s+[^\s.;!?]+){0,10}?\s+fäll\w*|\b(?:ist|sind|wird|werden)\s+(?:vollständig\s+|auch\s+)?(?:durch|von)\s+(?:den\s+|die\s+|das\s+|dem\s+|einem?\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*))) (Annex I, Annex II);ein Entschädigungssystem oder Einlagensicherungssystem deckt ihn(pattern(?P<ein_Entschädigungssystem_oder_Einlagensicherungssystem_deckt_ihn>\bfäll\w*\s+(?:vollständig\s+|auch\s+)?unter\s+(?:die\s+|das\s+|den\s+|ein\w*\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*)|(?<!nicht )(?<!weder )(?<!noch )\bunter\s+(?:die\s+|das\s+|den\s+|ein\w*\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*)(?:\s+[^\s.;!?]+){0,10}?\s+fäll\w*|\b(?:ist|sind|wird|werden)\s+(?:vollständig\s+|auch\s+)?(?:durch|von)\s+(?:den\s+|die\s+|das\s+|dem\s+|einem?\s+)?(?:System(?:en?)?\s+(?:für\s+die|zur)\s+Entschädigung\s+der\s+Anleger|Anlegerentschädigungs\w*|Entschädigungssystem\w*|Einlagensicherungs\w*))) (Annex III)- Package version
- 1.2.1, built from source that may include unreleased changes
- Source
- rules/common.py
How the status is set
- Missing: section
risk_warningis absent or empty, or holds only placeholder text such as TBD or TBC. - Review: the section has fewer than 20 words, or a term listed for the draft's regime does not appear (case-insensitive substring match, with any run of spaces and line breaks read as one space).
- Review also follows when the section uses one of the wordings shown above as sent to review, each of which turns a required statement around, such as a text saying that the crypto-asset cannot lose its value. The finding names the wording, not the draft text.
- In a numbered-field XHTML draft, Review also follows when a field of the section holds only a placeholder such as TBD; the finding names the field by its number and, in English, by the template's name where the linter has one for that field.
- Pass: none of the above. A pass means the check matched, nothing more.
Art. 6(5) and Art. 19(4) MiCAR require a statement that the crypto-asset may lose its value in part or in full, may not always be transferable and may not be liquid, and that investor compensation and deposit guarantee schemes do not cover it; the listed terms come from that wording. Art. 51(4) asks an e-money token white paper only for the two scheme warnings, so EMT drafts are checked for those, and only wording that turns them around sends an EMT warning to review. The utility-token statement of Art. 6(5)(d) applies to utility tokens only and is not checked.
Legal basis
Art. 6(5), Art. 19(4), Art. 51(4) MiCAR
Checked on 2026-10-27 against the Official Journal text in English and German (OJ L 150, 9.6.2023) and the consolidated version of 9 January 2024. No amendment and no English or German corrigendum changes Art. 6(5), Art. 19(4) or Art. 51(4).
Synthetic examples
Each example is linted when this page is generated. The build fails if a result differs.
The section key is missing or empty.
{
"title": "Synthetic rule example",
"type": "other",
"sections": {}
}Every listed term appears, but the section is shorter than 20 words.
{
"title": "Synthetic rule example",
"type": "other",
"sections": {
"risk_warning": "lose value transferable liquid investor compensation deposit guarantee"
}
}This text passes and shows what the check measures: listed terms and length. It is not model disclosure wording and does not meet MiCAR.
{
"title": "Synthetic rule example",
"type": "other",
"sections": {
"risk_warning": "Synthetic example naming lose, value, transferable, liquid, investor compensation, deposit guarantee. This synthetic sentence only adds length and states no fact about any issuer or token."
}
}Every listed term appears, but the text says that the schemes cover the crypto-asset, the opposite of the required statement, so a reviewer checks it.
{
"title": "Synthetic rule example",
"type": "other",
"sections": {
"risk_warning": "Synthetic example naming lose, value, transferable, liquid, investor compensation, deposit guarantee. This synthetic sentence only adds length and states no fact about any issuer or token. Investor compensation schemes and deposit guarantee schemes cover the crypto-asset."
}
}The section key is missing or empty.
{
"title": "Synthetic rule example",
"type": "emt",
"sections": {}
}Every listed term appears, but the section is shorter than 20 words.
{
"title": "Synthetic rule example",
"type": "emt",
"sections": {
"risk_warning": "investor compensation deposit guarantee"
}
}This text passes and shows what the check measures: listed terms and length. It is not model disclosure wording and does not meet MiCAR.
{
"title": "Synthetic rule example",
"type": "emt",
"sections": {
"risk_warning": "Synthetic example naming investor compensation, deposit guarantee. This synthetic sentence only adds length and states no fact about any issuer or token."
}
}Every listed term appears, but the text says that the schemes cover the crypto-asset, the opposite of the required statement, so a reviewer checks it.
{
"title": "Synthetic rule example",
"type": "emt",
"sections": {
"risk_warning": "Synthetic example naming investor compensation, deposit guarantee. This synthetic sentence only adds length and states no fact about any issuer or token. Investor compensation schemes and deposit guarantee schemes cover the crypto-asset."
}
}Limitations
- Reads one section key,
risk_warning. Text elsewhere in the draft is not considered. - Matches words and counts length. It does not test accuracy, consistency with other sections or the point-level items of the cited Part.
- Status and severity are fixed by the rule. A draft cannot waive or downgrade them.
- Recognises a statement turned around only in the wordings shown above, in English and German. A contradiction worded otherwise still passes, and so does one in another section.
Disagree with this rule, or missing one? Propose a rule change.