Rule · BLOCKER
ANNEX_II.I
Redemption rights and procedure (timing, fees, suspension conditions)
- Citation
- Annex II, Part D, points 9, 14, 15 and 16, Part G, point 3 in conjunction with Art. 39, Art. 46(1), third subparagraph, point (c) and Art. 46(4) MiCAR
- Canonical form
- Anhang II Teil D Nr. 9, 14, 15 und 16, Teil G Nr. 3 i.V.m. Art. 39, Art. 46 Abs. 1 UAbs. 3 Buchst. c und Art. 46 Abs. 4 MiCAR
- Runs for
- Annex II · asset-referenced tokens
- Severity if open
- BLOCKER
- Section key
redemption- Minimum words
- 100
- Listed terms (English)
redemption,market value,procedure,timeframe,suspension,fee(pattern(?P<fee>\bfees?\b))- Listed terms (German)
rücktausch,marktwert,verfahren,zeitrahmen,gebühr(pattern(?P<gebühr>gebühr(?!end))),aussetzung(pattern(?P<aussetzung>(?<!vor)(?<!vorr)aussetzung))- Package version
- 1.2.1, built from source that may include unreleased changes
- Source
- rules/annex_ii.py
How the status is set
- Missing: section
redemptionis absent or empty, or holds only placeholder text such as TBD or TBC. - Review: the section has fewer than 100 words, or a listed term does not appear (case-insensitive substring match, with any run of spaces and line breaks read as one space; a term shown with a pattern counts only where the pattern matches, so that a look-alike word does not stand in for it).
- 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.
- Review also follows when the section mentions par value anywhere: the word “par” (as in “at par”, “par value” or “at-par”), “face value”, “nominal value”, “nominal amount”, “nominal price” or “at nominal”, or a form of “Nennwert”, “Nennbetrag”, “Nominalwert”, “Nominalbetrag”, “nominaler Wert”, “nomineller Wert”, “zum Nominale”, “pari”, “Pariwert”, “Parikurs” or “Parirücktausch”, in drafts of either language and ignoring case. A soft hyphen, a zero-width character or a hyphen at a line end inside the word does not hide it. Only uses that never mean par value do not count: “par” for a paragraph next to an article number (“Art. 39 par. 2”, “par. 2 of Art. 39”), “on par” or “on a par”, “par for the course”, “par excellence”, “sub-par”, “pari passu”, “rank at par”, “at par with each other” or “with one another”, and “at nominal” before “cost”, “fee” or “charge”. The issue says that redemption at par value is the e-money token rule of Art. 49(4) MiCAR and that an ART issuer redeems by paying funds, other than electronic money, equivalent to the market value of the referenced assets, or by delivering those assets (Art. 39(2) MiCAR), and asks the reviewer to check whether the section ties the token's redemption to par value.
- Pass: none of the above. A pass means the check matched, nothing more.
Legal basis
Annex II, Part D, points 9, 14, 15 and 16, Part G, point 3 in conjunction with Art. 39, Art. 46(1), third subparagraph, point (c) and Art. 46(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 Annex II Parts D and G, Art. 39, Art. 46 or Art. 49(4), which the note on par value cites.
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": "art",
"sections": {}
}Every listed term appears, but the section is shorter than 100 words.
{
"title": "Synthetic rule example",
"type": "art",
"sections": {
"redemption": "redemption market value procedure timeframe suspension fee"
}
}Every listed term appears and the section is long enough. It mentions par value, and redemption at par value is the e-money token rule of Art. 49(4) MiCAR; an ART issuer redeems by paying funds, other than electronic money, equivalent to the market value of the referenced assets, or by delivering those assets (Art. 39(2) MiCAR).
{
"title": "Synthetic rule example",
"type": "art",
"sections": {
"redemption": "Synthetic example naming redemption, market value, procedure, timeframe, suspension, fee. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. Holders redeem at par."
}
}The note also follows where par value describes the reserve of assets. The check reads the words and leaves it to the reviewer whether the token's redemption depends on par value.
{
"title": "Synthetic rule example",
"type": "art",
"sections": {
"redemption": "Synthetic example naming redemption, market value, procedure, timeframe, suspension, fee. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. Reserve bills are bought at a discount and redeemed at par."
}
}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": "art",
"sections": {
"redemption": "Synthetic example naming redemption, market value, procedure, timeframe, suspension, fee. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token. This synthetic sentence only adds length and states no fact about any issuer or token."
}
}Limitations
- Reads one section key,
redemption. 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.
- The Annex II rules have not yet been run against a real ART white paper.
- The note on par value reads the words alone. It also follows where par value describes the reserve of assets, issuance or the cover of the reserve, where the section says that the token is not redeemed at par, and in idioms such as “take at face value”; the reviewer decides whether the token's redemption depends on par value. Other words for the same basis, such as “1:1”, “dollar for dollar” or “at parity”, are not found. Text that the loader does not put into the redemption section is not read: a heading, a table in a DOCX draft, and text in a table cell of a heading-based XHTML draft unless a p, li or bold element, or a div with no div or p child, holds it, in the cell or around the table.
Disagree with this rule, or missing one? Propose a rule change.