<?xml version="1.0" encoding="utf-8"?>
<rbl:kb xmlns:rbl="http://rbl.io/schema/RBLang">

  <!-- ================================================================ -->
  <!-- GENIUS Act Stablecoin Compliance - transaction disposition and   -->
  <!-- obligation reasoning for banks, payment intermediaries, issuers  -->
  <!-- and custodians. Generic demo and reusable blueprint. Every       -->
  <!-- institution, coin, wallet, mixer, person and foreign             -->
  <!-- jurisdiction is fictional; the US legal framework is real.       -->
  <!-- Grounding: GENIUS Act Pub L 119-27 (12 USC 5901-5916), FinCEN /  -->
  <!-- OFAC joint NPRM 91 FR 18582 (Apr 2026, PROPOSED), joint CIP NPRM -->
  <!-- 91 FR 37234 (Jun 2026, PROPOSED), OFAC Framework May 2019 and    -->
  <!-- Virtual Currency Guidance Oct 2021 (GUIDANCE), BSA Travel Rule   -->
  <!-- 31 CFR 1010.410(e)-(f) with FIN-2019-G001, SAR rules 31 CFR      -->
  <!-- 1020.320 / 1022.320, OFAC reporting 31 CFR 501.603-604.          -->
  <!-- Authority status discipline: FINAL LAW / PROPOSED / GUIDANCE /   -->
  <!-- HOUSE POLICY labels are carried in evidence and rationale text.  -->
  <!-- House risk-appetite numerics cite the institution board-approved -->
  <!-- risk appetite statement, never a regulation.                     -->
  <!-- Era model: evaluation date on the GENIUS Policy instance drives  -->
  <!-- Era 1 pre-effective, Era 2 effective (default 2027-01-18), Era 3 -->
  <!-- DASP prohibition (2028-07-18, no extension authority).           -->
  <!-- One evaluating institution per session. Exactly one outcome per  -->
  <!-- ladder: coin status, acceptance, wallet tier, travel rule,       -->
  <!-- disposition, sec 8 state, programme assessment.                  -->
  <!-- ================================================================ -->

  <!-- ============================ Concepts ========================== -->

  <concept name="Transaction" type="string"/>
  <concept name="Entity" type="string"/>
  <concept name="Stablecoin" type="string"/>
  <concept name="Wallet" type="string"/>
  <concept name="Mixer" type="string"/>
  <concept name="Transfer Party" type="string"/>
  <concept name="Order" type="string"/>
  <concept name="Jurisdiction" type="string"/>
  <concept name="Policy" type="string"/>
  <concept name="Regulatory Era" type="string"/>
  <concept name="Coin Status" type="string"/>
  <concept name="Acceptance Position" type="string"/>
  <concept name="Wallet Tier" type="string"/>
  <concept name="Travel Rule Status" type="string"/>
  <concept name="Chain Role" type="string"/>
  <concept name="Entity Role" type="string"/>
  <concept name="Charter Type" type="string"/>
  <concept name="Permit Type" type="string"/>
  <concept name="Listing Status" type="string"/>
  <concept name="Sec8 State" type="string"/>
  <concept name="Sanctions Basis" type="string"/>
  <concept name="Suspicion Signal" type="string"/>
  <concept name="Disposition" type="string"/>
  <concept name="Order Outcome" type="string"/>
  <concept name="Property Resolution" type="string"/>
  <concept name="Purpose" type="string"/>
  <concept name="Duty" type="string"/>
  <concept name="Programme Element" type="string"/>
  <concept name="Programme Assessment" type="string"/>
  <concept name="Reporting Obligation" type="string"/>
  <concept name="Next Step" type="string"/>
  <concept name="Evidence" type="string"/>
  <concept name="Rationale" type="string"/>
  <concept name="Amount" type="number"/>
  <concept name="Percent" type="number"/>
  <concept name="Count" type="number"/>
  <concept name="Event Date" type="date"/>
  <concept name="Flag" type="truth"/>

  <!-- ======================= Relationships ========================== -->
  <!-- Transaction feed: injected by the payments and screening systems -->

  <rel name="is evaluated by" subject="Transaction" object="Entity" askable="none" canAdd="all"/>
  <rel name="uses stablecoin" subject="Transaction" object="Stablecoin" askable="none" canAdd="all"/>
  <rel name="has counterparty wallet" subject="Transaction" object="Wallet" askable="none" canAdd="all"/>
  <rel name="has originator party" subject="Transaction" object="Transfer Party" askable="none" canAdd="all"/>
  <rel name="has beneficiary party" subject="Transaction" object="Transfer Party" askable="none" canAdd="all"/>
  <rel name="has amount usd" subject="Transaction" object="Amount" askable="none"/>
  <rel name="has transfer date" subject="Transaction" object="Event Date" askable="none"/>
  <rel name="has chain role" subject="Transaction" object="Chain Role" askable="none"/>
  <rel name="institution holds transaction asset" subject="Transaction" object="Flag" askable="none"/>
  <rel name="sanctions screening performed" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule field records present" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has originator name" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has originator address" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has originator account" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has amount record" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has execution date record" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has recipient institution identified" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has beneficiary name" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule has beneficiary account" subject="Transaction" object="Flag" askable="none"/>
  <rel name="originator name matches kyc record" subject="Transaction" object="Flag" askable="none"/>
  <rel name="uses pseudonym or coded reference" subject="Transaction" object="Flag" askable="none"/>
  <rel name="counterparty is self hosted" subject="Transaction" object="Flag" askable="none"/>
  <rel name="same day related transfer count" subject="Transaction" object="Count" askable="none"/>
  <rel name="same day aggregate amount usd" subject="Transaction" object="Amount" askable="none"/>
  <rel name="trailing day transfer count" subject="Transaction" object="Count" askable="none"/>
  <rel name="turnover multiple observed" subject="Transaction" object="Count" askable="none"/>
  <rel name="moved after designation event" subject="Transaction" object="Flag" askable="none"/>
  <rel name="shows pig butchering behaviour" subject="Transaction" object="Flag" askable="none"/>
  <rel name="is unsolicited receipt" subject="Transaction" object="Flag" askable="none"/>

  <!-- Transaction askables: the only analyst-answerable facts -->
  <rel name="has stated purpose" subject="Transaction" object="Purpose" askable="secondFormObject" allowUnknown="true" canAdd="all">
    <secondFormObject>What is the stated business purpose of transaction %S?</secondFormObject>
  </rel>
  <rel name="property interest confirmed" subject="Transaction" object="Flag" askable="secondFormObject" allowUnknown="true">
    <secondFormObject>Has it been confirmed that the institution holds or controls the stablecoins in transaction %S, for example in custody or an omnibus wallet?</secondFormObject>
  </rel>
  <rel name="counterparty vasp responded to rfi" subject="Transaction" object="Flag" askable="secondFormObject" allowUnknown="true">
    <secondFormObject>Has the counterparty VASP responded to the request for missing transfer information on %S?</secondFormObject>
  </rel>

  <!-- Entity registry and programme feed -->
  <rel name="has entity role" subject="Entity" object="Entity Role" plural="true" askable="none" canAdd="all"/>
  <rel name="has charter type" subject="Entity" object="Charter Type" askable="none"/>
  <rel name="performs dasp activity" subject="Entity" object="Flag" askable="none"/>
  <rel name="performs custody services" subject="Entity" object="Flag" askable="none"/>
  <rel name="is msb registered" subject="Entity" object="Flag" askable="none"/>
  <rel name="is evaluating acceptance of" subject="Entity" object="Stablecoin" plural="true" askable="none" canAdd="all"/>
  <rel name="markets coin as payment stablecoin" subject="Entity" object="Stablecoin" plural="true" askable="none" canAdd="all"/>
  <rel name="accepts non permitted foreign pre prohibition" subject="Entity" object="Flag" askable="none"/>
  <rel name="has outstanding issuance usd" subject="Entity" object="Amount" askable="none"/>
  <rel name="has designated compliance officer" subject="Entity" object="Flag" askable="none"/>
  <rel name="compliance officer located in us" subject="Entity" object="Flag" askable="none"/>
  <rel name="has independent testing" subject="Entity" object="Flag" askable="none"/>
  <rel name="testing uses objective criteria" subject="Entity" object="Flag" askable="none"/>
  <rel name="has training programme" subject="Entity" object="Flag" askable="none"/>
  <rel name="training is current" subject="Entity" object="Flag" askable="none"/>
  <rel name="has documented risk assessment" subject="Entity" object="Flag" askable="none"/>
  <rel name="risk assessment covers deployment blockchains" subject="Entity" object="Flag" askable="none"/>
  <rel name="has blockchain analytics capability" subject="Entity" object="Flag" askable="none"/>
  <rel name="screens sanctions at onboarding" subject="Entity" object="Flag" askable="none"/>
  <rel name="screens sanctions at transaction time" subject="Entity" object="Flag" askable="none"/>
  <rel name="has geolocation controls" subject="Entity" object="Flag" askable="none"/>
  <rel name="has lookback remediation process" subject="Entity" object="Flag" askable="none"/>
  <rel name="has documented management commitment" subject="Entity" object="Flag" askable="none"/>
  <rel name="has customer identification programme" subject="Entity" object="Flag" askable="none"/>
  <rel name="cip includes documentary verification" subject="Entity" object="Flag" askable="none"/>
  <rel name="cip includes non documentary verification" subject="Entity" object="Flag" askable="none"/>
  <rel name="has seize freeze burn capability" subject="Entity" object="Flag" askable="none"/>
  <rel name="maintains one to one reserves" subject="Entity" object="Flag" askable="none"/>
  <rel name="reserves held in permitted assets" subject="Entity" object="Flag" askable="none"/>
  <rel name="publishes monthly disclosure" subject="Entity" object="Flag" askable="none"/>
  <rel name="files monthly certification" subject="Entity" object="Flag" askable="none"/>
  <rel name="has public redemption policy" subject="Entity" object="Flag" askable="none"/>
  <rel name="pays holder yield" subject="Entity" object="Flag" askable="none"/>
  <rel name="segregates customer property" subject="Entity" object="Flag" askable="none"/>
  <rel name="is supervised custodian" subject="Entity" object="Flag" askable="none"/>

  <!-- Stablecoin registry feed -->
  <rel name="is issued by" subject="Stablecoin" object="Entity" askable="none" canAdd="all"/>
  <rel name="has issuer permit type" subject="Stablecoin" object="Permit Type" askable="none"/>
  <rel name="issuer domicile country" subject="Stablecoin" object="Jurisdiction" askable="none" canAdd="all"/>
  <rel name="issuer regulating country" subject="Stablecoin" object="Jurisdiction" askable="none" canAdd="all"/>
  <rel name="has treasury comparability determination" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="comparability rescission date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="has occ registration" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="issuer holds us reserves" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="issuer lawful order capable" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="has issuance date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="sec8 notice date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="sec8 fr publication date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="sec8 waiver date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="sec8 waiver ground" subject="Stablecoin" object="Sanctions Basis" askable="none"/>
  <rel name="sec8 compliance restored date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="has reciprocal reserve arrangement" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="covered by treasury safe harbor" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="reserve condition excused" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="safe harbor override active" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="party sanctions prohibition" subject="Transaction" object="Flag" askable="none"/>
  <rel name="has transition waiver" subject="Entity" object="Flag" askable="none"/>

  <!-- Wallet analytics feed -->
  <rel name="wallet analytics record present" subject="Wallet" object="Flag" askable="none"/>
  <rel name="is sdn listed address" subject="Wallet" object="Flag" askable="none"/>
  <rel name="is controlled by" subject="Wallet" object="Transfer Party" askable="none" canAdd="all"/>
  <rel name="owner is listed person" subject="Wallet" object="Flag" askable="none"/>
  <rel name="owner majority owned by listed person" subject="Wallet" object="Flag" askable="none"/>
  <rel name="believed sdn associated" subject="Wallet" object="Flag" askable="none"/>
  <rel name="is section 311 counterparty" subject="Wallet" object="Flag" askable="none"/>
  <rel name="direct exposure percent" subject="Wallet" object="Percent" askable="none"/>
  <rel name="indirect exposure percent" subject="Wallet" object="Percent" askable="none"/>
  <rel name="exposure hop depth" subject="Wallet" object="Count" askable="none"/>
  <rel name="has mixer exposure counterparty" subject="Wallet" object="Mixer" plural="true" askable="none" canAdd="all"/>
  <rel name="mixer exposure percent" subject="Wallet" object="Percent" askable="none"/>
  <rel name="mixer exposure is direct" subject="Wallet" object="Flag" askable="none"/>
  <rel name="geolocated in" subject="Wallet" object="Jurisdiction" askable="none" canAdd="all"/>
  <rel name="dust amount usd" subject="Wallet" object="Amount" askable="none"/>
  <rel name="received unsolicited from sanctioned source" subject="Wallet" object="Flag" askable="none"/>
  <rel name="ownership verified with customer" subject="Wallet" object="Flag" askable="secondFormObject" allowUnknown="true">
    <secondFormObject>Has ownership of wallet %S been verified directly with the customer?</secondFormObject>
  </rel>

  <!-- Mixer, party, order, jurisdiction feeds -->
  <rel name="has listing status" subject="Mixer" object="Listing Status" askable="none"/>
  <rel name="party is sdn listed" subject="Transfer Party" object="Flag" askable="none"/>
  <rel name="kyc profile current" subject="Transfer Party" object="Flag" askable="none"/>
  <rel name="relates to transaction" subject="Order" object="Transaction" askable="none" canAdd="all"/>
  <rel name="is addressed to" subject="Order" object="Entity" askable="none" canAdd="all"/>
  <rel name="order covers stablecoin" subject="Order" object="Stablecoin" askable="none" canAdd="all"/>
  <rel name="order covers wallet" subject="Order" object="Wallet" askable="none" canAdd="all"/>
  <rel name="issued under federal authority" subject="Order" object="Flag" askable="none"/>
  <rel name="is final and valid" subject="Order" object="Flag" askable="none"/>
  <rel name="specifies property with particularity" subject="Order" object="Flag" askable="none"/>
  <rel name="is subject to review" subject="Order" object="Flag" askable="none"/>
  <rel name="order authenticated by legal" subject="Order" object="Flag" askable="secondFormObject" allowUnknown="true">
    <secondFormObject>Has the legal team authenticated order %S as final, valid and in force?</secondFormObject>
  </rel>
  <rel name="is comprehensively sanctioned" subject="Jurisdiction" object="Flag" askable="none"/>
  <rel name="is pmlc determined" subject="Jurisdiction" object="Flag" askable="none"/>
  <rel name="is on monitored jurisdiction list" subject="Jurisdiction" object="Flag" askable="none"/>

  <!-- Policy parameters: GENIUS Policy dates and thresholds, Risk Appetite numerics -->
  <rel name="has enactment date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has statutory effective default" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has evaluation date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has finals issuance date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has dasp prohibition date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="travel rule threshold usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="house travel rule de minimis usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="house rejects incomplete travel rule" subject="Policy" object="Flag" askable="none"/>
  <rel name="bank sar threshold usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="msb sar threshold usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="ppsi proposed sar threshold usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="ppsi sar rule is final" subject="Policy" object="Flag" askable="none"/>
  <rel name="cip rule is final" subject="Policy" object="Flag" askable="none"/>
  <rel name="cluster exposure hold threshold pct" subject="Policy" object="Percent" askable="none"/>
  <rel name="exposure review floor pct" subject="Policy" object="Percent" askable="none"/>
  <rel name="mixer indirect threshold pct" subject="Policy" object="Percent" askable="none"/>
  <rel name="appetite hop depth" subject="Policy" object="Count" askable="none"/>
  <rel name="dusting nominal amount usd" subject="Policy" object="Amount" askable="none"/>
  <rel name="velocity count threshold" subject="Policy" object="Count" askable="none"/>
  <rel name="turnover multiple threshold" subject="Policy" object="Count" askable="none"/>
  <rel name="structuring minimum tranche count" subject="Policy" object="Count" askable="none"/>

  <!-- Derived: era, coin status, sec 8, acceptance -->
  <rel name="has regulatory era" subject="Policy" object="Regulatory Era" askable="none"/>
  <rel name="has derived effective date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has finals candidate date" subject="Policy" object="Event Date" askable="none"/>
  <rel name="has coin status candidate" subject="Stablecoin" object="Coin Status" plural="true" askable="none"/>
  <rel name="has permission status" subject="Stablecoin" object="Coin Status" askable="none"/>
  <rel name="has sec8 state candidate" subject="Stablecoin" object="Sec8 State" plural="true" askable="none"/>
  <rel name="has sec8 state" subject="Stablecoin" object="Sec8 State" askable="none"/>
  <rel name="secondary trading ban active" subject="Stablecoin" object="Flag" askable="none"/>
  <rel name="sec8 ban effective date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="wind down end date" subject="Stablecoin" object="Event Date" askable="none"/>
  <rel name="has acceptance candidate" subject="Stablecoin" object="Acceptance Position" plural="true" askable="none"/>
  <rel name="has acceptance determination" subject="Stablecoin" object="Acceptance Position" askable="none"/>
  <rel name="acceptance policy line" subject="Stablecoin" object="Rationale" plural="true" askable="none"/>

  <!-- Derived: wallet, travel rule, signals, property, order -->
  <rel name="has tier candidate" subject="Wallet" object="Wallet Tier" plural="true" askable="none"/>
  <rel name="has exposure tier" subject="Wallet" object="Wallet Tier" askable="none"/>
  <rel name="is dusting classified" subject="Wallet" object="Flag" askable="none"/>
  <rel name="wallet mixer screening missing" subject="Wallet" object="Flag" askable="none"/>
  <rel name="wallet evidence line" subject="Wallet" object="Evidence" plural="true" askable="none"/>
  <rel name="travel rule applies" subject="Transaction" object="Flag" askable="none"/>
  <rel name="travel rule applies house" subject="Transaction" object="Flag" askable="none"/>
  <rel name="has travel rule candidate" subject="Transaction" object="Travel Rule Status" plural="true" askable="none"/>
  <rel name="has travel rule status" subject="Transaction" object="Travel Rule Status" askable="none"/>
  <rel name="travel rule missing field" subject="Transaction" object="Evidence" plural="true" askable="none"/>
  <rel name="travel rule any field missing" subject="Transaction" object="Flag" askable="none"/>
  <rel name="applicable sar threshold usd" subject="Transaction" object="Amount" askable="none"/>
  <rel name="exhibits suspicion signal" subject="Transaction" object="Suspicion Signal" plural="true" askable="none"/>
  <rel name="sar obligation indicated" subject="Transaction" object="Flag" askable="none"/>
  <rel name="sar deadline narrative" subject="Transaction" object="Evidence" askable="none"/>
  <rel name="has property resolution" subject="Transaction" object="Property Resolution" plural="true" askable="none"/>
  <rel name="has order outcome" subject="Transaction" object="Order Outcome" askable="none"/>
  <rel name="has valid order gate" subject="Transaction" object="Flag" askable="none"/>

  <!-- Derived: dispositions, reporting, rationale, next steps -->
  <rel name="has disposition candidate" subject="Transaction" object="Disposition" plural="true" askable="none"/>
  <rel name="has disposition" subject="Transaction" object="Disposition" askable="none"/>
  <rel name="sanctions basis of rejection" subject="Transaction" object="Sanctions Basis" plural="true" askable="none"/>
  <rel name="has reporting obligation" subject="Transaction" object="Reporting Obligation" plural="true" askable="none"/>
  <rel name="reporting deadline narrative" subject="Transaction" object="Evidence" plural="true" askable="none"/>
  <rel name="has contributing evidence" subject="Transaction" object="Evidence" plural="true" askable="none"/>
  <rel name="has disposition rationale" subject="Transaction" object="Rationale" askable="none"/>
  <rel name="has recommended next step" subject="Transaction" object="Next Step" plural="true" askable="none"/>
  <rel name="marketing warning line" subject="Transaction" object="Evidence" plural="true" askable="none"/>
  <rel name="has case file line" subject="Transaction" object="Evidence" plural="true" askable="none"/>

  <!-- Derived: obligation surface -->
  <rel name="has genius duty" subject="Entity" object="Duty" plural="true" askable="none"/>
  <rel name="duty basis line" subject="Entity" object="Evidence" plural="true" askable="none"/>
  <rel name="has required element" subject="Entity" object="Programme Element" plural="true" askable="none"/>
  <rel name="element satisfied" subject="Entity" object="Programme Element" plural="true" askable="none"/>
  <rel name="element deficient" subject="Entity" object="Programme Element" plural="true" askable="none"/>
  <rel name="element not evidenced" subject="Entity" object="Programme Element" plural="true" askable="none"/>
  <rel name="has programme assessment" subject="Entity" object="Programme Assessment" askable="none"/>
  <rel name="has remediation item" subject="Entity" object="Evidence" plural="true" askable="none"/>
  <rel name="state pathway line" subject="Entity" object="Evidence" plural="true" askable="none"/>

  <!-- ==================== Concept instances ========================= -->

  <concinst name="GENIUS Policy" type="Policy"/>
  <concinst name="Risk Appetite" type="Policy"/>

  <concinst name="Era 1 Pre Effective" type="Regulatory Era"/>
  <concinst name="Era 2 Effective" type="Regulatory Era"/>
  <concinst name="Era 3 Dasp Prohibition" type="Regulatory Era"/>

  <concinst name="Permitted Federal Issuer" type="Coin Status"/>
  <concinst name="Permitted State Issuer" type="Coin Status"/>
  <concinst name="Foreign Qualifying Exception" type="Coin Status"/>
  <concinst name="Foreign Determination Rescinded Wind Down" type="Coin Status"/>
  <concinst name="Not Permitted Pending Application" type="Coin Status"/>
  <concinst name="Not Permitted Foreign" type="Coin Status"/>
  <concinst name="Not Permitted Unknown Issuer" type="Coin Status"/>
  <concinst name="Statutorily Unaddressed Refer Out" type="Coin Status"/>

  <concinst name="Must Not Accept Statutory" type="Acceptance Position"/>
  <concinst name="Must Not Accept House Policy" type="Acceptance Position"/>
  <concinst name="May Accept Wind Down" type="Acceptance Position"/>
  <concinst name="May Accept Prohibition Scheduled" type="Acceptance Position"/>
  <concinst name="May Accept" type="Acceptance Position"/>

  <concinst name="Prohibited Counterparty" type="Wallet Tier"/>
  <concinst name="Severe Exposure" type="Wallet Tier"/>
  <concinst name="Elevated Exposure" type="Wallet Tier"/>
  <concinst name="Watch" type="Wallet Tier"/>
  <concinst name="Clean" type="Wallet Tier"/>

  <concinst name="Not Applicable" type="Travel Rule Status"/>
  <concinst name="Role Not Evidenced" type="Travel Rule Status"/>
  <concinst name="Incomplete Withhold Ordering Side" type="Travel Rule Status"/>
  <concinst name="Incomplete House Reject" type="Travel Rule Status"/>
  <concinst name="Incomplete Pass Through Permitted" type="Travel Rule Status"/>
  <concinst name="Complete" type="Travel Rule Status"/>

  <concinst name="Transmittors Institution" type="Chain Role"/>
  <concinst name="Intermediary Institution" type="Chain Role"/>
  <concinst name="Recipients Institution" type="Chain Role"/>

  <concinst name="Bank" type="Entity Role"/>
  <concinst name="Money Services Business" type="Entity Role"/>
  <concinst name="Payment Intermediary" type="Entity Role"/>
  <concinst name="Permitted Payment Stablecoin Issuer" type="Entity Role"/>
  <concinst name="Foreign Payment Stablecoin Issuer" type="Entity Role"/>
  <concinst name="Custodian" type="Entity Role"/>

  <concinst name="Nonbank Charter" type="Charter Type"/>
  <concinst name="Bank Charter" type="Charter Type"/>
  <concinst name="Trust Charter" type="Charter Type"/>

  <concinst name="Federal Qualified PPSI" type="Permit Type"/>
  <concinst name="State Qualified PPSI" type="Permit Type"/>
  <concinst name="Foreign Issuer" type="Permit Type"/>
  <concinst name="Application Pending" type="Permit Type"/>

  <concinst name="SDN Listed" type="Listing Status"/>
  <concinst name="Unlisted" type="Listing Status"/>

  <concinst name="No Sec8 Action" type="Sec8 State"/>
  <concinst name="Notice Served Cure Running" type="Sec8 State"/>
  <concinst name="Cure Lapsed" type="Sec8 State"/>
  <concinst name="Ban Pending Effective" type="Sec8 State"/>
  <concinst name="Ban Active" type="Sec8 State"/>
  <concinst name="Waiver In Force" type="Sec8 State"/>
  <concinst name="Ban Lifted Compliance Restored" type="Sec8 State"/>

  <concinst name="OFAC Listed Counterparty" type="Sanctions Basis"/>
  <concinst name="OFAC Jurisdiction Prohibition" type="Sanctions Basis"/>
  <concinst name="Section 311 Special Measure" type="Sanctions Basis"/>
  <concinst name="National Security Ground" type="Sanctions Basis"/>
  <concinst name="Law Enforcement Ground" type="Sanctions Basis"/>
  <concinst name="Financial System Ground" type="Sanctions Basis"/>
  <concinst name="Remediation Ground" type="Sanctions Basis"/>

  <concinst name="Near Threshold Splitting" type="Suspicion Signal"/>
  <concinst name="Rapid Pass Through Velocity" type="Suspicion Signal"/>
  <concinst name="Mixer Layering" type="Suspicion Signal"/>
  <concinst name="KYC Identity Mismatch" type="Suspicion Signal"/>
  <concinst name="Sanctions Evasion Timing" type="Suspicion Signal"/>
  <concinst name="Pig Butchering Pattern" type="Suspicion Signal"/>
  <concinst name="High Risk Jurisdiction Corridor" type="Suspicion Signal"/>

  <concinst name="Process" type="Disposition"/>
  <concinst name="Reject" type="Disposition"/>
  <concinst name="Block" type="Disposition"/>
  <concinst name="Freeze Pending Lawful Order" type="Disposition"/>
  <concinst name="File Suspicious Activity Report" type="Disposition"/>
  <concinst name="Escalate Incomplete Record" type="Disposition"/>
  <concinst name="Hold Escalate To Sanctions Officer" type="Disposition"/>

  <concinst name="Freeze Executed Under Lawful Order" type="Order Outcome"/>
  <concinst name="Ordinary Legal Process Escalate To Legal" type="Order Outcome"/>

  <concinst name="Confirmed Held" type="Property Resolution"/>
  <concinst name="Confirmed Not Held" type="Property Resolution"/>
  <concinst name="Undetermined" type="Property Resolution"/>

  <concinst name="Supplier Payment" type="Purpose"/>
  <concinst name="Treasury Rebalancing" type="Purpose"/>
  <concinst name="Customer Redemption" type="Purpose"/>
  <concinst name="No Documented Purpose" type="Purpose"/>

  <concinst name="Programme Adequate" type="Programme Assessment"/>
  <concinst name="Programme Deficient" type="Programme Assessment"/>
  <concinst name="Programme Not Fully Evidenced" type="Programme Assessment"/>

  <concinst name="OFAC Initial Blocking Report" type="Reporting Obligation"/>
  <concinst name="OFAC Blocking Report Relaxed Timeline Dusting" type="Reporting Obligation"/>
  <concinst name="OFAC Rejected Transaction Report" type="Reporting Obligation"/>
  <concinst name="Suspicious Activity Report Preparation" type="Reporting Obligation"/>
  <concinst name="Annual Blocked Property Report" type="Reporting Obligation"/>
  <concinst name="Travel Rule Record Retention Five Years" type="Reporting Obligation"/>
  <concinst name="OFAC Record Retention Ten Years" type="Reporting Obligation"/>
  <concinst name="Order Compliance Return" type="Reporting Obligation"/>

  <concinst name="Enhanced Due Diligence" type="Next Step"/>
  <concinst name="Request Missing Transfer Information" type="Next Step"/>
  <concinst name="Retrieve Records On Lawful Request" type="Next Step"/>
  <concinst name="Escalate To Sanctions Officer" type="Next Step"/>
  <concinst name="Escalate To BSA Officer" type="Next Step"/>
  <concinst name="Escalate To Legal Counsel" type="Next Step"/>
  <concinst name="Apply For OFAC Licence If Release Sought" type="Next Step"/>
  <concinst name="Correct And Resubmit Transfer" type="Next Step"/>
  <concinst name="Continue Standard Monitoring" type="Next Step"/>
  <concinst name="Verify Wallet Ownership With Customer" type="Next Step"/>

  <!-- Duties -->
  <concinst name="Maintain One To One Reserves" type="Duty"/>
  <concinst name="Hold Reserves In Permitted Assets Only" type="Duty"/>
  <concinst name="Publish Monthly Reserve Disclosure" type="Duty"/>
  <concinst name="Monthly Examination And Executive Certification" type="Duty"/>
  <concinst name="Maintain Public Redemption Policy" type="Duty"/>
  <concinst name="Pay No Holder Yield" type="Duty"/>
  <concinst name="Observe Naming And Marketing Restrictions" type="Duty"/>
  <concinst name="File Annual Audited Financial Statements" type="Duty"/>
  <concinst name="Maintain BSA Financial Institution Programme" type="Duty"/>
  <concinst name="Monitor And Report Suspicious Transactions" type="Duty"/>
  <concinst name="Retain Required Records" type="Duty"/>
  <concinst name="Maintain Block Freeze Reject Capability" type="Duty"/>
  <concinst name="Maintain Customer Identification Programme" type="Duty"/>
  <concinst name="Maintain Sanctions Compliance Programme" type="Duty"/>
  <concinst name="Maintain Lawful Order Capability" type="Duty"/>
  <concinst name="Register As Money Services Business" type="Duty"/>
  <concinst name="Maintain MSB Four Pillar Programme" type="Duty"/>
  <concinst name="Maintain Bank AML Programme" type="Duty"/>
  <concinst name="Maintain Bank Customer Identification Programme" type="Duty"/>
  <concinst name="Comply With Travel Rule" type="Duty"/>
  <concinst name="Segregate Customer Property" type="Duty"/>
  <concinst name="Maintain Supervised Custodian Status" type="Duty"/>
  <concinst name="Transition To Federal Framework Within 360 Days" type="Duty"/>
  <concinst name="Cease Offering Non Permitted Coins" type="Duty"/>

  <!-- Programme elements -->
  <concinst name="S1 AML Programme And Officer" type="Programme Element"/>
  <concinst name="S2 Record Retention" type="Programme Element"/>
  <concinst name="S3 Suspicious Transaction Monitoring" type="Programme Element"/>
  <concinst name="S4 Block Freeze Reject Capability" type="Programme Element"/>
  <concinst name="S5 Customer Identification And EDD" type="Programme Element"/>
  <concinst name="S6 Sanctions Compliance Programme" type="Programme Element"/>
  <concinst name="S7 Lawful Order Technical Capability" type="Programme Element"/>
  <concinst name="O1 Management Commitment" type="Programme Element"/>
  <concinst name="O2 Risk Assessment" type="Programme Element"/>
  <concinst name="O3 Internal Controls" type="Programme Element"/>
  <concinst name="O4 Testing And Auditing" type="Programme Element"/>
  <concinst name="O5 Training" type="Programme Element"/>
  <concinst name="P1 Proposed FinCEN Programme Elements" type="Programme Element"/>
  <concinst name="P2 Proposed OFAC Programme Elements" type="Programme Element"/>
  <concinst name="P6 Proposed CIP Elements" type="Programme Element"/>
  <concinst name="M1 MSB Internal Controls" type="Programme Element"/>
  <concinst name="M2 MSB Designated Compliance Person" type="Programme Element"/>
  <concinst name="M3 MSB Training" type="Programme Element"/>
  <concinst name="M4 MSB Independent Review" type="Programme Element"/>
  <concinst name="B1 Bank AML Programme Elements" type="Programme Element"/>
  <concinst name="B2 Bank CIP Elements" type="Programme Element"/>
  <concinst name="C1 Custody Segregation Elements" type="Programme Element"/>

  <!-- Jurisdictions, entities, coins, mixers -->
  <concinst name="United States" type="Jurisdiction"/>
  <concinst name="State of Meridian" type="Jurisdiction"/>
  <concinst name="Republic of Veridia" type="Jurisdiction"/>
  <concinst name="Sundara Republic" type="Jurisdiction"/>
  <concinst name="Drakonia" type="Jurisdiction"/>
  <concinst name="Khoristan" type="Jurisdiction"/>

  <concinst name="Harborline Digital Inc" type="Entity"/>
  <concinst name="Meridian Stable Trust Corp" type="Entity"/>
  <concinst name="SwiftArc Payments LLC" type="Entity"/>
  <concinst name="Granite Harbor Bank NA" type="Entity"/>
  <concinst name="Vaultstone Digital Trust Company" type="Entity"/>
  <concinst name="Auvern Digital SA" type="Entity"/>
  <concinst name="Oradine Mint Ltd" type="Entity"/>
  <concinst name="Selvara Digital Ltd" type="Entity"/>
  <concinst name="Pioneer Stable Inc" type="Entity"/>
  <concinst name="Tessel Mint Ltd" type="Entity"/>
  <concinst name="Bryn Mark SA" type="Entity"/>

  <concinst name="HMKD Harbormark Dollar" type="Stablecoin"/>
  <concinst name="MSTD Meridian State Dollar" type="Stablecoin"/>
  <concinst name="VCRD Veridian Crown Dollar" type="Stablecoin"/>
  <concinst name="ORDL Oradine Dollar" type="Stablecoin"/>
  <concinst name="SLVD Selvara Dollar" type="Stablecoin"/>
  <concinst name="PIND Pioneer Dollar" type="Stablecoin"/>
  <concinst name="TSSD Tessel Dollar" type="Stablecoin"/>
  <concinst name="BRKD Bryn Mark Dollar" type="Stablecoin"/>

  <concinst name="Fernmist Mixer" type="Mixer"/>
  <concinst name="Gravemill Mixer" type="Mixer"/>

  <!-- 2026 accuracy-build extensions: instances and evidence literals -->
  <concinst name="May Accept Safe Harbor Exception" type="Acceptance Position"/>
  <concinst name="Maintain Capital Liquidity And Risk Standards" type="Duty"/>
  <concinst name="Transfer party named in the transmittal record is on the SDN list - blocking or rejection obligations arise under 31 CFR chapter V - FINAL LAW" type="Evidence"/>
  <concinst name="Transfer party lacks a sanctions screening record so the sanctions posture cannot be assessed - escalate" type="Evidence"/>
  <concinst name="Transmittal field records are absent from the transfer record so travel rule completeness cannot be assessed under 31 CFR 1010.410 f - escalate" type="Evidence"/>
  <concinst name="Per field transmittal flags are absent from the transfer record so travel rule completeness cannot be established under 31 CFR 1010.410 f - escalate" type="Evidence"/>
  <concinst name="No amount record is on the payment feed - travel rule and reporting threshold duties cannot be assessed - escalate" type="Evidence"/>
  <concinst name="No counterparty wallet record is on the transaction feed - sanctions exposure cannot be assessed - escalate" type="Evidence"/>
  <concinst name="Counterparty VASP has not responded to the request for missing transfer information - an unresponsive counterparty is a red flag factor in FinCEN advisory FIN-2019-A003 - GUIDANCE" type="Evidence"/>
  <concinst name="KYC profile for a transfer party is stale or incomplete - refresh under the risk based customer due diligence programme in 31 CFR 1020.210 b 2 v and 1022.210 - FINAL LAW programme duty with house timing" type="Evidence"/>
  <concinst name="Counterparty wallet is self hosted - ownership verification is a house risk based CDD step - the federal unhosted wallet proposal was withdrawn in August 2024 so no federal rule compels it - HOUSE POLICY" type="Evidence"/>
  <concinst name="No documented business purpose is recorded for the transfer - lack of apparent lawful purpose is a red flag factor in FinCEN advisory FIN-2019-A003 - GUIDANCE" type="Evidence"/>
  <concinst name="Pig butchering behavioural indicators match the typology in FinCEN alert FIN-2023-Alert005 of September 2023 - GUIDANCE" type="Evidence"/>
  <concinst name="Movement after a designation event matches the rapid movement and evasion red flags in FinCEN alert FIN-2022-Alert001 with transaction time screening expected by the OFAC virtual currency guidance of October 2021 - GUIDANCE" type="Evidence"/>
  <concinst name="Foreign issuer holds reserves outside the United States under a section 5916 d reciprocal arrangement - the section 5916 a 3 United States reserve condition is satisfied by that arrangement - FINAL LAW" type="Evidence"/>
  <concinst name="Treasury safe harbor under 12 USC 5902 c disapplies the DASP offering prohibition for this coin - safe harbors are limited in scope and de minimis by regulation - FINAL LAW" type="Rationale"/>
  <concinst name="Facilitating secondary trading during an active section 5907 ban exposes a digital asset service provider to penalties up to 100000 dollars per violation per day under 12 USC 5907 b 4 A - FINAL LAW" type="Rationale"/>
  <concinst name="Refrain From Reserve Rehypothecation" type="Duty"/>
  <concinst name="Transition waiver in force - the primary federal payment stablecoin regulator has waived the section 4 d transition requirement under 5903 d 3 so the issuer may continue on the state pathway despite exceeding 10 billion dollars - FINAL LAW" type="Evidence"/>

  <!-- ==================== Stored facts ============================== -->
  <!-- GENIUS Policy statutory dates and role thresholds. Evaluation    -->
  <!-- date and finals issuance date are INJECT ONLY - never stored.    -->

  <relinst type="has enactment date" subject="GENIUS Policy" object="2025-07-18"/>
  <relinst type="has statutory effective default" subject="GENIUS Policy" object="2027-01-18"/>
  <relinst type="has dasp prohibition date" subject="GENIUS Policy" object="2028-07-18"/>
  <relinst type="travel rule threshold usd" subject="GENIUS Policy" object="3000"/>
  <relinst type="house travel rule de minimis usd" subject="GENIUS Policy" object="1000"/>
  <relinst type="house rejects incomplete travel rule" subject="GENIUS Policy" object="true"/>
  <relinst type="bank sar threshold usd" subject="GENIUS Policy" object="5000"/>
  <relinst type="msb sar threshold usd" subject="GENIUS Policy" object="2000"/>
  <relinst type="ppsi proposed sar threshold usd" subject="GENIUS Policy" object="5000"/>
  <relinst type="ppsi sar rule is final" subject="GENIUS Policy" object="false"/>
  <relinst type="cip rule is final" subject="GENIUS Policy" object="false"/>

  <!-- Risk Appetite: board approved house numerics - HOUSE POLICY, never regulatory -->
  <relinst type="exposure review floor pct" subject="Risk Appetite" object="0.1"/>
  <relinst type="mixer indirect threshold pct" subject="Risk Appetite" object="10"/>
  <relinst type="appetite hop depth" subject="Risk Appetite" object="2"/>
  <relinst type="dusting nominal amount usd" subject="Risk Appetite" object="5"/>
  <relinst type="velocity count threshold" subject="Risk Appetite" object="8"/>
  <relinst type="turnover multiple threshold" subject="Risk Appetite" object="10"/>
  <relinst type="structuring minimum tranche count" subject="Risk Appetite" object="3"/>

  <!-- Jurisdiction reference rows (fictional analogs of real categories) -->
  <relinst type="is comprehensively sanctioned" subject="United States" object="false"/>
  <relinst type="is pmlc determined" subject="United States" object="false"/>
  <relinst type="is on monitored jurisdiction list" subject="United States" object="false"/>
  <relinst type="is comprehensively sanctioned" subject="State of Meridian" object="false"/>
  <relinst type="is pmlc determined" subject="State of Meridian" object="false"/>
  <relinst type="is on monitored jurisdiction list" subject="State of Meridian" object="false"/>
  <relinst type="is comprehensively sanctioned" subject="Republic of Veridia" object="false"/>
  <relinst type="is pmlc determined" subject="Republic of Veridia" object="false"/>
  <relinst type="is on monitored jurisdiction list" subject="Republic of Veridia" object="false"/>
  <relinst type="is comprehensively sanctioned" subject="Sundara Republic" object="false"/>
  <relinst type="is pmlc determined" subject="Sundara Republic" object="false"/>
  <relinst type="is on monitored jurisdiction list" subject="Sundara Republic" object="true"/>
  <relinst type="is comprehensively sanctioned" subject="Drakonia" object="true"/>
  <relinst type="is pmlc determined" subject="Drakonia" object="false"/>
  <relinst type="is on monitored jurisdiction list" subject="Drakonia" object="false"/>
  <relinst type="is comprehensively sanctioned" subject="Khoristan" object="false"/>
  <relinst type="is pmlc determined" subject="Khoristan" object="true"/>
  <relinst type="is on monitored jurisdiction list" subject="Khoristan" object="false"/>

  <!-- Coin registry rows -->
  <relinst type="is issued by" subject="HMKD Harbormark Dollar" object="Harborline Digital Inc"/>
  <relinst type="has issuer permit type" subject="HMKD Harbormark Dollar" object="Federal Qualified PPSI"/>
  <relinst type="issuer domicile country" subject="HMKD Harbormark Dollar" object="United States"/>
  <relinst type="issuer regulating country" subject="HMKD Harbormark Dollar" object="United States"/>
  <relinst type="issuer lawful order capable" subject="HMKD Harbormark Dollar" object="true"/>
  <relinst type="has issuance date" subject="HMKD Harbormark Dollar" object="2026-09-01"/>

  <relinst type="is issued by" subject="MSTD Meridian State Dollar" object="Meridian Stable Trust Corp"/>
  <relinst type="has issuer permit type" subject="MSTD Meridian State Dollar" object="State Qualified PPSI"/>
  <relinst type="issuer domicile country" subject="MSTD Meridian State Dollar" object="United States"/>
  <relinst type="issuer regulating country" subject="MSTD Meridian State Dollar" object="United States"/>
  <relinst type="issuer lawful order capable" subject="MSTD Meridian State Dollar" object="true"/>
  <relinst type="has issuance date" subject="MSTD Meridian State Dollar" object="2026-10-01"/>

  <relinst type="is issued by" subject="VCRD Veridian Crown Dollar" object="Auvern Digital SA"/>
  <relinst type="has issuer permit type" subject="VCRD Veridian Crown Dollar" object="Foreign Issuer"/>
  <relinst type="issuer domicile country" subject="VCRD Veridian Crown Dollar" object="Republic of Veridia"/>
  <relinst type="issuer regulating country" subject="VCRD Veridian Crown Dollar" object="Republic of Veridia"/>
  <relinst type="has treasury comparability determination" subject="VCRD Veridian Crown Dollar" object="true"/>
  <relinst type="has occ registration" subject="VCRD Veridian Crown Dollar" object="true"/>
  <relinst type="issuer holds us reserves" subject="VCRD Veridian Crown Dollar" object="true"/>
  <relinst type="issuer lawful order capable" subject="VCRD Veridian Crown Dollar" object="true"/>
  <relinst type="has issuance date" subject="VCRD Veridian Crown Dollar" object="2025-11-01"/>

  <relinst type="is issued by" subject="ORDL Oradine Dollar" object="Oradine Mint Ltd"/>
  <relinst type="has issuer permit type" subject="ORDL Oradine Dollar" object="Foreign Issuer"/>
  <relinst type="issuer domicile country" subject="ORDL Oradine Dollar" object="Sundara Republic"/>
  <relinst type="issuer regulating country" subject="ORDL Oradine Dollar" object="Sundara Republic"/>
  <relinst type="has treasury comparability determination" subject="ORDL Oradine Dollar" object="false"/>
  <relinst type="has occ registration" subject="ORDL Oradine Dollar" object="false"/>
  <relinst type="issuer holds us reserves" subject="ORDL Oradine Dollar" object="false"/>
  <relinst type="issuer lawful order capable" subject="ORDL Oradine Dollar" object="false"/>
  <relinst type="has issuance date" subject="ORDL Oradine Dollar" object="2025-05-01"/>
  <relinst type="sec8 notice date" subject="ORDL Oradine Dollar" object="2027-01-20"/>
  <relinst type="sec8 fr publication date" subject="ORDL Oradine Dollar" object="2027-02-24"/>

  <relinst type="is issued by" subject="SLVD Selvara Dollar" object="Selvara Digital Ltd"/>
  <relinst type="has issuer permit type" subject="SLVD Selvara Dollar" object="Foreign Issuer"/>
  <relinst type="issuer domicile country" subject="SLVD Selvara Dollar" object="Sundara Republic"/>
  <relinst type="issuer regulating country" subject="SLVD Selvara Dollar" object="Sundara Republic"/>
  <relinst type="has treasury comparability determination" subject="SLVD Selvara Dollar" object="false"/>
  <relinst type="has occ registration" subject="SLVD Selvara Dollar" object="false"/>
  <relinst type="issuer holds us reserves" subject="SLVD Selvara Dollar" object="false"/>
  <relinst type="issuer lawful order capable" subject="SLVD Selvara Dollar" object="true"/>
  <relinst type="has issuance date" subject="SLVD Selvara Dollar" object="2025-09-01"/>

  <relinst type="is issued by" subject="PIND Pioneer Dollar" object="Pioneer Stable Inc"/>
  <relinst type="has issuer permit type" subject="PIND Pioneer Dollar" object="Application Pending"/>
  <relinst type="issuer domicile country" subject="PIND Pioneer Dollar" object="United States"/>
  <relinst type="issuer regulating country" subject="PIND Pioneer Dollar" object="United States"/>
  <relinst type="issuer lawful order capable" subject="PIND Pioneer Dollar" object="true"/>
  <relinst type="has issuance date" subject="PIND Pioneer Dollar" object="2026-06-01"/>

  <relinst type="is issued by" subject="TSSD Tessel Dollar" object="Tessel Mint Ltd"/>
  <relinst type="has issuer permit type" subject="TSSD Tessel Dollar" object="Foreign Issuer"/>
  <relinst type="issuer domicile country" subject="TSSD Tessel Dollar" object="Khoristan"/>
  <relinst type="issuer regulating country" subject="TSSD Tessel Dollar" object="Khoristan"/>
  <relinst type="has treasury comparability determination" subject="TSSD Tessel Dollar" object="true"/>
  <relinst type="has occ registration" subject="TSSD Tessel Dollar" object="true"/>
  <relinst type="issuer holds us reserves" subject="TSSD Tessel Dollar" object="true"/>
  <relinst type="issuer lawful order capable" subject="TSSD Tessel Dollar" object="true"/>
  <relinst type="has issuance date" subject="TSSD Tessel Dollar" object="2025-08-01"/>

  <relinst type="is issued by" subject="BRKD Bryn Mark Dollar" object="Bryn Mark SA"/>
  <relinst type="has issuer permit type" subject="BRKD Bryn Mark Dollar" object="Foreign Issuer"/>
  <relinst type="issuer domicile country" subject="BRKD Bryn Mark Dollar" object="Sundara Republic"/>
  <relinst type="issuer regulating country" subject="BRKD Bryn Mark Dollar" object="Republic of Veridia"/>
  <relinst type="has treasury comparability determination" subject="BRKD Bryn Mark Dollar" object="true"/>
  <relinst type="has occ registration" subject="BRKD Bryn Mark Dollar" object="true"/>
  <relinst type="issuer holds us reserves" subject="BRKD Bryn Mark Dollar" object="true"/>
  <relinst type="issuer lawful order capable" subject="BRKD Bryn Mark Dollar" object="true"/>
  <relinst type="has issuance date" subject="BRKD Bryn Mark Dollar" object="2025-10-01"/>

  <!-- Mixer screening rows: listing status is a two sided string fact -->
  <relinst type="has listing status" subject="Fernmist Mixer" object="Unlisted"/>
  <relinst type="has listing status" subject="Gravemill Mixer" object="SDN Listed"/>

  <!-- Entity registry: roles, charters, activity flags, house stances -->
  <relinst type="has entity role" subject="Harborline Digital Inc" object="Permitted Payment Stablecoin Issuer"/>
  <relinst type="has charter type" subject="Harborline Digital Inc" object="Nonbank Charter"/>
  <relinst type="performs dasp activity" subject="Harborline Digital Inc" object="false"/>
  <relinst type="performs custody services" subject="Harborline Digital Inc" object="true"/>
  <relinst type="is msb registered" subject="Harborline Digital Inc" object="true"/>
  <relinst type="accepts non permitted foreign pre prohibition" subject="Harborline Digital Inc" object="false"/>
  <relinst type="has outstanding issuance usd" subject="Harborline Digital Inc" object="52000000000"/>

  <relinst type="has entity role" subject="Meridian Stable Trust Corp" object="Permitted Payment Stablecoin Issuer"/>
  <relinst type="has charter type" subject="Meridian Stable Trust Corp" object="Trust Charter"/>
  <relinst type="performs dasp activity" subject="Meridian Stable Trust Corp" object="false"/>
  <relinst type="performs custody services" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="is msb registered" subject="Meridian Stable Trust Corp" object="false"/>
  <relinst type="accepts non permitted foreign pre prohibition" subject="Meridian Stable Trust Corp" object="false"/>
  <relinst type="has outstanding issuance usd" subject="Meridian Stable Trust Corp" object="10000000000"/>

  <relinst type="has entity role" subject="SwiftArc Payments LLC" object="Money Services Business"/>
  <relinst type="has entity role" subject="SwiftArc Payments LLC" object="Payment Intermediary"/>
  <relinst type="has charter type" subject="SwiftArc Payments LLC" object="Nonbank Charter"/>
  <relinst type="performs dasp activity" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="performs custody services" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="is msb registered" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="accepts non permitted foreign pre prohibition" subject="SwiftArc Payments LLC" object="false"/>

  <relinst type="has entity role" subject="Granite Harbor Bank NA" object="Bank"/>
  <relinst type="has charter type" subject="Granite Harbor Bank NA" object="Bank Charter"/>
  <relinst type="performs custody services" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="is msb registered" subject="Granite Harbor Bank NA" object="false"/>
  <relinst type="accepts non permitted foreign pre prohibition" subject="Granite Harbor Bank NA" object="false"/>

  <relinst type="has entity role" subject="Vaultstone Digital Trust Company" object="Custodian"/>
  <relinst type="has charter type" subject="Vaultstone Digital Trust Company" object="Trust Charter"/>
  <relinst type="performs dasp activity" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="performs custody services" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="is msb registered" subject="Vaultstone Digital Trust Company" object="false"/>
  <relinst type="accepts non permitted foreign pre prohibition" subject="Vaultstone Digital Trust Company" object="false"/>

  <relinst type="has entity role" subject="Auvern Digital SA" object="Foreign Payment Stablecoin Issuer"/>
  <relinst type="has entity role" subject="Oradine Mint Ltd" object="Foreign Payment Stablecoin Issuer"/>
  <relinst type="has entity role" subject="Selvara Digital Ltd" object="Foreign Payment Stablecoin Issuer"/>
  <relinst type="has entity role" subject="Tessel Mint Ltd" object="Foreign Payment Stablecoin Issuer"/>
  <relinst type="has entity role" subject="Bryn Mark SA" object="Foreign Payment Stablecoin Issuer"/>

  <!-- Programme fact rows: Harborline = adequate PPSI persona -->
  <relinst type="has designated compliance officer" subject="Harborline Digital Inc" object="true"/>
  <relinst type="compliance officer located in us" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has independent testing" subject="Harborline Digital Inc" object="true"/>
  <relinst type="testing uses objective criteria" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has training programme" subject="Harborline Digital Inc" object="true"/>
  <relinst type="training is current" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has documented risk assessment" subject="Harborline Digital Inc" object="true"/>
  <relinst type="risk assessment covers deployment blockchains" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has blockchain analytics capability" subject="Harborline Digital Inc" object="true"/>
  <relinst type="screens sanctions at onboarding" subject="Harborline Digital Inc" object="true"/>
  <relinst type="screens sanctions at transaction time" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has geolocation controls" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has lookback remediation process" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has documented management commitment" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has customer identification programme" subject="Harborline Digital Inc" object="true"/>
  <relinst type="cip includes documentary verification" subject="Harborline Digital Inc" object="true"/>
  <relinst type="cip includes non documentary verification" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has seize freeze burn capability" subject="Harborline Digital Inc" object="true"/>
  <relinst type="maintains one to one reserves" subject="Harborline Digital Inc" object="true"/>
  <relinst type="reserves held in permitted assets" subject="Harborline Digital Inc" object="true"/>
  <relinst type="publishes monthly disclosure" subject="Harborline Digital Inc" object="true"/>
  <relinst type="files monthly certification" subject="Harborline Digital Inc" object="true"/>
  <relinst type="has public redemption policy" subject="Harborline Digital Inc" object="true"/>
  <relinst type="pays holder yield" subject="Harborline Digital Inc" object="false"/>
  <relinst type="segregates customer property" subject="Harborline Digital Inc" object="true"/>
  <relinst type="is supervised custodian" subject="Harborline Digital Inc" object="true"/>

  <!-- Meridian Stable Trust = adequate state PPSI persona -->
  <relinst type="has designated compliance officer" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="compliance officer located in us" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has independent testing" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="testing uses objective criteria" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has training programme" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="training is current" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has documented risk assessment" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="risk assessment covers deployment blockchains" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has blockchain analytics capability" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="screens sanctions at onboarding" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="screens sanctions at transaction time" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has geolocation controls" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has lookback remediation process" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has documented management commitment" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has customer identification programme" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="cip includes documentary verification" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="cip includes non documentary verification" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has seize freeze burn capability" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="maintains one to one reserves" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="reserves held in permitted assets" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="publishes monthly disclosure" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="files monthly certification" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="has public redemption policy" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="pays holder yield" subject="Meridian Stable Trust Corp" object="false"/>
  <relinst type="segregates customer property" subject="Meridian Stable Trust Corp" object="true"/>
  <relinst type="is supervised custodian" subject="Meridian Stable Trust Corp" object="true"/>

  <!-- SwiftArc = deficient intermediary persona: no analytics, no testing, stale training, no lookback -->
  <relinst type="has designated compliance officer" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="compliance officer located in us" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="has independent testing" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="testing uses objective criteria" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="has training programme" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="training is current" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="has documented risk assessment" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="risk assessment covers deployment blockchains" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="has blockchain analytics capability" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="screens sanctions at onboarding" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="screens sanctions at transaction time" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="has geolocation controls" subject="SwiftArc Payments LLC" object="true"/>
  <relinst type="has lookback remediation process" subject="SwiftArc Payments LLC" object="false"/>
  <relinst type="has documented management commitment" subject="SwiftArc Payments LLC" object="true"/>

  <!-- Granite Harbor = adequate bank persona; house CDD open item is narrative only -->
  <relinst type="has designated compliance officer" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="compliance officer located in us" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has independent testing" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="testing uses objective criteria" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has training programme" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="training is current" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has documented risk assessment" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has blockchain analytics capability" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="screens sanctions at onboarding" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="screens sanctions at transaction time" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has geolocation controls" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has lookback remediation process" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has documented management commitment" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="has customer identification programme" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="cip includes documentary verification" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="cip includes non documentary verification" subject="Granite Harbor Bank NA" object="true"/>
  <relinst type="segregates customer property" subject="Granite Harbor Bank NA" object="true"/>

  <!-- Vaultstone = custodian persona -->
  <relinst type="has designated compliance officer" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="compliance officer located in us" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has independent testing" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="testing uses objective criteria" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has training programme" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="training is current" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has documented risk assessment" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has blockchain analytics capability" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="screens sanctions at onboarding" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="screens sanctions at transaction time" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has geolocation controls" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has lookback remediation process" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="has documented management commitment" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="segregates customer property" subject="Vaultstone Digital Trust Company" object="true"/>
  <relinst type="is supervised custodian" subject="Vaultstone Digital Trust Company" object="true"/>

  <!-- Rationale and evidence literals used by this part -->
  <concinst name="Offering must cease by 18 July 2028 under 12 USC 5902 b 1 - the three year DASP prohibition has no extension authority" type="Rationale"/>
  <concinst name="GENIUS acceptance restrictions not yet operative at this evaluation date - BSA and OFAC baseline duties continue with a readiness posture for the scheduled effective date" type="Rationale"/>
  <concinst name="Split domicile and regulation pattern - section 5916 a 4 tests the country where the issuer is domiciled and regulated as one conjunctive predicate and the statute does not address the split case - refer out for legal review" type="Rationale"/>

  <!-- ==================== Era derivation ============================ -->
  <!-- Sec 20 Pub L 119-27: effective on the earlier of 18 months after -->
  <!-- enactment (2027-01-18) or 120 days after final regulations issue -->

  <relinst type="has finals candidate date" cf="100" name="Era - finals prong candidate date">
    <condition rel="has finals issuance date" subject="%S" object="%F"/>
    <condition expression="addDays(%F,120)" value="%O" alt="Final implementing regulations issued on {{%F}} would make the Act effective 120 days later under section 20 prong two"/>
  </relinst>

  <relinst type="has derived effective date" cf="100" name="Era - effective date default eighteen month prong">
    <condition expression="countRelationshipInstances(%S,'has finals issuance date',*) is equal to 0" weight="1" alt="No final implementing regulations have issued so the 120 day prong is untriggered"/>
    <condition rel="has statutory effective default" subject="%S" object="%O"/>
  </relinst>

  <relinst type="has derived effective date" cf="100" name="Era - effective date finals prong earlier">
    <condition rel="has finals candidate date" subject="%S" object="%O"/>
    <condition rel="has statutory effective default" subject="%S" object="%D" weight="1"/>
    <condition expression="isBeforeDate(%O,%D) is equal to true" weight="1" alt="The finals plus 120 days date falls before 18 January 2027 so the earlier of formula in section 20 selects the finals prong"/>
  </relinst>

  <relinst type="has derived effective date" cf="100" name="Era - effective date finals prong later than default">
    <condition rel="has finals candidate date" subject="%S" object="%C"/>
    <condition rel="has statutory effective default" subject="%S" object="%O"/>
    <condition expression="isBeforeDate(%C,%O) is equal to false" weight="1" alt="The finals plus 120 days date is not before 18 January 2027 so the earlier of formula keeps the eighteen month prong"/>
  </relinst>

  <relinst type="has regulatory era" object="Era 1 Pre Effective" cf="100" name="Era - pre effective">
    <condition rel="has evaluation date" subject="%S" object="%EV"/>
    <condition rel="has derived effective date" subject="%S" object="%EFF" weight="1"/>
    <condition expression="isBeforeDate(%EV,%EFF) is equal to true" alt="The evaluation date {{%EV}} falls before the Act effective date {{%EFF}} so GENIUS prohibitions are not yet operative"/>
  </relinst>

  <relinst type="has regulatory era" object="Era 2 Effective" cf="100" name="Era - effective pre prohibition">
    <condition rel="has evaluation date" subject="%S" object="%EV"/>
    <condition rel="has derived effective date" subject="%S" object="%EFF" weight="1"/>
    <condition rel="has dasp prohibition date" subject="%S" object="%DP" weight="1"/>
    <condition expression="isBeforeDate(%EV,%EFF) is equal to false" alt="The evaluation date {{%EV}} is on or after the Act effective date {{%EFF}} so GENIUS duties and the section 5902 b 2 condition are operative"/>
    <condition expression="isBeforeDate(%EV,%DP) is equal to true" alt="The evaluation date falls before the 18 July 2028 DASP prohibition so offering non permitted coins is not yet unlawful under section 5902 b 1"/>
  </relinst>

  <relinst type="has regulatory era" object="Era 3 Dasp Prohibition" cf="100" name="Era - dasp prohibition in force">
    <condition rel="has evaluation date" subject="%S" object="%EV"/>
    <condition rel="has dasp prohibition date" subject="%S" object="%DP" weight="1"/>
    <condition expression="isBeforeDate(%EV,%DP) is equal to false" alt="The evaluation date {{%EV}} is on or after 18 July 2028 so a digital asset service provider may not offer or sell a non permitted payment stablecoin under 12 USC 5902 b 1"/>
  </relinst>

  <!-- ==================== Coin status candidates ==================== -->

  <relinst type="has coin status candidate" object="Permitted Federal Issuer" cf="100" name="Coin - federal qualified issuer">
    <condition rel="has issuer permit type" subject="%S" object="Federal Qualified PPSI"/>
  </relinst>

  <relinst type="has coin status candidate" object="Permitted State Issuer" cf="100" name="Coin - state qualified issuer">
    <condition rel="has issuer permit type" subject="%S" object="State Qualified PPSI"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Pending Application" cf="100" name="Coin - application pending is not permitted">
    <condition rel="has issuer permit type" subject="%S" object="Application Pending"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Unknown Issuer" cf="100" name="Coin - issuer not on registry feed">
    <condition expression="countRelationshipInstances(%S,'has issuer permit type',*) is equal to 0" alt="The issuer permitting record for this stablecoin is absent from the registry feed so its status cannot be established"/>
  </relinst>

  <relinst type="has coin status candidate" object="Foreign Qualifying Exception" cf="100" name="Coin - foreign issuer satisfies all four section 5916 a conjuncts">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="has treasury comparability determination" subject="%S" object="true" weight="1"/>
    <condition rel="has occ registration" subject="%S" object="true" weight="1"/>
    <condition rel="issuer holds us reserves" subject="%S" object="true" weight="1"/>
    <condition rel="issuer domicile country" subject="%S" object="%DC" weight="1"/>
    <condition rel="issuer regulating country" subject="%S" object="%RC" weight="1"/>
    <condition expression="%DC is equal to %RC" weight="1" alt="The issuer is domiciled and regulated in the same country {{%DC}} so the section 5916 a 4 single country test can be applied"/>
    <condition rel="is comprehensively sanctioned" subject="%DC" object="false" weight="1"/>
    <condition rel="is pmlc determined" subject="%DC" object="false" weight="1"/>
  </relinst>

  <relinst type="has coin status candidate" object="Statutorily Unaddressed Refer Out" cf="100" name="Coin - split domicile and regulation refer out">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="issuer domicile country" subject="%S" object="%DC" weight="1"/>
    <condition rel="issuer regulating country" subject="%S" object="%RC" weight="1"/>
    <condition expression="%DC is not equal to %RC" weight="1" alt="The issuer is domiciled in {{%DC}} but regulated in {{%RC}} - section 5916 a 4 is conjunctive on a single country and the statute does not address this split"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Foreign" cf="100" name="Coin - foreign issuer without comparability determination">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="has treasury comparability determination" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Foreign" cf="100" name="Coin - foreign issuer without occ registration">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="has occ registration" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Foreign" cf="100" name="Coin - foreign issuer without us held reserves">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="issuer holds us reserves" subject="%S" object="false" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'reserve condition excused',*) is equal to 0" weight="1" alt="No section 5916 d reciprocal arrangement excuses the United States held reserve condition for this issuer"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Foreign" cf="100" name="Coin - domicile country comprehensively sanctioned">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="issuer domicile country" subject="%S" object="%DC" weight="1"/>
    <condition rel="issuer regulating country" subject="%S" object="%RC" weight="1"/>
    <condition expression="%DC is equal to %RC" weight="1" alt="Domicile and regulating country are the same so the section 5916 a 4 disqualifier is applied to that single country"/>
    <condition rel="is comprehensively sanctioned" subject="%DC" object="true" weight="1"/>
  </relinst>

  <relinst type="has coin status candidate" object="Not Permitted Foreign" cf="100" name="Coin - domicile country under primary money laundering concern determination">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="issuer domicile country" subject="%S" object="%DC" weight="1"/>
    <condition rel="issuer regulating country" subject="%S" object="%RC" weight="1"/>
    <condition expression="%DC is equal to %RC" weight="1" alt="Domicile and regulating country are the same so the section 5916 a 4 disqualifier is applied to that single country"/>
    <condition rel="is pmlc determined" subject="%DC" object="true" weight="1"/>
  </relinst>

  <relinst type="wind down end date" cf="100" name="Coin - wind down window end from rescission">
    <condition rel="comparability rescission date" subject="%S" object="%RD"/>
    <condition expression="addDays(%RD,90)" value="%O" alt="Section 5916 b 4 B gives digital asset service providers a 90 day wind down safe harbor from the {{%RD}} rescission"/>
  </relinst>

  <relinst type="has coin status candidate" object="Foreign Determination Rescinded Wind Down" cf="100" name="Coin - comparability rescinded inside wind down window">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="comparability rescission date" subject="%S" object="%RD" weight="1"/>
    <condition rel="wind down end date" subject="%S" object="%WE" weight="1"/>
    <condition rel="has evaluation date" subject="GENIUS Policy" object="%EV" weight="1"/>
    <condition expression="isBeforeDate(%WE,%EV) is equal to false" weight="1" alt="The evaluation date {{%EV}} falls on or before the wind down end date {{%WE}} so the 90 day safe harbor still runs"/>
  </relinst>

  <!-- Coin status precedence ladder: most restrictive wins, exactly one -->

  <relinst type="has permission status" object="Not Permitted Unknown Issuer" cf="100" name="Coin ladder - unknown issuer">
    <condition rel="has coin status candidate" subject="%S" object="Not Permitted Unknown Issuer"/>
  </relinst>

  <relinst type="has permission status" object="Statutorily Unaddressed Refer Out" cf="100" name="Coin ladder - refer out">
    <condition rel="has coin status candidate" subject="%S" object="Statutorily Unaddressed Refer Out"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present so the unknown issuer rung does not apply"/>
  </relinst>

  <relinst type="has permission status" object="Foreign Determination Rescinded Wind Down" cf="100" name="Coin ladder - wind down">
    <condition rel="has coin status candidate" subject="%S" object="Foreign Determination Rescinded Wind Down"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split domicile and regulation pattern applies"/>
  </relinst>

  <relinst type="has permission status" object="Not Permitted Foreign" cf="100" name="Coin ladder - not permitted foreign">
    <condition rel="has coin status candidate" subject="%S" object="Not Permitted Foreign"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split domicile and regulation pattern applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Foreign Determination Rescinded Wind Down') is equal to 0" weight="1" alt="No wind down window is running"/>
  </relinst>

  <relinst type="has permission status" object="Not Permitted Pending Application" cf="100" name="Coin ladder - pending application">
    <condition rel="has coin status candidate" subject="%S" object="Not Permitted Pending Application"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split pattern applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Foreign Determination Rescinded Wind Down') is equal to 0" weight="1" alt="No wind down window is running"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Foreign') is equal to 0" weight="1" alt="No foreign disqualifier applies"/>
  </relinst>

  <relinst type="has permission status" object="Foreign Qualifying Exception" cf="100" name="Coin ladder - foreign qualifying exception">
    <condition rel="has coin status candidate" subject="%S" object="Foreign Qualifying Exception"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split pattern applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Foreign Determination Rescinded Wind Down') is equal to 0" weight="1" alt="No wind down window is running"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Foreign') is equal to 0" weight="1" alt="No section 5916 a conjunct fails"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Pending Application') is equal to 0" weight="1" alt="The issuer is not a pending applicant"/>
  </relinst>

  <relinst type="has permission status" object="Permitted State Issuer" cf="100" name="Coin ladder - permitted state issuer">
    <condition rel="has coin status candidate" subject="%S" object="Permitted State Issuer"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split pattern applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Foreign') is equal to 0" weight="1" alt="No foreign disqualifier applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Pending Application') is equal to 0" weight="1" alt="The issuer is not a pending applicant"/>
  </relinst>

  <relinst type="has permission status" object="Permitted Federal Issuer" cf="100" name="Coin ladder - permitted federal issuer">
    <condition rel="has coin status candidate" subject="%S" object="Permitted Federal Issuer"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="The issuer record is present"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="No split pattern applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Foreign') is equal to 0" weight="1" alt="No foreign disqualifier applies"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Pending Application') is equal to 0" weight="1" alt="The issuer is not a pending applicant"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Permitted State Issuer') is equal to 0" weight="1" alt="The issuer is federally qualified rather than state qualified"/>
  </relinst>

  <!-- ==================== Section 8 state machine =================== -->

  <relinst type="has sec8 state candidate" object="No Sec8 Action" cf="100" name="Sec8 - no noncompliance action on record">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition expression="countRelationshipInstances(%S,'sec8 notice date',*) is equal to 0" alt="Treasury has served no section 5907 noncompliance notice on this issuer"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Notice Served Cure Running" cf="100" name="Sec8 - notice served cure period running">
    <condition rel="sec8 notice date" subject="%S" object="%ND"/>
    <condition expression="addDays(%ND,30)" value="%CE" alt="Section 5907 b gives the issuer 30 days from the {{%ND}} notice to cure noncompliance"/>
    <condition rel="has evaluation date" subject="GENIUS Policy" object="%EV" weight="1"/>
    <condition expression="isBeforeDate(%EV,%CE) is equal to true" weight="1" alt="The evaluation date {{%EV}} falls inside the 30 day cure window ending {{%CE}}"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Cure Lapsed" cf="100" name="Sec8 - cure period lapsed without publication">
    <condition rel="sec8 notice date" subject="%S" object="%ND"/>
    <condition expression="addDays(%ND,30)" value="%CE" alt="The 30 day cure window from the {{%ND}} notice ended on {{%CE}}"/>
    <condition rel="has evaluation date" subject="GENIUS Policy" object="%EV" weight="1"/>
    <condition expression="isBeforeDate(%EV,%CE) is equal to false" weight="1" alt="The evaluation date {{%EV}} is on or after the cure window end {{%CE}} and the issuer has not cured"/>
    <condition expression="countRelationshipInstances(%S,'sec8 fr publication date',*) is equal to 0" weight="1" alt="Treasury has not yet published the noncompliance determination in the Federal Register"/>
  </relinst>

  <relinst type="sec8 ban effective date" cf="100" name="Sec8 - ban effective 30 days after publication">
    <condition rel="sec8 fr publication date" subject="%S" object="%PD"/>
    <condition expression="addDays(%PD,30)" value="%O" alt="The secondary trading prohibition takes effect 30 days after the {{%PD}} Federal Register notification under section 5907 b"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Ban Pending Effective" cf="100" name="Sec8 - published ban not yet effective">
    <condition rel="sec8 fr publication date" subject="%S" object="%PD"/>
    <condition rel="sec8 ban effective date" subject="%S" object="%BE" weight="1"/>
    <condition rel="has evaluation date" subject="GENIUS Policy" object="%EV" weight="1"/>
    <condition expression="isBeforeDate(%EV,%BE) is equal to true" weight="1" alt="The evaluation date {{%EV}} falls before the ban effective date {{%BE}} so the 30 day clock is still running"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Ban Active" cf="100" name="Sec8 - secondary trading ban in force">
    <condition rel="sec8 fr publication date" subject="%S" object="%PD"/>
    <condition rel="sec8 ban effective date" subject="%S" object="%BE" weight="1"/>
    <condition rel="has evaluation date" subject="GENIUS Policy" object="%EV" weight="1"/>
    <condition expression="isBeforeDate(%EV,%BE) is equal to false" weight="1" alt="The evaluation date {{%EV}} is on or after the ban effective date {{%BE}}"/>
    <condition expression="countRelationshipInstances(%S,'sec8 waiver date',*) is equal to 0" weight="1" alt="No section 5907 c waiver is on record for this issuer"/>
    <condition expression="countRelationshipInstances(%S,'sec8 compliance restored date',*) is equal to 0" weight="1" alt="Treasury has made no compliance restored determination for this issuer"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Waiver In Force" cf="100" name="Sec8 - waiver granted">
    <condition rel="sec8 waiver date" subject="%S" object="%WD"/>
    <condition rel="sec8 waiver ground" subject="%S" object="%WG" weight="1"/>
  </relinst>

  <relinst type="has sec8 state candidate" object="Ban Lifted Compliance Restored" cf="100" name="Sec8 - compliance restored after ban">
    <condition rel="sec8 compliance restored date" subject="%S" object="%CR"/>
    <condition rel="sec8 ban effective date" subject="%S" object="%BE" weight="1"/>
    <condition expression="isAfterDate(%CR,%BE) is equal to true" weight="1" alt="Treasury determined compliance restored on {{%CR}} after the ban took effect on {{%BE}}"/>
  </relinst>

  <!-- Sec 8 ladder: relief states outrank the ban -->

  <relinst type="has sec8 state" object="Waiver In Force" cf="100" name="Sec8 ladder - waiver">
    <condition rel="has sec8 state candidate" subject="%S" object="Waiver In Force"/>
  </relinst>

  <relinst type="has sec8 state" object="Ban Lifted Compliance Restored" cf="100" name="Sec8 ladder - lifted">
    <condition rel="has sec8 state candidate" subject="%S" object="Ban Lifted Compliance Restored"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Waiver In Force') is equal to 0" weight="1" alt="No waiver is on record"/>
  </relinst>

  <relinst type="has sec8 state" object="Ban Active" cf="100" name="Sec8 ladder - ban active">
    <condition rel="has sec8 state candidate" subject="%S" object="Ban Active"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Waiver In Force') is equal to 0" weight="1" alt="No waiver is on record"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Lifted Compliance Restored') is equal to 0" weight="1" alt="No compliance restored determination is on record"/>
  </relinst>

  <relinst type="has sec8 state" object="Ban Pending Effective" cf="100" name="Sec8 ladder - ban pending">
    <condition rel="has sec8 state candidate" subject="%S" object="Ban Pending Effective"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Waiver In Force') is equal to 0" weight="1" alt="No waiver is on record"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Active') is equal to 0" weight="1" alt="The ban is not yet in force"/>
  </relinst>

  <relinst type="has sec8 state" object="Cure Lapsed" cf="100" name="Sec8 ladder - cure lapsed">
    <condition rel="has sec8 state candidate" subject="%S" object="Cure Lapsed"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Waiver In Force') is equal to 0" weight="1" alt="No waiver is on record"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Pending Effective') is equal to 0" weight="1" alt="No Federal Register publication has issued"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Active') is equal to 0" weight="1" alt="The ban is not in force"/>
  </relinst>

  <relinst type="has sec8 state" object="Notice Served Cure Running" cf="100" name="Sec8 ladder - cure running">
    <condition rel="has sec8 state candidate" subject="%S" object="Notice Served Cure Running"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Waiver In Force') is equal to 0" weight="1" alt="No waiver is on record"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Cure Lapsed') is equal to 0" weight="1" alt="The cure window has not lapsed"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Pending Effective') is equal to 0" weight="1" alt="No Federal Register publication has issued"/>
    <condition expression="countRelationshipInstances(%S,'has sec8 state candidate','Ban Active') is equal to 0" weight="1" alt="The ban is not in force"/>
  </relinst>

  <relinst type="has sec8 state" object="No Sec8 Action" cf="100" name="Sec8 ladder - no action">
    <condition rel="has sec8 state candidate" subject="%S" object="No Sec8 Action"/>
    <condition expression="countRelationshipInstances(%S,'sec8 notice date',*) is equal to 0" weight="1" alt="No noncompliance notice exists for this issuer"/>
  </relinst>

  <relinst type="secondary trading ban active" object="true" cf="100" name="Sec8 - ban flag for acceptance layer">
    <condition rel="has sec8 state" subject="%S" object="Ban Active"/>
  </relinst>

  <!-- ==================== Acceptance determination ================== -->
  <!-- Coin scoped; the evaluating institution binds through the        -->
  <!-- is evaluating acceptance of relationship injected per session.   -->

  <relinst type="has acceptance candidate" object="Must Not Accept Statutory" cf="100" name="Accept - era three dasp prohibition 5902 b 1">
    <condition rel="has permission status" subject="%S" object="%PS"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="Era 3 Dasp Prohibition" weight="1"/>
    <condition expression="(%PS is equal to 'Not Permitted Foreign') or (%PS is equal to 'Not Permitted Pending Application') or (%PS is equal to 'Not Permitted Unknown Issuer')" weight="1" alt="The coin is not issued by a permitted payment stablecoin issuer and does not qualify under section 5916 so offering it breaches 12 USC 5902 b 1 from 18 July 2028"/>
    <condition expression="countRelationshipInstances(%S,'safe harbor override active',*) is equal to 0" weight="1" alt="No Treasury safe harbor under 12 USC 5902 c disapplies the offering prohibition for this coin"/>
  </relinst>

  <relinst type="has acceptance candidate" object="Must Not Accept Statutory" cf="100" name="Accept - lawful order condition failure 5902 b 2">
    <condition rel="issuer lawful order capable" subject="%S" object="false"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="The Act is effective so 12 USC 5902 b 2 bars a DASP from offering a foreign coin whose issuer lacks the capability and will to comply with lawful orders and any section 5916 reciprocal arrangement"/>
  </relinst>

  <relinst type="has acceptance candidate" object="Must Not Accept Statutory" cf="100" name="Accept - section 5907 secondary trading ban active">
    <condition rel="secondary trading ban active" subject="%S" object="true"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
  </relinst>

  <relinst type="has acceptance candidate" object="Must Not Accept House Policy" cf="97" name="Accept - house policy declines pending applicants">
    <condition rel="has permission status" subject="%S" object="Not Permitted Pending Application"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
  </relinst>

  <relinst type="has acceptance candidate" object="Must Not Accept House Policy" cf="97" name="Accept - house policy declines non permitted foreign coins">
    <condition rel="has permission status" subject="%S" object="Not Permitted Foreign"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="accepts non permitted foreign pre prohibition" subject="%E" object="false" weight="1"/>
  </relinst>

  <relinst type="has acceptance candidate" object="May Accept Prohibition Scheduled" cf="97" name="Accept - house accepts non permitted foreign before the prohibition">
    <condition rel="has permission status" subject="%S" object="Not Permitted Foreign"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="accepts non permitted foreign pre prohibition" subject="%E" object="true" weight="1"/>
    <condition rel="issuer lawful order capable" subject="%S" object="true" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 1 Pre Effective') or (%ERA is equal to 'Era 2 Effective')" weight="1" alt="Before 18 July 2028 accepting a non permitted foreign coin is a house risk decision - the statutory prohibition in 12 USC 5902 b 1 is scheduled but not yet operative"/>
  </relinst>

  <relinst type="has acceptance candidate" object="May Accept Wind Down" cf="100" name="Accept - wind down safe harbor 5916 b 4 B">
    <condition rel="has permission status" subject="%S" object="Foreign Determination Rescinded Wind Down"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
  </relinst>

  <relinst type="has acceptance candidate" object="May Accept" cf="100" name="Accept - permitted or qualifying coin">
    <condition rel="has permission status" subject="%S" object="%PS"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition expression="(%PS is equal to 'Permitted Federal Issuer') or (%PS is equal to 'Permitted State Issuer') or (%PS is equal to 'Foreign Qualifying Exception')" weight="1" alt="The coin is issued by a permitted payment stablecoin issuer or a foreign issuer satisfying all four section 5916 a conjuncts"/>
  </relinst>

  <!-- Acceptance ladder with fail safe default deny -->

  <relinst type="has acceptance determination" object="Must Not Accept Statutory" cf="100" name="Accept ladder - statutory">
    <condition rel="has acceptance candidate" subject="%S" object="Must Not Accept Statutory"/>
  </relinst>

  <relinst type="has acceptance determination" object="Must Not Accept House Policy" cf="100" name="Accept ladder - house policy">
    <condition rel="has acceptance candidate" subject="%S" object="Must Not Accept House Policy"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept Statutory') is equal to 0" weight="1" alt="No statutory prohibition applies so the decline rests on house policy alone"/>
  </relinst>

  <relinst type="has acceptance determination" object="May Accept Wind Down" cf="100" name="Accept ladder - wind down">
    <condition rel="has acceptance candidate" subject="%S" object="May Accept Wind Down"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept Statutory') is equal to 0" weight="1" alt="No statutory prohibition applies"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept House Policy') is equal to 0" weight="1" alt="House policy does not decline this coin"/>
  </relinst>

  <relinst type="has acceptance determination" object="May Accept Prohibition Scheduled" cf="100" name="Accept ladder - prohibition scheduled">
    <condition rel="has acceptance candidate" subject="%S" object="May Accept Prohibition Scheduled"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept Statutory') is equal to 0" weight="1" alt="No statutory prohibition applies"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept House Policy') is equal to 0" weight="1" alt="House policy does not decline this coin"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','May Accept Wind Down') is equal to 0" weight="1" alt="No wind down window applies"/>
  </relinst>

  <relinst type="has acceptance determination" object="May Accept" cf="100" name="Accept ladder - may accept">
    <condition rel="has acceptance candidate" subject="%S" object="May Accept"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept Statutory') is equal to 0" weight="1" alt="No statutory prohibition applies"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept House Policy') is equal to 0" weight="1" alt="House policy does not decline this coin"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','May Accept Wind Down') is equal to 0" weight="1" alt="No wind down window applies"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','May Accept Prohibition Scheduled') is equal to 0" weight="1" alt="No scheduled prohibition rung applies"/>
  </relinst>

  <relinst type="has acceptance determination" object="Must Not Accept House Policy" cf="90" name="Accept ladder - fail safe default deny">
    <condition rel="is evaluating acceptance of" subject="%E" object="%S"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate',*) is equal to 0" weight="1" alt="No affirmative acceptance ground was established for this coin so the default position is decline pending review"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Statutorily Unaddressed Refer Out') is equal to 0" weight="1" alt="Refer out coins route to legal escalation rather than a default decline"/>
    <condition expression="countRelationshipInstances(%S,'has coin status candidate','Not Permitted Unknown Issuer') is equal to 0" weight="1" alt="Unknown issuer coins route to the incomplete record escalation rather than a default decline"/>
  </relinst>

  <!-- Acceptance policy narrative lines - candidate level so they survive as evidence -->

  <relinst type="acceptance policy line" object="Offering must cease by 18 July 2028 under 12 USC 5902 b 1 - the three year DASP prohibition has no extension authority" cf="100" name="Accept line - scheduled prohibition narrative">
    <condition rel="has permission status" subject="%S" object="Not Permitted Foreign"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 1 Pre Effective') or (%ERA is equal to 'Era 2 Effective')" weight="1" alt="The prohibition date has not yet arrived at this evaluation date"/>
  </relinst>

  <relinst type="acceptance policy line" cf="100" name="Accept line - sec8 primary and secondary split narrative">
    <condition rel="issuer lawful order capable" subject="%S" object="false"/>
    <condition rel="sec8 ban effective date" subject="%S" object="%BE" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="The Act is effective so the section 5902 b 2 condition operates now"/>
    <condition expression="'Primary offering is unlawful now under 12 USC 5902 b 2 because the issuer cannot comply with lawful orders - facilitation of secondary trading is prohibited from ' + %BE" value="%O"/>
  </relinst>

  <relinst type="acceptance policy line" object="GENIUS acceptance restrictions not yet operative at this evaluation date - BSA and OFAC baseline duties continue with a readiness posture for the scheduled effective date" cf="100" name="Accept line - era one readiness narrative">
    <condition rel="has permission status" subject="%S" object="%PS"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="Era 1 Pre Effective" weight="1"/>
    <condition expression="(%PS is equal to 'Not Permitted Foreign') or (%PS is equal to 'Not Permitted Pending Application')" weight="1" alt="The coin is outside the permitted categories but the Act is not yet effective at this evaluation date"/>
  </relinst>

  <relinst type="acceptance policy line" object="Split domicile and regulation pattern - section 5916 a 4 tests the country where the issuer is domiciled and regulated as one conjunctive predicate and the statute does not address the split case - refer out for legal review" cf="100" name="Accept line - refer out narrative">
    <condition rel="has permission status" subject="%S" object="Statutorily Unaddressed Refer Out"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
  </relinst>

  <!-- Wallet evidence literals with per item authority statuses -->
  <concinst name="Wallet address appears on the OFAC SDN list as a listed digital currency address - blocking obligations arise under 31 CFR chapter V - FINAL LAW" type="Evidence"/>
  <concinst name="Wallet is controlled by a person on the SDN list - blocking obligations arise under 31 CFR chapter V - FINAL LAW" type="Evidence"/>
  <concinst name="Wallet owner is majority owned by blocked persons - blocking obligation FINAL LAW with ownership attribution per the OFAC 50 Percent Rule Revised Guidance of August 2014 - GUIDANCE" type="Evidence"/>
  <concinst name="Wallet is believed to be associated with a blocked person although not itself listed - block and report per OFAC FAQ 562 - GUIDANCE" type="Evidence"/>
  <concinst name="Counterparty is subject to a section 311 special measure including successor entities - FINAL LAW" type="Evidence"/>
  <concinst name="Direct receipt from a mixing service that is itself SDN listed - sanctions branch applies not the AML mixer tier - FINAL LAW" type="Evidence"/>
  <concinst name="Wallet geolocated or IP resolved to a comprehensively sanctioned jurisdiction - transaction time geolocation screening per OFAC virtual currency guidance - GUIDANCE over FINAL LAW prohibitions" type="Evidence"/>
  <concinst name="Sanctioned cluster exposure at or above the hold threshold within the appetite hop depth - per the board approved Sanctions Risk Appetite Statement - HOUSE POLICY not a regulatory threshold" type="Evidence"/>
  <concinst name="Exposure to an unlisted mixing service at or above the appetite threshold - HOUSE POLICY informed by the FinCEN mixing proposal of October 2023 - PROPOSED not final" type="Evidence"/>
  <concinst name="Unsolicited nominal receipt from a sanctioned source - blocking still applies with relaxed initial report timing per OFAC FAQ 1078 - GUIDANCE flagged secondary source" type="Evidence"/>
  <concinst name="Wallet geolocated in a monitored jurisdiction - enhanced due diligence is a house risk decision because FATF does not call for enhanced measures on monitored jurisdictions - HOUSE POLICY" type="Evidence"/>
  <concinst name="Self hosted wallet whose ownership has not been verified with the customer - HOUSE POLICY verification step" type="Evidence"/>

  <!-- ==================== Wallet exposure tiers ===================== -->
  <!-- Level 0 regulatory floor carriers - per item authority status.   -->
  <!-- List membership facts inject at cf 100 - attribution analytics   -->
  <!-- facts inject at vendor confidence around 90 and the weight       -->
  <!-- discipline carries that into the tier and disposition.           -->

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - sdn listed digital currency address">
    <condition rel="is sdn listed address" subject="%S" object="true"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - controlled by listed person">
    <condition rel="owner is listed person" subject="%S" object="true"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - fifty percent rule ownership attribution">
    <condition rel="owner majority owned by listed person" subject="%S" object="true"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - believed sdn associated per faq 562">
    <condition rel="believed sdn associated" subject="%S" object="true"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - section 311 special measure counterparty">
    <condition rel="is section 311 counterparty" subject="%S" object="true"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - direct receipt from sdn listed mixer">
    <condition rel="mixer exposure is direct" subject="%S" object="true"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="SDN Listed" weight="1"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - geolocated in comprehensively sanctioned jurisdiction">
    <condition rel="geolocated in" subject="%S" object="%J"/>
    <condition rel="is comprehensively sanctioned" subject="%J" object="true" weight="1"/>
  </relinst>

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - dusting receipt from sanctioned source">
    <condition rel="received unsolicited from sanctioned source" subject="%S" object="true"/>
  </relinst>

  <!-- Severe and elevated tiers - house appetite numerics only -->

  <relinst type="has tier candidate" object="Severe Exposure" cf="100" name="Wallet - direct exposure at or above hold threshold">
    <condition rel="direct exposure percent" subject="%S" object="%DE"/>
    <condition rel="cluster exposure hold threshold pct" subject="Risk Appetite" object="%TH" weight="1"/>
    <condition expression="%DE is greater than or equal to %TH" weight="1" alt="Direct sanctioned cluster exposure of {{%DE}} percent meets the {{%TH}} percent hold threshold in the board approved Sanctions Risk Appetite Statement"/>
  </relinst>

  <relinst type="has tier candidate" object="Severe Exposure" cf="100" name="Wallet - indirect exposure at or above hold threshold within depth">
    <condition rel="indirect exposure percent" subject="%S" object="%IE"/>
    <condition rel="exposure hop depth" subject="%S" object="%HD" weight="1"/>
    <condition rel="cluster exposure hold threshold pct" subject="Risk Appetite" object="%TH" weight="1"/>
    <condition rel="appetite hop depth" subject="Risk Appetite" object="%AD" weight="1"/>
    <condition expression="%IE is greater than or equal to %TH" weight="1" alt="Indirect sanctioned cluster exposure of {{%IE}} percent meets the {{%TH}} percent hold threshold in the board approved Sanctions Risk Appetite Statement"/>
    <condition expression="%HD is less than or equal to %AD" weight="1" alt="The exposure sits {{%HD}} hops away which is within the {{%AD}} hop analysis depth the appetite statement treats as attributable"/>
  </relinst>

  <relinst type="has tier candidate" object="Severe Exposure" cf="100" name="Wallet - indirect exposure to sdn listed mixer above hold threshold">
    <condition rel="mixer exposure percent" subject="%S" object="%MP"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="SDN Listed" weight="1"/>
    <condition rel="mixer exposure is direct" subject="%S" object="false" weight="1"/>
    <condition rel="cluster exposure hold threshold pct" subject="Risk Appetite" object="%TH" weight="1"/>
    <condition expression="%MP is greater than or equal to %TH" weight="1" alt="Indirect exposure of {{%MP}} percent to an SDN listed mixing service meets the {{%TH}} percent hold threshold in the appetite statement"/>
  </relinst>

  <relinst type="has tier candidate" object="Elevated Exposure" cf="100" name="Wallet - exposure above review floor">
    <condition rel="direct exposure percent" subject="%S" object="%DE"/>
    <condition rel="exposure review floor pct" subject="Risk Appetite" object="%FL" weight="1"/>
    <condition expression="%DE is greater than or equal to %FL" weight="1" alt="Direct sanctioned cluster exposure of {{%DE}} percent is at or above the {{%FL}} percent review floor in the appetite statement"/>
  </relinst>

  <relinst type="has tier candidate" object="Elevated Exposure" cf="100" name="Wallet - indirect exposure above review floor">
    <condition rel="indirect exposure percent" subject="%S" object="%IE"/>
    <condition rel="exposure review floor pct" subject="Risk Appetite" object="%FL" weight="1"/>
    <condition expression="%IE is greater than or equal to %FL" weight="1" alt="Indirect sanctioned cluster exposure of {{%IE}} percent is at or above the {{%FL}} percent review floor in the appetite statement"/>
  </relinst>

  <relinst type="has tier candidate" object="Elevated Exposure" cf="100" name="Wallet - unlisted mixer exposure at or above appetite threshold">
    <condition rel="mixer exposure percent" subject="%S" object="%MP"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="Unlisted" weight="1"/>
    <condition rel="mixer indirect threshold pct" subject="Risk Appetite" object="%MT" weight="1"/>
    <condition expression="%MP is greater than or equal to %MT" weight="1" alt="Exposure of {{%MP}} percent to an unlisted mixing service meets the {{%MT}} percent appetite threshold - an AML risk tier not a sanctions attribution after the 21 March 2025 Tornado Cash delisting"/>
  </relinst>

  <relinst type="has tier candidate" object="Elevated Exposure" cf="100" name="Wallet - geolocated in monitored jurisdiction">
    <condition rel="geolocated in" subject="%S" object="%J"/>
    <condition rel="is on monitored jurisdiction list" subject="%J" object="true" weight="1"/>
  </relinst>

  <relinst type="has tier candidate" object="Watch" cf="100" name="Wallet - unlisted mixer exposure below appetite threshold">
    <condition rel="mixer exposure percent" subject="%S" object="%MP"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="Unlisted" weight="1"/>
    <condition rel="mixer indirect threshold pct" subject="Risk Appetite" object="%MT" weight="1"/>
    <condition expression="%MP is less than %MT" weight="1" alt="Exposure of {{%MP}} percent to an unlisted mixing service sits below the {{%MT}} percent appetite threshold - noted for monitoring"/>
  </relinst>

  <relinst type="has tier candidate" object="Watch" cf="100" name="Wallet - ownership not verified with customer">
    <condition rel="ownership verified with customer" subject="%S" object="false"/>
  </relinst>

  <!-- Dusting classification - two sided, unknown never earns the relaxed path -->

  <relinst type="is dusting classified" object="true" cf="100" name="Wallet - dusting classification">
    <condition rel="received unsolicited from sanctioned source" subject="%S" object="true"/>
    <condition rel="dust amount usd" subject="%S" object="%DA" weight="1"/>
    <condition rel="dusting nominal amount usd" subject="Risk Appetite" object="%NA" weight="1"/>
    <condition expression="%DA is less than %NA" weight="1" alt="The unsolicited receipt of {{%DA}} dollars sits below the {{%NA}} dollar nominal dusting amount in the board approved appetite statement"/>
  </relinst>

  <relinst type="wallet mixer screening missing" object="true" cf="100" name="Wallet - mixer counterparty without listing record">
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M"/>
    <condition expression="countRelationshipInstances(%M,'has listing status',*) is equal to 0" weight="1" alt="The mixing service counterparty has no listing status record on the screening feed so the sanctions versus AML fork cannot be taken"/>
  </relinst>

  <!-- Wallet tier ladder -->

  <relinst type="has exposure tier" object="Prohibited Counterparty" cf="100" name="Wallet ladder - prohibited">
    <condition rel="has tier candidate" subject="%S" object="Prohibited Counterparty"/>
  </relinst>

  <relinst type="has exposure tier" object="Severe Exposure" cf="100" name="Wallet ladder - severe">
    <condition rel="has tier candidate" subject="%S" object="Severe Exposure"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Prohibited Counterparty') is equal to 0" weight="1" alt="No regulatory floor prohibition applies to this wallet"/>
  </relinst>

  <relinst type="has exposure tier" object="Elevated Exposure" cf="100" name="Wallet ladder - elevated">
    <condition rel="has tier candidate" subject="%S" object="Elevated Exposure"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Prohibited Counterparty') is equal to 0" weight="1" alt="No regulatory floor prohibition applies"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Severe Exposure') is equal to 0" weight="1" alt="Exposure stays below the appetite hold threshold"/>
  </relinst>

  <relinst type="has exposure tier" object="Watch" cf="100" name="Wallet ladder - watch">
    <condition rel="has tier candidate" subject="%S" object="Watch"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Prohibited Counterparty') is equal to 0" weight="1" alt="No regulatory floor prohibition applies"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Severe Exposure') is equal to 0" weight="1" alt="Exposure stays below the appetite hold threshold"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate','Elevated Exposure') is equal to 0" weight="1" alt="No elevated exposure indicator applies"/>
  </relinst>

  <relinst type="has exposure tier" object="Clean" cf="100" name="Wallet ladder - clean on complete record">
    <condition rel="wallet analytics record present" subject="%S" object="true"/>
    <condition rel="is sdn listed address" subject="%S" object="false" weight="1"/>
    <condition rel="believed sdn associated" subject="%S" object="false" weight="1"/>
    <condition rel="is section 311 counterparty" subject="%S" object="false" weight="1"/>
    <condition rel="owner is listed person" subject="%S" object="false" weight="1"/>
    <condition rel="owner majority owned by listed person" subject="%S" object="false" weight="1"/>
    <condition rel="received unsolicited from sanctioned source" subject="%S" object="false" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has tier candidate',*) is equal to 0" weight="1" alt="No prohibition severe elevated or watch indicator applies to this wallet on a complete analytics record"/>
    <condition expression="countRelationshipInstances(%S,'wallet mixer screening missing',*) is equal to 0" weight="1" alt="Every mixing service counterparty on the feed carries a listing status record"/>
  </relinst>

  <!-- Wallet evidence lines - mirror the carrier of each prohibited rule -->

  <relinst type="wallet evidence line" object="Wallet address appears on the OFAC SDN list as a listed digital currency address - blocking obligations arise under 31 CFR chapter V - FINAL LAW" cf="100" name="Wallet evid - sdn address">
    <condition rel="is sdn listed address" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Wallet is controlled by a person on the SDN list - blocking obligations arise under 31 CFR chapter V - FINAL LAW" cf="100" name="Wallet evid - listed owner">
    <condition rel="owner is listed person" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Wallet owner is majority owned by blocked persons - blocking obligation FINAL LAW with ownership attribution per the OFAC 50 Percent Rule Revised Guidance of August 2014 - GUIDANCE" cf="100" name="Wallet evid - fifty percent">
    <condition rel="owner majority owned by listed person" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Wallet is believed to be associated with a blocked person although not itself listed - block and report per OFAC FAQ 562 - GUIDANCE" cf="100" name="Wallet evid - faq 562">
    <condition rel="believed sdn associated" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Counterparty is subject to a section 311 special measure including successor entities - FINAL LAW" cf="100" name="Wallet evid - section 311">
    <condition rel="is section 311 counterparty" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Direct receipt from a mixing service that is itself SDN listed - sanctions branch applies not the AML mixer tier - FINAL LAW" cf="100" name="Wallet evid - sdn mixer">
    <condition rel="mixer exposure is direct" subject="%S" object="true"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="SDN Listed" weight="1"/>
  </relinst>

  <relinst type="wallet evidence line" object="Wallet geolocated or IP resolved to a comprehensively sanctioned jurisdiction - transaction time geolocation screening per OFAC virtual currency guidance - GUIDANCE over FINAL LAW prohibitions" cf="100" name="Wallet evid - comprehensive geo">
    <condition rel="geolocated in" subject="%S" object="%J"/>
    <condition rel="is comprehensively sanctioned" subject="%J" object="true" weight="1"/>
  </relinst>

  <relinst type="wallet evidence line" object="Sanctioned cluster exposure at or above the hold threshold within the appetite hop depth - per the board approved Sanctions Risk Appetite Statement - HOUSE POLICY not a regulatory threshold" cf="100" name="Wallet evid - severe appetite">
    <condition rel="has tier candidate" subject="%S" object="Severe Exposure"/>
  </relinst>

  <relinst type="wallet evidence line" object="Exposure to an unlisted mixing service at or above the appetite threshold - HOUSE POLICY informed by the FinCEN mixing proposal of October 2023 - PROPOSED not final" cf="100" name="Wallet evid - unlisted mixer">
    <condition rel="mixer exposure percent" subject="%S" object="%MP"/>
    <condition rel="has mixer exposure counterparty" subject="%S" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="Unlisted" weight="1"/>
    <condition rel="mixer indirect threshold pct" subject="Risk Appetite" object="%MT" weight="1"/>
    <condition expression="%MP is greater than or equal to %MT" weight="1" alt="Exposure of {{%MP}} percent meets the {{%MT}} percent appetite threshold for unlisted mixing services"/>
  </relinst>

  <relinst type="wallet evidence line" object="Unsolicited nominal receipt from a sanctioned source - blocking still applies with relaxed initial report timing per OFAC FAQ 1078 - GUIDANCE flagged secondary source" cf="100" name="Wallet evid - dusting">
    <condition rel="is dusting classified" subject="%S" object="true"/>
  </relinst>

  <relinst type="wallet evidence line" object="Wallet geolocated in a monitored jurisdiction - enhanced due diligence is a house risk decision because FATF does not call for enhanced measures on monitored jurisdictions - HOUSE POLICY" cf="100" name="Wallet evid - monitored geo">
    <condition rel="geolocated in" subject="%S" object="%J"/>
    <condition rel="is on monitored jurisdiction list" subject="%J" object="true" weight="1"/>
  </relinst>

  <relinst type="wallet evidence line" object="Self hosted wallet whose ownership has not been verified with the customer - HOUSE POLICY verification step" cf="100" name="Wallet evid - unverified ownership">
    <condition rel="ownership verified with customer" subject="%S" object="false"/>
  </relinst>

  <!-- Travel rule and SAR evidence literals -->
  <concinst name="Originator name missing from the transmittal order - 31 CFR 1010.410 f 1 i - FINAL LAW" type="Evidence"/>
  <concinst name="Originator address missing from the transmittal order - 31 CFR 1010.410 f 1 ii - FINAL LAW" type="Evidence"/>
  <concinst name="Originator account identifier missing from the transmittal order - 31 CFR 1010.410 f 1 i - FINAL LAW" type="Evidence"/>
  <concinst name="Amount record missing from the transmittal order - 31 CFR 1010.410 f 1 iii - FINAL LAW" type="Evidence"/>
  <concinst name="Execution date missing from the transmittal order - 31 CFR 1010.410 f 1 iv - FINAL LAW" type="Evidence"/>
  <concinst name="Identity of the recipients institution missing - 31 CFR 1010.410 f 1 v - FINAL LAW" type="Evidence"/>
  <concinst name="Beneficiary name not received - beneficiary items travel only as received under 31 CFR 1010.410 f 1 vi - FINAL LAW" type="Evidence"/>
  <concinst name="Beneficiary account identifier not received - beneficiary items travel only as received under 31 CFR 1010.410 f 1 vi - FINAL LAW" type="Evidence"/>
  <concinst name="Transfer assessed under the house adopted FATF style de minimis of 1000 dollars - HOUSE POLICY - the statutory threshold in 31 CFR 1010.410 is 3000 dollars" type="Evidence"/>
  <concinst name="No United States statute or regulation compels rejecting a transfer solely for missing travel rule data - the intermediary baseline is pass through if received then retrieve on lawful request - rejection here is house policy" type="Evidence"/>
  <concinst name="Bank deadline - file within 30 calendar days extendable to 60 where no suspect is identified - 31 CFR 1020.320 - FINAL LAW" type="Evidence"/>
  <concinst name="MSB deadline - file within 30 calendar days with no extension - 31 CFR 1022.320 - FINAL LAW" type="Evidence"/>
  <concinst name="PPSI regime note - proposed 31 CFR 1033.320 would set 5000 dollars and 30 to 60 days - PROPOSED - until final the operative duty follows the charter based regime" type="Evidence"/>
  <concinst name="Below the mandatory reporting threshold - a voluntary SAR with safe harbor remains available - FINAL LAW" type="Evidence"/>

  <!-- ==================== Travel rule assessment ==================== -->

  <relinst type="travel rule applies" object="true" cf="100" name="TR - statutory threshold met">
    <condition rel="has amount usd" subject="%S" object="%A"/>
    <condition rel="travel rule threshold usd" subject="GENIUS Policy" object="%T" weight="1"/>
    <condition expression="%A is greater than or equal to %T" weight="1" alt="The {{%A}} dollar transfer meets the {{%T}} dollar recordkeeping and travel rule threshold in 31 CFR 1010.410 as applied to convertible virtual currency by FIN-2019-G001"/>
  </relinst>

  <relinst type="travel rule applies house" object="true" cf="100" name="TR - house de minimis lane">
    <condition rel="has amount usd" subject="%S" object="%A"/>
    <condition rel="travel rule threshold usd" subject="GENIUS Policy" object="%T" weight="1"/>
    <condition rel="house travel rule de minimis usd" subject="GENIUS Policy" object="%H" weight="1"/>
    <condition expression="%A is less than %T" weight="1" alt="The transfer sits below the 3000 dollar statutory threshold so any assessment is a house choice"/>
    <condition expression="%A is greater than or equal to %H" weight="1" alt="The transfer meets the house adopted 1000 dollar de minimis modeled on the FATF virtual asset standard"/>
  </relinst>

  <relinst type="travel rule missing field" object="Originator name missing from the transmittal order - 31 CFR 1010.410 f 1 i - FINAL LAW" cf="100" name="TR field - originator name">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has originator name" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Originator address missing from the transmittal order - 31 CFR 1010.410 f 1 ii - FINAL LAW" cf="100" name="TR field - originator address">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has originator address" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Originator account identifier missing from the transmittal order - 31 CFR 1010.410 f 1 i - FINAL LAW" cf="100" name="TR field - originator account">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has originator account" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Amount record missing from the transmittal order - 31 CFR 1010.410 f 1 iii - FINAL LAW" cf="100" name="TR field - amount">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has amount record" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Execution date missing from the transmittal order - 31 CFR 1010.410 f 1 iv - FINAL LAW" cf="100" name="TR field - execution date">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has execution date record" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Identity of the recipients institution missing - 31 CFR 1010.410 f 1 v - FINAL LAW" cf="100" name="TR field - recipient institution">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has recipient institution identified" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Beneficiary name not received - beneficiary items travel only as received under 31 CFR 1010.410 f 1 vi - FINAL LAW" cf="100" name="TR field - beneficiary name">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has beneficiary name" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule missing field" object="Beneficiary account identifier not received - beneficiary items travel only as received under 31 CFR 1010.410 f 1 vi - FINAL LAW" cf="100" name="TR field - beneficiary account">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has beneficiary account" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="travel rule any field missing" object="true" cf="100" name="TR - at least one field missing">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition expression="countRelationshipInstances(%S,'travel rule missing field',*) is greater than or equal to 1" weight="1" alt="At least one required or as received travel rule field is absent from the transmittal record"/>
  </relinst>

  <!-- Travel rule status candidates -->

  <relinst type="has travel rule candidate" object="Not Applicable" cf="100" name="TR cand - below statutory threshold">
    <condition rel="has amount usd" subject="%S" object="%A"/>
    <condition rel="travel rule threshold usd" subject="GENIUS Policy" object="%T" weight="1"/>
    <condition expression="%A is less than %T" weight="1" alt="The {{%A}} dollar transfer sits below the {{%T}} dollar threshold in 31 CFR 1010.410 so the travel rule does not apply as law"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Role Not Evidenced" cf="100" name="TR cand - chain role missing">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition expression="countRelationshipInstances(%S,'has chain role',*) is equal to 0" weight="1" alt="The institutions position in the payment chain is not on the record and the travel rule duties differ by position - escalate rather than assume"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete Withhold Ordering Side" cf="100" name="TR cand - ordering side mandatory item missing">
    <condition rel="travel rule any field missing" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="Transmittors Institution" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete Withhold Ordering Side" cf="100" name="TR cand - ordering side pseudonymous originator">
    <condition rel="uses pseudonym or coded reference" subject="%S" object="true"/>
    <condition rel="travel rule applies" subject="%S" object="true" weight="1"/>
    <condition rel="has chain role" subject="%S" object="Transmittors Institution" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete House Reject" cf="97" name="TR cand - house rejects incomplete as intermediary">
    <condition rel="travel rule any field missing" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="Intermediary Institution" weight="1"/>
    <condition rel="house rejects incomplete travel rule" subject="GENIUS Policy" object="true" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete House Reject" cf="97" name="TR cand - house rejects incomplete as recipient">
    <condition rel="travel rule any field missing" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="Recipients Institution" weight="1"/>
    <condition rel="house rejects incomplete travel rule" subject="GENIUS Policy" object="true" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete Pass Through Permitted" cf="100" name="TR cand - pass through baseline as intermediary">
    <condition rel="travel rule any field missing" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="Intermediary Institution" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Incomplete Pass Through Permitted" cf="100" name="TR cand - monitoring baseline as recipient">
    <condition rel="travel rule any field missing" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="Recipients Institution" weight="1"/>
  </relinst>

  <relinst type="has travel rule candidate" object="Complete" cf="100" name="TR cand - all fields present and no pseudonym">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule has originator name" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has originator address" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has originator account" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has amount record" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has execution date record" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has recipient institution identified" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has beneficiary name" subject="%S" object="true" weight="1"/>
    <condition rel="travel rule has beneficiary account" subject="%S" object="true" weight="1"/>
    <condition rel="uses pseudonym or coded reference" subject="%S" object="false" weight="1"/>
    <condition rel="has chain role" subject="%S" object="%CR" weight="1"/>
  </relinst>

  <!-- Travel rule ladder -->

  <relinst type="has travel rule status" object="Not Applicable" cf="100" name="TR ladder - not applicable">
    <condition rel="has travel rule candidate" subject="%S" object="Not Applicable"/>
  </relinst>

  <relinst type="has travel rule status" object="Role Not Evidenced" cf="100" name="TR ladder - role not evidenced">
    <condition rel="has travel rule candidate" subject="%S" object="Role Not Evidenced"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Not Applicable') is equal to 0" weight="1" alt="The travel rule applies to this transfer"/>
  </relinst>

  <relinst type="has travel rule status" object="Incomplete Withhold Ordering Side" cf="100" name="TR ladder - withhold ordering side">
    <condition rel="has travel rule candidate" subject="%S" object="Incomplete Withhold Ordering Side"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Not Applicable') is equal to 0" weight="1" alt="The travel rule applies to this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Role Not Evidenced') is equal to 0" weight="1" alt="The chain role is on the record"/>
  </relinst>

  <relinst type="has travel rule status" object="Incomplete House Reject" cf="100" name="TR ladder - house reject">
    <condition rel="has travel rule candidate" subject="%S" object="Incomplete House Reject"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Not Applicable') is equal to 0" weight="1" alt="The travel rule applies to this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Role Not Evidenced') is equal to 0" weight="1" alt="The chain role is on the record"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete Withhold Ordering Side') is equal to 0" weight="1" alt="The institution is not the ordering institution on this transfer"/>
  </relinst>

  <relinst type="has travel rule status" object="Incomplete Pass Through Permitted" cf="100" name="TR ladder - pass through permitted">
    <condition rel="has travel rule candidate" subject="%S" object="Incomplete Pass Through Permitted"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Not Applicable') is equal to 0" weight="1" alt="The travel rule applies to this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Role Not Evidenced') is equal to 0" weight="1" alt="The chain role is on the record"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete Withhold Ordering Side') is equal to 0" weight="1" alt="The institution is not the ordering institution on this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete House Reject') is equal to 0" weight="1" alt="House policy does not direct rejection of incomplete transfers"/>
  </relinst>

  <relinst type="has travel rule status" object="Complete" cf="100" name="TR ladder - complete">
    <condition rel="has travel rule candidate" subject="%S" object="Complete"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Not Applicable') is equal to 0" weight="1" alt="The travel rule applies to this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete Withhold Ordering Side') is equal to 0" weight="1" alt="No ordering side item is missing"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete House Reject') is equal to 0" weight="1" alt="No incomplete record indicator applies"/>
    <condition expression="countRelationshipInstances(%S,'has travel rule candidate','Incomplete Pass Through Permitted') is equal to 0" weight="1" alt="No incomplete record indicator applies"/>
  </relinst>

  <relinst type="has contributing evidence" object="Transfer assessed under the house adopted FATF style de minimis of 1000 dollars - HOUSE POLICY - the statutory threshold in 31 CFR 1010.410 is 3000 dollars" cf="100" name="TR evid - house de minimis lane">
    <condition rel="travel rule applies house" subject="%S" object="true"/>
  </relinst>

  <relinst type="has contributing evidence" object="No United States statute or regulation compels rejecting a transfer solely for missing travel rule data - the intermediary baseline is pass through if received then retrieve on lawful request - rejection here is house policy" cf="100" name="TR evid - house reject legal baseline">
    <condition rel="has travel rule status" subject="%S" object="Incomplete House Reject"/>
  </relinst>

  <!-- ==================== Suspicion signals ========================= -->
  <!-- Role aware SAR threshold for the evaluating institution -->

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - bank regime">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Bank" weight="1"/>
    <condition rel="bank sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - custodian follows bank regime">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Custodian" weight="1"/>
    <condition rel="bank sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - msb regime">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Money Services Business" weight="1"/>
    <condition rel="msb sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - nonbank ppsi under msb regime while proposed rule pending">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Permitted Payment Stablecoin Issuer" weight="1"/>
    <condition rel="has charter type" subject="%E" object="Nonbank Charter" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
    <condition rel="msb sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - chartered ppsi under bank regime while proposed rule pending">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Permitted Payment Stablecoin Issuer" weight="1"/>
    <condition rel="has charter type" subject="%E" object="Trust Charter" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
    <condition rel="bank sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <relinst type="applicable sar threshold usd" cf="100" name="SAR threshold - ppsi proposed regime once final">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition rel="has entity role" subject="%E" object="Permitted Payment Stablecoin Issuer" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="true" weight="1"/>
    <condition rel="ppsi proposed sar threshold usd" subject="GENIUS Policy" object="%O" weight="1"/>
  </relinst>

  <!-- Signal carriers - graded cf bands 85 70 60 -->

  <relinst type="exhibits suspicion signal" object="Near Threshold Splitting" cf="85" name="Signal - near threshold splitting">
    <condition rel="same day related transfer count" subject="%S" object="%C"/>
    <condition rel="structuring minimum tranche count" subject="Risk Appetite" object="%TC" weight="1"/>
    <condition rel="same day aggregate amount usd" subject="%S" object="%AG" weight="1"/>
    <condition rel="applicable sar threshold usd" subject="%S" object="%RT" weight="1"/>
    <condition rel="has amount usd" subject="%S" object="%A" weight="1"/>
    <condition expression="%C is greater than or equal to %TC" weight="1" alt="{{%C}} related transfers on the same day meets the {{%TC}} tranche pattern minimum in the monitoring standards"/>
    <condition expression="%A is less than %RT" weight="1" alt="Each tranche of {{%A}} dollars sits just below the {{%RT}} dollar reporting threshold - the near threshold splitting typology in FinCEN notice 2025 NTC1 and advisory 2019 A003"/>
    <condition expression="%AG is greater than or equal to %RT" weight="1" alt="The same day aggregate of {{%AG}} dollars exceeds the reporting threshold - a design apparently intended to evade the reporting requirement"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="Rapid Pass Through Velocity" cf="85" name="Signal - rapid pass through velocity">
    <condition rel="trailing day transfer count" subject="%S" object="%VC"/>
    <condition rel="velocity count threshold" subject="Risk Appetite" object="%VT" weight="1"/>
    <condition rel="turnover multiple observed" subject="%S" object="%TM" weight="1"/>
    <condition rel="turnover multiple threshold" subject="Risk Appetite" object="%TT" weight="1"/>
    <condition expression="%VC is greater than or equal to %VT" weight="1" alt="{{%VC}} transfers in the trailing 24 hours meets the {{%VT}} transfer velocity marker in the monitoring standards"/>
    <condition expression="%TM is greater than or equal to %TT" weight="1" alt="Observed flow at {{%TM}} times the expected profile meets the {{%TT}} times rapid movement marker - the rapid pass through typology in FinCEN kiosk notice 2025 NTC1"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="Mixer Layering" cf="70" name="Signal - unlisted mixer layering">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="mixer exposure percent" subject="%W" object="%MP" weight="1"/>
    <condition rel="has mixer exposure counterparty" subject="%W" object="%M" weight="1"/>
    <condition rel="has listing status" subject="%M" object="Unlisted" weight="1"/>
    <condition rel="mixer indirect threshold pct" subject="Risk Appetite" object="%MT" weight="1"/>
    <condition expression="%MP is greater than or equal to %MT" weight="1" alt="Mixing service exposure of {{%MP}} percent meets the {{%MT}} percent appetite threshold - mixing to obscure fund flows is a red flag in FinCEN advisory 2019 A003 and the October 2023 mixing proposal"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="KYC Identity Mismatch" cf="85" name="Signal - originator identity mismatch">
    <condition rel="originator name matches kyc record" subject="%S" object="false"/>
    <condition rel="travel rule applies" subject="%S" object="true" weight="1"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="KYC Identity Mismatch" cf="85" name="Signal - pseudonymous transmittal">
    <condition rel="uses pseudonym or coded reference" subject="%S" object="true"/>
    <condition rel="travel rule applies" subject="%S" object="true" weight="1"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="Sanctions Evasion Timing" cf="70" name="Signal - movement after designation event">
    <condition rel="moved after designation event" subject="%S" object="true"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="Pig Butchering Pattern" cf="60" name="Signal - pig butchering behavioural flags">
    <condition rel="shows pig butchering behaviour" subject="%S" object="true"/>
  </relinst>

  <relinst type="exhibits suspicion signal" object="High Risk Jurisdiction Corridor" cf="60" name="Signal - monitored jurisdiction corridor">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="geolocated in" subject="%W" object="%J" weight="1"/>
    <condition rel="is on monitored jurisdiction list" subject="%J" object="true" weight="1"/>
  </relinst>

  <!-- SAR obligation - knowledge prong plus role threshold -->

  <relinst type="sar obligation indicated" object="true" cf="100" name="SAR - signal with amount at or above role threshold">
    <condition rel="exhibits suspicion signal" subject="%S" object="%SIG"/>
    <condition rel="applicable sar threshold usd" subject="%S" object="%RT" weight="1"/>
    <condition rel="has amount usd" subject="%S" object="%A" weight="1"/>
    <condition expression="%A is greater than or equal to %RT" weight="1" alt="The {{%A}} dollar transaction meets the {{%RT}} dollar reporting threshold for this institutions regime"/>
  </relinst>

  <relinst type="sar obligation indicated" object="true" cf="100" name="SAR - signal with same day aggregate at or above role threshold">
    <condition rel="exhibits suspicion signal" subject="%S" object="%SIG"/>
    <condition rel="applicable sar threshold usd" subject="%S" object="%RT" weight="1"/>
    <condition rel="same day aggregate amount usd" subject="%S" object="%AG" weight="1"/>
    <condition expression="%AG is greater than or equal to %RT" weight="1" alt="The same day aggregate of {{%AG}} dollars meets the {{%RT}} dollar involves or aggregates threshold for this institutions regime"/>
  </relinst>

  <relinst type="has contributing evidence" object="Below the mandatory reporting threshold - a voluntary SAR with safe harbor remains available - FINAL LAW" cf="100" name="SAR evid - below threshold voluntary note">
    <condition rel="exhibits suspicion signal" subject="%S" object="%SIG"/>
    <condition rel="applicable sar threshold usd" subject="%S" object="%RT" weight="1"/>
    <condition rel="has amount usd" subject="%S" object="%A" weight="1"/>
    <condition expression="%A is less than %RT" weight="1" alt="The {{%A}} dollar transaction sits below the {{%RT}} dollar mandatory threshold"/>
    <condition expression="countRelationshipInstances(%S,'sar obligation indicated',*) is equal to 0" weight="1" alt="No aggregate basis lifts the transaction over the mandatory threshold"/>
  </relinst>

  <!-- Role specific deadline narratives - gated on the obligation -->

  <relinst type="sar deadline narrative" object="Bank deadline - file within 30 calendar days extendable to 60 where no suspect is identified - 31 CFR 1020.320 - FINAL LAW" cf="100" name="SAR deadline - bank">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="has entity role" subject="%E" object="Bank" weight="1"/>
  </relinst>

  <relinst type="sar deadline narrative" object="MSB deadline - file within 30 calendar days with no extension - 31 CFR 1022.320 - FINAL LAW" cf="100" name="SAR deadline - msb">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="has entity role" subject="%E" object="Money Services Business" weight="1"/>
  </relinst>

  <relinst type="sar deadline narrative" object="MSB deadline - file within 30 calendar days with no extension - 31 CFR 1022.320 - FINAL LAW" cf="100" name="SAR deadline - nonbank ppsi msb regime">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="has entity role" subject="%E" object="Permitted Payment Stablecoin Issuer" weight="1"/>
    <condition rel="has charter type" subject="%E" object="Nonbank Charter" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="PPSI regime note - proposed 31 CFR 1033.320 would set 5000 dollars and 30 to 60 days - PROPOSED - until final the operative duty follows the charter based regime" cf="100" name="SAR evid - ppsi proposed regime note">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="has entity role" subject="%E" object="Permitted Payment Stablecoin Issuer" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
  </relinst>

  <!-- Order and disposition evidence literals -->
  <concinst name="Order satisfies the section 2 16 elements - issued under federal authority final and valid - requires the issuer to seize freeze burn or prevent transfer of stablecoins it issued specified with reasonable particularity - subject to review - and is addressed to the issuer of the coin it covers - FINAL LAW" type="Evidence"/>
  <concinst name="Order received by an institution that is not the issuer of the covered coin - the section 2 16 lawful order machinery is issuer anchored - route under ordinary legal process to legal counsel" type="Evidence"/>
  <concinst name="Order does not specify the stablecoins or accounts with reasonable particularity as section 2 16 B requires - escalate to legal counsel rather than freeze" type="Evidence"/>
  <concinst name="Order has not been authenticated by the legal team - escalate before acting" type="Evidence"/>
  <concinst name="Wallet analytics record missing - clean dispositions are unavailable without a complete screening record" type="Evidence"/>
  <concinst name="Sanctions screening was not performed at transaction time - screening at onboarding alone failed in the 2022 Kraken enforcement action - GUIDANCE" type="Evidence"/>
  <concinst name="Mixing service counterparty lacks a listing status record so the sanctions versus AML fork cannot be taken - escalate" type="Evidence"/>
  <concinst name="Property interest could not be determined while a regulatory floor sanctions finding is present - blocking and rejecting duties differ and neither may be assumed - escalate" type="Evidence"/>
  <concinst name="Issuer permitting record absent from the registry feed - escalate" type="Evidence"/>
  <concinst name="Split domicile and regulation pattern requires legal review before the section 5916 exception can be applied" type="Evidence"/>
  <concinst name="Acceptance determination could not be derived for the coin in this transaction - escalate" type="Evidence"/>

  <!-- ==================== Property interest fork ==================== -->

  <relinst type="has property resolution" object="Confirmed Held" cf="100" name="Prop - feed confirms custody">
    <condition rel="institution holds transaction asset" subject="%S" object="true"/>
  </relinst>

  <relinst type="has property resolution" object="Confirmed Held" cf="100" name="Prop - analyst confirms custody">
    <condition rel="property interest confirmed" subject="%S" object="true"/>
  </relinst>

  <relinst type="has property resolution" object="Confirmed Not Held" cf="100" name="Prop - feed confirms no custody">
    <condition rel="institution holds transaction asset" subject="%S" object="false"/>
  </relinst>

  <relinst type="has property resolution" object="Confirmed Not Held" cf="100" name="Prop - analyst confirms no custody">
    <condition rel="property interest confirmed" subject="%S" object="false"/>
  </relinst>

  <relinst type="has property resolution" object="Undetermined" cf="100" name="Prop - no custody record either way">
    <condition expression="countRelationshipInstances(%S,'institution holds transaction asset',*) is equal to 0" alt="The custody feed carries no record of whether the institution holds the asset in this transaction"/>
    <condition expression="countRelationshipInstances(%S,'property interest confirmed',*) is equal to 0" weight="1" alt="The analyst could not confirm the position either"/>
  </relinst>

  <!-- ==================== Lawful order gate ========================= -->
  <!-- Section 2 16 is issuer anchored - the freeze path requires the   -->
  <!-- addressee to be the issuer of the covered coin.                  -->

  <relinst type="has valid order gate" object="true" cf="100" name="Order - valid issuer order covering the counterparty wallet">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="is addressed to" subject="%OR" object="%E" weight="1"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="is issued by" subject="%C" object="%E" weight="1"/>
    <condition rel="order covers wallet" subject="%OR" object="%W" weight="1"/>
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="issued under federal authority" subject="%OR" object="true" weight="1"/>
    <condition rel="is final and valid" subject="%OR" object="true" weight="1"/>
    <condition rel="specifies property with particularity" subject="%OR" object="true" weight="1"/>
    <condition rel="is subject to review" subject="%OR" object="true" weight="1"/>
    <condition rel="order authenticated by legal" subject="%OR" object="true" weight="1"/>
  </relinst>

  <relinst type="has valid order gate" object="true" cf="100" name="Order - valid issuer order covering the stablecoin">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="is addressed to" subject="%OR" object="%E" weight="1"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="is issued by" subject="%C" object="%E" weight="1"/>
    <condition rel="order covers stablecoin" subject="%OR" object="%C" weight="1"/>
    <condition rel="issued under federal authority" subject="%OR" object="true" weight="1"/>
    <condition rel="is final and valid" subject="%OR" object="true" weight="1"/>
    <condition rel="specifies property with particularity" subject="%OR" object="true" weight="1"/>
    <condition rel="is subject to review" subject="%OR" object="true" weight="1"/>
    <condition rel="order authenticated by legal" subject="%OR" object="true" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Freeze Pending Lawful Order" cf="100" name="Cand - freeze pending lawful order">
    <condition rel="has valid order gate" subject="%S" object="true"/>
  </relinst>

  <relinst type="has order outcome" object="Freeze Executed Under Lawful Order" cf="100" name="Order outcome - freeze executed">
    <condition rel="has valid order gate" subject="%S" object="true"/>
  </relinst>

  <relinst type="has contributing evidence" object="Order satisfies the section 2 16 elements - issued under federal authority final and valid - requires the issuer to seize freeze burn or prevent transfer of stablecoins it issued specified with reasonable particularity - subject to review - and is addressed to the issuer of the coin it covers - FINAL LAW" cf="100" name="Order evid - valid order">
    <condition rel="has valid order gate" subject="%S" object="true"/>
  </relinst>

  <relinst type="has order outcome" object="Ordinary Legal Process Escalate To Legal" cf="100" name="Order outcome - addressee is not the issuer">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="is addressed to" subject="%OR" object="%E" weight="1"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="is issued by" subject="%C" object="%ISS" weight="1"/>
    <condition expression="%ISS is not equal to %E" weight="1" alt="The order is addressed to {{%E}} but the covered coin is issued by {{%ISS}} - the section 2 16 machinery binds the issuer so this routes as ordinary legal process"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - order at non issuer needs legal routing">
    <condition rel="has order outcome" subject="%S" object="Ordinary Legal Process Escalate To Legal"/>
  </relinst>

  <relinst type="has contributing evidence" object="Order received by an institution that is not the issuer of the covered coin - the section 2 16 lawful order machinery is issuer anchored - route under ordinary legal process to legal counsel" cf="100" name="Order evid - non issuer addressee">
    <condition rel="has order outcome" subject="%S" object="Ordinary Legal Process Escalate To Legal"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - order lacks particularity">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="specifies property with particularity" subject="%OR" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Order does not specify the stablecoins or accounts with reasonable particularity as section 2 16 B requires - escalate to legal counsel rather than freeze" cf="100" name="Order evid - particularity failure">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="specifies property with particularity" subject="%OR" object="false" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - order not authenticated">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="issued under federal authority" subject="%OR" object="true" weight="1"/>
    <condition expression="countRelationshipInstances(%OR,'order authenticated by legal',*) is equal to 0" weight="1" alt="Legal has not yet authenticated the order so no freeze may be executed on it"/>
  </relinst>

  <relinst type="has contributing evidence" object="Order has not been authenticated by the legal team - escalate before acting" cf="100" name="Order evid - not authenticated">
    <condition rel="relates to transaction" subject="%OR" object="%S"/>
    <condition rel="issued under federal authority" subject="%OR" object="true" weight="1"/>
    <condition expression="countRelationshipInstances(%OR,'order authenticated by legal',*) is equal to 0" weight="1" alt="Legal has not yet authenticated the order"/>
  </relinst>

  <!-- ==================== Sanctions dispositions ==================== -->

  <relinst type="has disposition candidate" object="Block" cf="100" name="Cand - block prohibited counterparty with property held">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Reject" cf="100" name="Cand - reject prohibited counterparty without property">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <relinst type="sanctions basis of rejection" object="OFAC Jurisdiction Prohibition" cf="100" name="Basis - comprehensive jurisdiction">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="geolocated in" subject="%W" object="%J" weight="1"/>
    <condition rel="is comprehensively sanctioned" subject="%J" object="true" weight="1"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <relinst type="sanctions basis of rejection" object="OFAC Listed Counterparty" cf="100" name="Basis - listed or attributed counterparty">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="is sdn listed address" subject="%W" object="true" weight="1"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <relinst type="sanctions basis of rejection" object="Section 311 Special Measure" cf="100" name="Basis - special measure counterparty">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="is section 311 counterparty" subject="%W" object="true" weight="1"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <!-- ==================== Acceptance and travel rule dispositions === -->

  <relinst type="has disposition candidate" object="Reject" cf="100" name="Cand - reject coin under statutory acceptance bar">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="Must Not Accept Statutory"/>
  </relinst>

  <relinst type="has disposition candidate" object="Reject" cf="97" name="Cand - reject coin under house acceptance policy">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="Must Not Accept House Policy"/>
  </relinst>

  <relinst type="has disposition candidate" object="Reject" cf="100" name="Cand - withhold ordering side transfer for correction">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Withhold Ordering Side"/>
  </relinst>

  <relinst type="has disposition candidate" object="Reject" cf="97" name="Cand - house rejects incomplete travel rule record">
    <condition rel="has travel rule status" subject="%S" object="Incomplete House Reject"/>
  </relinst>

  <!-- ==================== Completeness escalations ================== -->

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - wallet analytics record missing flag false">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="wallet analytics record present" subject="%W" object="false" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - wallet analytics record absent">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition expression="countRelationshipInstances(%W,'wallet analytics record present',*) is equal to 0" weight="1" alt="The analytics feed carries no record for the counterparty wallet"/>
  </relinst>

  <relinst type="has contributing evidence" object="Wallet analytics record missing - clean dispositions are unavailable without a complete screening record" cf="100" name="Evid - analytics missing">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition expression="countRelationshipInstances(%W,'wallet analytics record present',*) is equal to 0" weight="1" alt="The analytics feed carries no record for the counterparty wallet"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - screening not performed">
    <condition rel="sanctions screening performed" subject="%S" object="false"/>
  </relinst>

  <relinst type="has contributing evidence" object="Sanctions screening was not performed at transaction time - screening at onboarding alone failed in the 2022 Kraken enforcement action - GUIDANCE" cf="100" name="Evid - screening not performed">
    <condition rel="sanctions screening performed" subject="%S" object="false"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - screening record absent">
    <condition expression="countRelationshipInstances(%S,'sanctions screening performed',*) is equal to 0" alt="No transaction time screening attestation is on the record"/>
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - mixer screening record missing">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="wallet mixer screening missing" subject="%W" object="true" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Mixing service counterparty lacks a listing status record so the sanctions versus AML fork cannot be taken - escalate" cf="100" name="Evid - mixer screening missing">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="wallet mixer screening missing" subject="%W" object="true" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - property undetermined with regulatory floor finding">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Undetermined" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Property interest could not be determined while a regulatory floor sanctions finding is present - blocking and rejecting duties differ and neither may be assumed - escalate" cf="100" name="Evid - property undetermined">
    <condition rel="has counterparty wallet" subject="%S" object="%W"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty" weight="1"/>
    <condition rel="has property resolution" subject="%S" object="Undetermined" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - unknown issuer coin">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has permission status" subject="%C" object="Not Permitted Unknown Issuer"/>
  </relinst>

  <relinst type="has contributing evidence" object="Issuer permitting record absent from the registry feed - escalate" cf="100" name="Evid - unknown issuer">
    <condition rel="uses stablecoin" subject="%S" object="%C"/>
    <condition rel="has permission status" subject="%C" object="Not Permitted Unknown Issuer" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - refer out coin needs legal review">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has permission status" subject="%C" object="Statutorily Unaddressed Refer Out"/>
  </relinst>

  <relinst type="has contributing evidence" object="Split domicile and regulation pattern requires legal review before the section 5916 exception can be applied" cf="100" name="Evid - refer out">
    <condition rel="uses stablecoin" subject="%S" object="%C"/>
    <condition rel="has permission status" subject="%C" object="Statutorily Unaddressed Refer Out" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - travel rule role not evidenced">
    <condition rel="has travel rule status" subject="%S" object="Role Not Evidenced"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - acceptance determination missing">
    <condition rel="uses stablecoin" subject="%S" object="%C"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition expression="countRelationshipInstances(%C,'has acceptance determination',*) is equal to 0" weight="1" alt="No acceptance determination could be derived for the coin in this transaction"/>
  </relinst>

  <relinst type="has contributing evidence" object="Acceptance determination could not be derived for the coin in this transaction - escalate" cf="100" name="Evid - acceptance missing">
    <condition rel="uses stablecoin" subject="%S" object="%C"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition expression="countRelationshipInstances(%C,'has acceptance determination',*) is equal to 0" weight="1" alt="No acceptance determination could be derived"/>
  </relinst>

  <!-- ==================== Appetite hold and SAR file ================ -->

  <relinst type="has disposition candidate" object="Hold Escalate To Sanctions Officer" cf="100" name="Cand - hold on severe appetite exposure">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Severe Exposure"/>
  </relinst>

  <relinst type="has disposition candidate" object="File Suspicious Activity Report" cf="100" name="Cand - file on indicated sar obligation">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
  </relinst>

  <!-- ==================== Disposition ladder ======================== -->

  <relinst type="has disposition" object="Freeze Pending Lawful Order" cf="100" name="Ladder - freeze pending lawful order">
    <condition rel="has disposition candidate" subject="%S" object="Freeze Pending Lawful Order"/>
  </relinst>

  <relinst type="has disposition" object="Block" cf="100" name="Ladder - block">
    <condition rel="has disposition candidate" subject="%S" object="Block"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order freeze takes precedence"/>
  </relinst>

  <relinst type="has disposition" object="Reject" cf="100" name="Ladder - reject">
    <condition rel="has disposition candidate" subject="%S" object="Reject"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order freeze takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Block') is equal to 0" weight="1" alt="No blocking obligation with property in possession takes precedence"/>
  </relinst>

  <relinst type="has disposition" object="Escalate Incomplete Record" cf="100" name="Ladder - escalate incomplete record">
    <condition rel="has disposition candidate" subject="%S" object="Escalate Incomplete Record"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order freeze takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Block') is equal to 0" weight="1" alt="No blocking obligation takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Reject') is equal to 0" weight="1" alt="No rejection ground takes precedence"/>
  </relinst>

  <relinst type="has disposition" object="Hold Escalate To Sanctions Officer" cf="100" name="Ladder - hold escalate to sanctions officer">
    <condition rel="has disposition candidate" subject="%S" object="Hold Escalate To Sanctions Officer"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order freeze takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Block') is equal to 0" weight="1" alt="No blocking obligation takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Reject') is equal to 0" weight="1" alt="No rejection ground takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Escalate Incomplete Record') is equal to 0" weight="1" alt="The record is complete enough to decide"/>
  </relinst>

  <relinst type="has disposition" object="File Suspicious Activity Report" cf="100" name="Ladder - file suspicious activity report">
    <condition rel="has disposition candidate" subject="%S" object="File Suspicious Activity Report"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order freeze takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Block') is equal to 0" weight="1" alt="No blocking obligation takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Reject') is equal to 0" weight="1" alt="No rejection ground takes precedence"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Escalate Incomplete Record') is equal to 0" weight="1" alt="The record is complete enough to decide"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Hold Escalate To Sanctions Officer') is equal to 0" weight="1" alt="No appetite hold takes precedence"/>
  </relinst>

  <relinst type="has disposition" object="Process" cf="97" name="Ladder - process on clean complete record">
    <condition rel="sanctions screening performed" subject="%S" object="true"/>
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="wallet analytics record present" subject="%W" object="true" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="%WT" weight="1"/>
    <condition expression="(%WT is equal to 'Clean') or (%WT is equal to 'Watch') or (%WT is equal to 'Elevated Exposure')" weight="1" alt="The counterparty wallet sits in a processable tier of the appetite ladder"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="%AD" weight="1"/>
    <condition expression="(%AD is equal to 'May Accept') or (%AD is equal to 'May Accept Prohibition Scheduled') or (%AD is equal to 'May Accept Wind Down') or (%AD is equal to 'May Accept Safe Harbor Exception')" weight="1" alt="The coin is in an acceptable category for this institution at this evaluation date"/>
    <condition rel="has travel rule status" subject="%S" object="%TRS" weight="1"/>
    <condition expression="(%TRS is equal to 'Complete') or (%TRS is equal to 'Incomplete Pass Through Permitted') or (%TRS is equal to 'Not Applicable')" weight="1" alt="Travel rule duties are satisfied or permit pass through for this transfer"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Freeze Pending Lawful Order') is equal to 0" weight="1" alt="No lawful order applies"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Block') is equal to 0" weight="1" alt="No blocking obligation applies"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Reject') is equal to 0" weight="1" alt="No rejection ground applies"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Escalate Incomplete Record') is equal to 0" weight="1" alt="The record is complete"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','Hold Escalate To Sanctions Officer') is equal to 0" weight="1" alt="No appetite hold applies"/>
    <condition expression="countRelationshipInstances(%S,'has disposition candidate','File Suspicious Activity Report') is equal to 0" weight="1" alt="No mandatory suspicious activity report is indicated"/>
  </relinst>

  <!-- Reporting and rationale literals -->
  <concinst name="Annual report of blocked property held as of June 30 filed by September 30 - 31 CFR 501.603 b 2 - FINAL LAW" type="Evidence"/>
  <concinst name="OFAC has stated it will not prioritize enforcement over delayed initial blocking reports for unsolicited nominal receipts - file promptly through ORS - FAQ 1078 GUIDANCE flagged secondary source" type="Evidence"/>
  <concinst name="All OFAC reports file electronically through the OFAC Reporting System - mandatory since 8 August 2024 - FINAL LAW" type="Evidence"/>
  <concinst name="Marketing this product as a payment stablecoin is unlawful under section 4 e 3 A once the Act is effective - knowing and willful violations carry a 500000 dollar penalty under section 4 e 3 B - FINAL LAW - marketing exposure is distinct from transaction processing" type="Evidence"/>
  <concinst name="A suspicious activity report never substitutes for blocking or rejecting a transaction - sanctions and AML duties run in parallel - FinCEN alert 2022 Alert001 - GUIDANCE" type="Evidence"/>
  <concinst name="Block - blocked property in the institutions possession or control must be denied to all parties under 31 CFR chapter V with the initial blocking report due within 10 business days - OFAC Virtual Currency Guidance October 2021" type="Rationale"/>
  <concinst name="Freeze pending lawful order - the order satisfies the section 2 16 elements and is addressed to this institution as issuer - section 4 a 6 B makes compliance an issuance precondition - FINAL LAW" type="Rationale"/>
  <concinst name="Escalate - the record is incomplete in a way that changes which duty applies - no disposition may be assumed on missing facts" type="Rationale"/>
  <concinst name="Hold and escalate to the sanctions officer - sanctioned cluster exposure meets the hold threshold in the board approved Sanctions Risk Appetite Statement - HOUSE POLICY - no regulatory blocking basis is present" type="Rationale"/>
  <concinst name="Reject - offering this stablecoin is statutorily barred for this institution - see the acceptance policy lines for the controlling section of the GENIUS Act - FINAL LAW" type="Rationale"/>
  <concinst name="Reject - house acceptance policy declines this coin category - HOUSE POLICY - the law does not compel this rejection at this evaluation date and the scheduled statutory position appears in the acceptance policy lines" type="Rationale"/>
  <concinst name="Withhold and correct before execution - as the ordering institution this transfer cannot be sent without the mandatory transmittal fields of 31 CFR 1010.410 f 1 as applied to CVC by FIN-2019-G001 - FINAL LAW as applied" type="Rationale"/>
  <concinst name="Reject - required transfer information is incomplete and house policy directs rejection - HOUSE POLICY - the legal baseline would permit pass through with retrieval on request and a suspicion review" type="Rationale"/>

  <!-- ==================== Reporting obligations ===================== -->
  <!-- The blocking report mirrors the Block candidate gates and        -->
  <!-- deliberately ignores the ladder - it is owed even when a freeze  -->
  <!-- order outranks the block at disposition level.                   -->

  <relinst type="has reporting obligation" object="OFAC Initial Blocking Report" cf="100" name="Report - initial blocking report">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
    <condition expression="countRelationshipInstances(%W,'is dusting classified',*) is equal to 0" weight="1" alt="This is not a dusting classified receipt so the standard report timing applies"/>
  </relinst>

  <relinst type="reporting deadline narrative" cf="100" name="Report - blocking deadline narrative">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
    <condition expression="countRelationshipInstances(%W,'is dusting classified',*) is equal to 0" weight="1" alt="Standard report timing applies"/>
    <condition rel="has transfer date" subject="%S" object="%TD" weight="1"/>
    <condition expression="'File the initial blocking report through ORS within 10 business days of the ' + %TD + ' blocking - 31 CFR 501.603 b 1 - FINAL LAW'" value="%O"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Blocking Report Relaxed Timeline Dusting" cf="100" name="Report - dusting relaxed blocking report">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="is dusting classified" subject="%W" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="OFAC has stated it will not prioritize enforcement over delayed initial blocking reports for unsolicited nominal receipts - file promptly through ORS - FAQ 1078 GUIDANCE flagged secondary source" cf="100" name="Report evid - dusting relaxed timing">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="is dusting classified" subject="%W" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Rejected Transaction Report" cf="100" name="Report - rejected transaction report">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="sanctions basis of rejection" subject="%S" object="%B" weight="1"/>
  </relinst>

  <relinst type="reporting deadline narrative" cf="100" name="Report - rejected transaction deadline narrative">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="sanctions basis of rejection" subject="%S" object="%B" weight="1"/>
    <condition rel="has transfer date" subject="%S" object="%TD" weight="1"/>
    <condition expression="'File the rejected transaction report through ORS within 10 business days of the ' + %TD + ' rejection - 31 CFR 501.604 - FINAL LAW'" value="%O"/>
  </relinst>

  <relinst type="has reporting obligation" object="Suspicious Activity Report Preparation" cf="100" name="Report - sar preparation">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
  </relinst>

  <relinst type="has contributing evidence" object="A suspicious activity report never substitutes for blocking or rejecting a transaction - sanctions and AML duties run in parallel - FinCEN alert 2022 Alert001 - GUIDANCE" cf="100" name="Report evid - sar never substitutes">
    <condition rel="sar obligation indicated" subject="%S" object="true"/>
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty" weight="1"/>
  </relinst>

  <relinst type="has reporting obligation" object="Annual Blocked Property Report" cf="100" name="Report - annual blocked property">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Annual report of blocked property held as of June 30 filed by September 30 - 31 CFR 501.603 b 2 - FINAL LAW" cf="100" name="Report evid - annual blocked property">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has reporting obligation" object="Travel Rule Record Retention Five Years" cf="100" name="Report - travel rule retention">
    <condition rel="travel rule applies" subject="%S" object="true"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Record Retention Ten Years" cf="100" name="Report - ofac retention on prohibited counterparty">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Prohibited Counterparty"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Record Retention Ten Years" cf="100" name="Report - ofac retention on sanctions rejection">
    <condition rel="sanctions basis of rejection" subject="%S" object="%B"/>
  </relinst>

  <relinst type="has reporting obligation" object="Order Compliance Return" cf="100" name="Report - order compliance return">
    <condition rel="has disposition" subject="%S" object="Freeze Pending Lawful Order"/>
  </relinst>

  <relinst type="has contributing evidence" object="All OFAC reports file electronically through the OFAC Reporting System - mandatory since 8 August 2024 - FINAL LAW" cf="100" name="Report evid - ors filing">
    <condition rel="has reporting obligation" subject="%S" object="OFAC Initial Blocking Report"/>
  </relinst>

  <!-- ==================== Marketing warning line ==================== -->

  <relinst type="marketing warning line" object="Marketing this product as a payment stablecoin is unlawful under section 4 e 3 A once the Act is effective - knowing and willful violations carry a 500000 dollar penalty under section 4 e 3 B - FINAL LAW - marketing exposure is distinct from transaction processing" cf="100" name="Marketing - unlawful marketing warning">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="markets coin as payment stablecoin" subject="%E" object="%C"/>
    <condition rel="has permission status" subject="%C" object="%PS" weight="1"/>
    <condition expression="(%PS is equal to 'Not Permitted Foreign') or (%PS is equal to 'Not Permitted Pending Application') or (%PS is equal to 'Not Permitted Unknown Issuer')" weight="1" alt="The coin is outside the permitted and qualifying categories so marketing it as a payment stablecoin engages section 4 e 3 A"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="The Act is effective at this evaluation date"/>
  </relinst>

  <!-- ==================== Controlling rationales ==================== -->
  <!-- Exactly one per run - each copies its final disposition binding  -->
  <!-- so the narrative can never leak onto another outcome.            -->

  <relinst type="has disposition rationale" cf="97" name="Rat - process">
    <condition rel="has disposition" subject="%S" object="Process"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has permission status" subject="%C" object="%PS" weight="1"/>
    <condition rel="has travel rule status" subject="%S" object="%TRS" weight="1"/>
    <condition expression="'Process - the stablecoin holds status ' + %PS + ' - the counterparty wallet screened clear of the SDN list ownership attribution special measures and jurisdiction prohibitions on a complete analytics record - travel rule position ' + %TRS + ' - no suspicion signal met the reporting standard'" value="%O"/>
  </relinst>

  <relinst type="has disposition rationale" object="Block - blocked property in the institutions possession or control must be denied to all parties under 31 CFR chapter V with the initial blocking report due within 10 business days - OFAC Virtual Currency Guidance October 2021" cf="100" name="Rat - block">
    <condition rel="has disposition" subject="%S" object="Block"/>
  </relinst>

  <relinst type="has disposition rationale" object="Freeze pending lawful order - the order satisfies the section 2 16 elements and is addressed to this institution as issuer - section 4 a 6 B makes compliance an issuance precondition - FINAL LAW" cf="100" name="Rat - freeze">
    <condition rel="has disposition" subject="%S" object="Freeze Pending Lawful Order"/>
  </relinst>

  <relinst type="has disposition rationale" cf="100" name="Rat - reject on sanctions grounds">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="sanctions basis of rejection" subject="%S" object="%B" weight="1"/>
    <condition expression="'Reject - the transaction is prohibited on the basis ' + %B + ' and no blockable property interest is in the institutions possession - rejected transaction report due through ORS within 10 business days - 31 CFR 501.604 - FINAL LAW'" value="%O"/>
  </relinst>

  <relinst type="has disposition rationale" object="Reject - offering this stablecoin is statutorily barred for this institution - see the acceptance policy lines for the controlling section of the GENIUS Act - FINAL LAW" cf="100" name="Rat - reject under statutory acceptance bar">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="Must Not Accept Statutory" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'sanctions basis of rejection',*) is equal to 0" weight="1" alt="The rejection rests on the GENIUS acceptance bar rather than an OFAC prohibition"/>
  </relinst>

  <relinst type="has disposition rationale" object="Reject - house acceptance policy declines this coin category - HOUSE POLICY - the law does not compel this rejection at this evaluation date and the scheduled statutory position appears in the acceptance policy lines" cf="97" name="Rat - reject under house acceptance policy">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="Must Not Accept House Policy" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'sanctions basis of rejection',*) is equal to 0" weight="1" alt="No OFAC prohibition drives this rejection"/>
  </relinst>

  <relinst type="has disposition rationale" object="Withhold and correct before execution - as the ordering institution this transfer cannot be sent without the mandatory transmittal fields of 31 CFR 1010.410 f 1 as applied to CVC by FIN-2019-G001 - FINAL LAW as applied" cf="100" name="Rat - reject withhold ordering side">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="has travel rule status" subject="%S" object="Incomplete Withhold Ordering Side" weight="1"/>
  </relinst>

  <relinst type="has disposition rationale" object="Reject - required transfer information is incomplete and house policy directs rejection - HOUSE POLICY - the legal baseline would permit pass through with retrieval on request and a suspicion review" cf="97" name="Rat - reject house travel rule stance">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="has travel rule status" subject="%S" object="Incomplete House Reject" weight="1"/>
  </relinst>

  <relinst type="has disposition rationale" cf="100" name="Rat - file suspicious activity report">
    <condition rel="has disposition" subject="%S" object="File Suspicious Activity Report"/>
    <condition rel="exhibits suspicion signal" subject="%S" object="%SIG" weight="1"/>
    <condition expression="'File - the transaction meets the knowledge or suspicion standard through the ' + %SIG + ' typology at or above the institutions reporting threshold - filing is confidential and does not require declining the transaction - 31 USC 5318 g 2'" value="%O"/>
  </relinst>

  <relinst type="has disposition rationale" object="Escalate - the record is incomplete in a way that changes which duty applies - no disposition may be assumed on missing facts" cf="100" name="Rat - escalate incomplete">
    <condition rel="has disposition" subject="%S" object="Escalate Incomplete Record"/>
  </relinst>

  <relinst type="has disposition rationale" object="Hold and escalate to the sanctions officer - sanctioned cluster exposure meets the hold threshold in the board approved Sanctions Risk Appetite Statement - HOUSE POLICY - no regulatory blocking basis is present" cf="100" name="Rat - hold appetite">
    <condition rel="has disposition" subject="%S" object="Hold Escalate To Sanctions Officer"/>
  </relinst>

  <!-- ==================== Next steps ================================ -->

  <relinst type="has recommended next step" object="Enhanced Due Diligence" cf="100" name="Next - edd on elevated tier">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Elevated Exposure"/>
  </relinst>

  <relinst type="has recommended next step" object="Continue Standard Monitoring" cf="100" name="Next - monitoring on watch tier">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="Watch"/>
  </relinst>

  <relinst type="has recommended next step" object="Verify Wallet Ownership With Customer" cf="100" name="Next - verify unverified ownership">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="ownership verified with customer" subject="%W" object="false"/>
  </relinst>

  <relinst type="has recommended next step" object="Request Missing Transfer Information" cf="100" name="Next - rfi on pass through">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Pass Through Permitted"/>
  </relinst>

  <relinst type="has recommended next step" object="Retrieve Records On Lawful Request" cf="100" name="Next - retrieval duty note on pass through">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Pass Through Permitted"/>
  </relinst>

  <relinst type="has recommended next step" object="Correct And Resubmit Transfer" cf="100" name="Next - correct ordering side">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Withhold Ordering Side"/>
  </relinst>

  <relinst type="has recommended next step" object="Escalate To Sanctions Officer" cf="100" name="Next - sanctions officer on hold">
    <condition rel="has disposition" subject="%S" object="Hold Escalate To Sanctions Officer"/>
  </relinst>

  <relinst type="has recommended next step" object="Escalate To BSA Officer" cf="100" name="Next - bsa officer on file">
    <condition rel="has disposition" subject="%S" object="File Suspicious Activity Report"/>
  </relinst>

  <relinst type="has recommended next step" object="Apply For OFAC Licence If Release Sought" cf="100" name="Next - licence path on block">
    <condition rel="has disposition" subject="%S" object="Block"/>
  </relinst>

  <relinst type="has recommended next step" object="Escalate To Legal Counsel" cf="100" name="Next - legal counsel on ordinary process order">
    <condition rel="has order outcome" subject="%S" object="Ordinary Legal Process Escalate To Legal"/>
  </relinst>

  <relinst type="has recommended next step" object="Escalate To BSA Officer" cf="100" name="Next - bsa officer on escalate disposition">
    <condition rel="has disposition" subject="%S" object="Escalate Incomplete Record"/>
  </relinst>

  <!-- Obligation layer literals -->
  <concinst name="Monthly certification attaches to the section 4 a 1 C monthly report - the statutes cross reference to paragraph 1 D is a drafting error because paragraph 1 ends at C - FINAL LAW with noted defect" type="Evidence"/>
  <concinst name="Custody of reserves collateral or issuance keys is permitted only under federal or state supervision meeting section 10 a - customer property and segregation protections follow section 10 b and c - FINAL LAW" type="Evidence"/>
  <concinst name="Until the proposed part 1033 regime is final a nonbank issuer remains a money services business under FIN-2019-G001 - FinCEN registration and the four pillar programme apply - FINAL LAW" type="Evidence"/>
  <concinst name="CIP duty is operative as statutory element five - the June 2026 joint CIP proposal 91 FR 37234 would specify minimum elements with compliance due 12 months after a final rule - PROPOSED" type="Evidence"/>
  <concinst name="Blockchain analytics capability gap - 31 CFR 1022.210 requires a programme commensurate with the risks of the business - FINAL LAW - the Bittrex and Poloniex enforcement actions show screening data you hold but do not use is treated as reason to know - GUIDANCE" type="Evidence"/>
  <concinst name="Self hosted wallet counterparty verification is a house risk based CDD choice under 31 CFR 1020.210 - the federal unhosted wallet proposal was withdrawn in August 2024 so no rule is pending for banks - HOUSE POLICY" type="Evidence"/>

  <!-- ==================== Duty attachment by role =================== -->
  <!-- GENIUS issuer duties attach once the Act is effective            -->

  <relinst type="has genius duty" object="Maintain One To One Reserves" cf="100" name="Duty - reserves one to one">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="The Act is effective so section 4 a 1 A requires identifiable reserves backing outstanding coins at least one to one"/>
  </relinst>

  <relinst type="has genius duty" object="Hold Reserves In Permitted Assets Only" cf="100" name="Duty - permitted reserve assets">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Reserves may sit only in the eight section 4 a 1 A categories including Treasuries of 93 days or less and no rehypothecation under 4 a 2"/>
  </relinst>

  <relinst type="has genius duty" object="Publish Monthly Reserve Disclosure" cf="100" name="Duty - monthly disclosure">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 1 C requires publishing outstanding coins and reserve composition monthly including tenor and custody location"/>
  </relinst>

  <relinst type="has genius duty" object="Monthly Examination And Executive Certification" cf="100" name="Duty - monthly certification">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 3 requires registered accounting firm examination monthly with CEO and CFO certifications carrying Sarbanes Oxley style criminal exposure for false statements"/>
  </relinst>

  <relinst type="duty basis line" object="Monthly certification attaches to the section 4 a 1 C monthly report - the statutes cross reference to paragraph 1 D is a drafting error because paragraph 1 ends at C - FINAL LAW with noted defect" cf="100" name="Duty basis - certification scrivener note">
    <condition rel="has genius duty" subject="%S" object="Monthly Examination And Executive Certification"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Public Redemption Policy" cf="100" name="Duty - redemption policy">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 1 B requires clear conspicuous timely redemption procedures with seven days notice of fee changes"/>
  </relinst>

  <relinst type="has genius duty" object="Pay No Holder Yield" cf="100" name="Duty - no holder yield">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 11 bars paying holders any interest or yield solely for holding or using the coin"/>
  </relinst>

  <relinst type="has genius duty" object="Observe Naming And Marketing Restrictions" cf="100" name="Duty - naming and marketing">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 9 bars government name terms and legal tender or federal backing suggestions - section 4 e 3 separately bars marketing a product as a payment stablecoin with a 500000 dollar fine for knowing violations"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain BSA Financial Institution Programme" cf="100" name="Duty - bsa financial institution treatment">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 5 A treats a permitted issuer as a financial institution under the Bank Secrecy Act subject to sanctions money laundering customer identification and due diligence law"/>
  </relinst>

  <relinst type="has genius duty" object="Monitor And Report Suspicious Transactions" cf="100" name="Duty - suspicious transaction monitoring">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Statutory programme element three requires monitoring and reporting of suspicious transactions from the effective date regardless of the pending FinCEN rule"/>
  </relinst>

  <relinst type="has genius duty" object="Retain Required Records" cf="100" name="Duty - record retention">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Statutory programme element two requires retention of appropriate records - OFAC records run ten years effective March 2025 under amended 31 CFR 501.601"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Block Freeze Reject Capability" cf="100" name="Duty - block freeze reject capability">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Statutory programme element four requires technical capability policies and procedures to block freeze and reject specific or impermissible transactions"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Customer Identification Programme" cf="100" name="Duty - customer identification programme">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Statutory programme element five requires an effective customer identification programme including high value transactions and enhanced due diligence"/>
  </relinst>

  <relinst type="duty basis line" object="CIP duty is operative as statutory element five - the June 2026 joint CIP proposal 91 FR 37234 would specify minimum elements with compliance due 12 months after a final rule - PROPOSED" cf="100" name="Duty basis - cip proposal posture">
    <condition rel="has genius duty" subject="%S" object="Maintain Customer Identification Programme"/>
    <condition rel="cip rule is final" subject="GENIUS Policy" object="false" weight="1"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Sanctions Compliance Programme" cf="100" name="Duty - sanctions compliance programme">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Statutory programme element six requires an effective economic sanctions compliance programme including sanctions list verification"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Lawful Order Capability" cf="100" name="Duty - lawful order capability">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 6 B permits issuance only with the technological capability and will to comply with lawful orders to seize freeze burn or prevent transfer under section 2 16"/>
  </relinst>

  <relinst type="has genius duty" object="File Annual Audited Financial Statements" cf="100" name="Duty - fifty billion audit tier">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has outstanding issuance usd" subject="%S" object="%OI" weight="1"/>
    <condition expression="%OI is greater than 50000000000" weight="1" alt="Outstanding issuance of {{%OI}} dollars exceeds the 50 billion dollar tier so section 4 a 10 requires audited annual financial statements to PCAOB standards"/>
  </relinst>

  <relinst type="has genius duty" object="Transition To Federal Framework Within 360 Days" cf="100" name="Duty - ten billion transition trigger">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has charter type" subject="%S" object="Trust Charter" weight="1"/>
    <condition rel="has outstanding issuance usd" subject="%S" object="%OI" weight="1"/>
    <condition expression="%OI is greater than 10000000000" weight="1" alt="Outstanding issuance of {{%OI}} dollars is more than 10 billion so section 4 d requires transition to the federal framework within 360 days or ceasing new issuance - a waiver is possible"/>
    <condition expression="countRelationshipInstances(%S,'has transition waiver',*) is equal to 0" weight="1" alt="No section 5903 d 3 transition waiver is on record for this issuer"/>
  </relinst>

  <relinst type="state pathway line" object="Transition waiver in force - the primary federal payment stablecoin regulator has waived the section 4 d transition requirement under 5903 d 3 so the issuer may continue on the state pathway despite exceeding 10 billion dollars - FINAL LAW" cf="100" name="Duty - transition waiver line">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has charter type" subject="%S" object="Trust Charter" weight="1"/>
    <condition rel="has outstanding issuance usd" subject="%S" object="%OI" weight="1"/>
    <condition expression="%OI is greater than 10000000000" weight="1" alt="Outstanding issuance of {{%OI}} dollars is more than 10 billion"/>
    <condition rel="has transition waiver" subject="%S" object="true" weight="1"/>
  </relinst>

  <relinst type="state pathway line" cf="100" name="Duty - state ceiling intact line">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has charter type" subject="%S" object="Trust Charter" weight="1"/>
    <condition rel="has outstanding issuance usd" subject="%S" object="%OI" weight="1"/>
    <condition expression="%OI is less than or equal to 10000000000" weight="1" alt="Outstanding issuance of {{%OI}} dollars is not more than 10 billion so the section 4 c 1 state regime ceiling is intact and the 4 d transition trigger of strictly more than 10 billion has not fired"/>
    <condition expression="'State pathway intact - outstanding issuance of ' + %OI + ' dollars satisfies the not more than 10 billion opt in ceiling of section 4 c 1 and the more than 10 billion transition trigger of section 4 d has not fired - FINAL LAW'" value="%O"/>
  </relinst>

  <relinst type="has genius duty" object="Register As Money Services Business" cf="100" name="Duty - nonbank ppsi msb registration while rule pending">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has charter type" subject="%S" object="Nonbank Charter" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain MSB Four Pillar Programme" cf="100" name="Duty - nonbank ppsi four pillar programme while rule pending">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has charter type" subject="%S" object="Nonbank Charter" weight="1"/>
    <condition rel="ppsi sar rule is final" subject="GENIUS Policy" object="false" weight="1"/>
  </relinst>

  <relinst type="duty basis line" object="Until the proposed part 1033 regime is final a nonbank issuer remains a money services business under FIN-2019-G001 - FinCEN registration and the four pillar programme apply - FINAL LAW" cf="100" name="Duty basis - msb regime while pending">
    <condition rel="has genius duty" subject="%S" object="Register As Money Services Business"/>
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer" weight="1"/>
  </relinst>

  <relinst type="has genius duty" object="Register As Money Services Business" cf="100" name="Duty - msb registration">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain MSB Four Pillar Programme" cf="100" name="Duty - msb four pillar programme">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>

  <relinst type="has genius duty" object="Comply With Travel Rule" cf="100" name="Duty - msb travel rule">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Bank AML Programme" cf="100" name="Duty - bank aml programme">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Bank Customer Identification Programme" cf="100" name="Duty - bank cip">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>

  <relinst type="has genius duty" object="Comply With Travel Rule" cf="100" name="Duty - bank travel rule">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>

  <relinst type="duty basis line" object="Self hosted wallet counterparty verification is a house risk based CDD choice under 31 CFR 1020.210 - the federal unhosted wallet proposal was withdrawn in August 2024 so no rule is pending for banks - HOUSE POLICY" cf="100" name="Duty basis - bank self hosted wallet posture">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>

  <relinst type="has genius duty" object="Segregate Customer Property" cf="100" name="Duty - custodian segregation">
    <condition rel="has entity role" subject="%S" object="Custodian"/>
  </relinst>

  <relinst type="has genius duty" object="Maintain Supervised Custodian Status" cf="100" name="Duty - custodian supervision gate">
    <condition rel="has entity role" subject="%S" object="Custodian"/>
  </relinst>

  <relinst type="duty basis line" object="Custody of reserves collateral or issuance keys is permitted only under federal or state supervision meeting section 10 a - customer property and segregation protections follow section 10 b and c - FINAL LAW" cf="100" name="Duty basis - custodian gates">
    <condition rel="has entity role" subject="%S" object="Custodian"/>
  </relinst>

  <relinst type="has genius duty" object="Cease Offering Non Permitted Coins" cf="100" name="Duty - dasp era three cease offering">
    <condition rel="performs dasp activity" subject="%S" object="true"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="Era 3 Dasp Prohibition" weight="1"/>
  </relinst>

  <!-- ==================== Required elements by role ================= -->

  <relinst type="has required element" object="S1 AML Programme And Officer" cf="100" name="Elem req - s1 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="S3 Suspicious Transaction Monitoring" cf="100" name="Elem req - s3 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="S4 Block Freeze Reject Capability" cf="100" name="Elem req - s4 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="S5 Customer Identification And EDD" cf="100" name="Elem req - s5 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="S6 Sanctions Compliance Programme" cf="100" name="Elem req - s6 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="S7 Lawful Order Technical Capability" cf="100" name="Elem req - s7 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="P1 Proposed FinCEN Programme Elements" cf="100" name="Elem req - p1 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="P2 Proposed OFAC Programme Elements" cf="100" name="Elem req - p2 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="P6 Proposed CIP Elements" cf="100" name="Elem req - p6 for ppsi">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
  </relinst>
  <relinst type="has required element" object="M1 MSB Internal Controls" cf="100" name="Elem req - m1 for msb">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>
  <relinst type="has required element" object="M2 MSB Designated Compliance Person" cf="100" name="Elem req - m2 for msb">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>
  <relinst type="has required element" object="M3 MSB Training" cf="100" name="Elem req - m3 for msb">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>
  <relinst type="has required element" object="M4 MSB Independent Review" cf="100" name="Elem req - m4 for msb">
    <condition rel="has entity role" subject="%S" object="Money Services Business"/>
  </relinst>
  <relinst type="has required element" object="B1 Bank AML Programme Elements" cf="100" name="Elem req - b1 for bank">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>
  <relinst type="has required element" object="B2 Bank CIP Elements" cf="100" name="Elem req - b2 for bank">
    <condition rel="has entity role" subject="%S" object="Bank"/>
  </relinst>
  <relinst type="has required element" object="C1 Custody Segregation Elements" cf="100" name="Elem req - c1 for custodian">
    <condition rel="has entity role" subject="%S" object="Custodian"/>
  </relinst>
  <relinst type="has required element" object="O1 Management Commitment" cf="100" name="Elem req - o1 all roles">
    <condition rel="has entity role" subject="%S" object="%R"/>
    <condition expression="(%R is equal to 'Permitted Payment Stablecoin Issuer') or (%R is equal to 'Money Services Business') or (%R is equal to 'Bank') or (%R is equal to 'Custodian')" weight="1" alt="The OFAC Framework pillars apply to every United States institution with sanctions exposure as enforcement mitigating guidance"/>
  </relinst>
  <relinst type="has required element" object="O2 Risk Assessment" cf="100" name="Elem req - o2 all roles">
    <condition rel="has entity role" subject="%S" object="%R"/>
    <condition expression="(%R is equal to 'Permitted Payment Stablecoin Issuer') or (%R is equal to 'Money Services Business') or (%R is equal to 'Bank') or (%R is equal to 'Custodian')" weight="1" alt="OFAC Framework pillar two"/>
  </relinst>
  <relinst type="has required element" object="O3 Internal Controls" cf="100" name="Elem req - o3 all roles">
    <condition rel="has entity role" subject="%S" object="%R"/>
    <condition expression="(%R is equal to 'Permitted Payment Stablecoin Issuer') or (%R is equal to 'Money Services Business') or (%R is equal to 'Bank') or (%R is equal to 'Custodian')" weight="1" alt="OFAC Framework pillar three"/>
  </relinst>
  <relinst type="has required element" object="O4 Testing And Auditing" cf="100" name="Elem req - o4 all roles">
    <condition rel="has entity role" subject="%S" object="%R"/>
    <condition expression="(%R is equal to 'Permitted Payment Stablecoin Issuer') or (%R is equal to 'Money Services Business') or (%R is equal to 'Bank') or (%R is equal to 'Custodian')" weight="1" alt="OFAC Framework pillar four"/>
  </relinst>
  <relinst type="has required element" object="O5 Training" cf="100" name="Elem req - o5 all roles">
    <condition rel="has entity role" subject="%S" object="%R"/>
    <condition expression="(%R is equal to 'Permitted Payment Stablecoin Issuer') or (%R is equal to 'Money Services Business') or (%R is equal to 'Bank') or (%R is equal to 'Custodian')" weight="1" alt="OFAC Framework pillar five"/>
  </relinst>

  <!-- ==================== Element status ============================ -->
  <!-- Satisfied needs every evidencing fact true - deficient needs an  -->
  <!-- explicit false - a missing record is not evidenced and never     -->
  <!-- satisfies.                                                       -->

  <relinst type="element satisfied" object="S1 AML Programme And Officer" cf="100" name="Elem sat - s1">
    <condition rel="has required element" subject="%S" object="S1 AML Programme And Officer" weight="1"/>
    <condition rel="has designated compliance officer" subject="%S" object="true"/>
    <condition rel="has documented risk assessment" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="S1 AML Programme And Officer" cf="100" name="Elem def - s1 no officer">
    <condition rel="has required element" subject="%S" object="S1 AML Programme And Officer" weight="1"/>
    <condition rel="has designated compliance officer" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="S1 AML Programme And Officer" cf="100" name="Elem def - s1 no risk assessment">
    <condition rel="has required element" subject="%S" object="S1 AML Programme And Officer" weight="1"/>
    <condition rel="has documented risk assessment" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S1 AML Programme And Officer" cf="100" name="Elem nev - s1">
    <condition rel="has required element" subject="%S" object="S1 AML Programme And Officer" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has designated compliance officer',*) is equal to 0" alt="No record shows whether a compliance officer is designated - an unevidenced element never counts as satisfied"/>
  </relinst>

  <relinst type="element satisfied" object="S3 Suspicious Transaction Monitoring" cf="100" name="Elem sat - s3">
    <condition rel="has required element" subject="%S" object="S3 Suspicious Transaction Monitoring" weight="1"/>
    <condition rel="screens sanctions at transaction time" subject="%S" object="true"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="S3 Suspicious Transaction Monitoring" cf="100" name="Elem def - s3 no transaction screening">
    <condition rel="has required element" subject="%S" object="S3 Suspicious Transaction Monitoring" weight="1"/>
    <condition rel="screens sanctions at transaction time" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="S3 Suspicious Transaction Monitoring" cf="100" name="Elem def - s3 no analytics">
    <condition rel="has required element" subject="%S" object="S3 Suspicious Transaction Monitoring" weight="1"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S3 Suspicious Transaction Monitoring" cf="100" name="Elem nev - s3">
    <condition rel="has required element" subject="%S" object="S3 Suspicious Transaction Monitoring" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'screens sanctions at transaction time',*) is equal to 0" alt="No record shows whether transaction time monitoring runs"/>
  </relinst>

  <relinst type="element satisfied" object="S4 Block Freeze Reject Capability" cf="100" name="Elem sat - s4">
    <condition rel="has required element" subject="%S" object="S4 Block Freeze Reject Capability" weight="1"/>
    <condition rel="has seize freeze burn capability" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="S4 Block Freeze Reject Capability" cf="100" name="Elem def - s4">
    <condition rel="has required element" subject="%S" object="S4 Block Freeze Reject Capability" weight="1"/>
    <condition rel="has seize freeze burn capability" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S4 Block Freeze Reject Capability" cf="100" name="Elem nev - s4">
    <condition rel="has required element" subject="%S" object="S4 Block Freeze Reject Capability" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has seize freeze burn capability',*) is equal to 0" alt="No record shows whether block freeze and reject capability exists"/>
  </relinst>

  <relinst type="element satisfied" object="S5 Customer Identification And EDD" cf="100" name="Elem sat - s5">
    <condition rel="has required element" subject="%S" object="S5 Customer Identification And EDD" weight="1"/>
    <condition rel="has customer identification programme" subject="%S" object="true"/>
    <condition rel="cip includes documentary verification" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="S5 Customer Identification And EDD" cf="100" name="Elem def - s5 no cip">
    <condition rel="has required element" subject="%S" object="S5 Customer Identification And EDD" weight="1"/>
    <condition rel="has customer identification programme" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S5 Customer Identification And EDD" cf="100" name="Elem nev - s5">
    <condition rel="has required element" subject="%S" object="S5 Customer Identification And EDD" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has customer identification programme',*) is equal to 0" alt="No record shows whether a customer identification programme exists"/>
  </relinst>

  <relinst type="element satisfied" object="S6 Sanctions Compliance Programme" cf="100" name="Elem sat - s6">
    <condition rel="has required element" subject="%S" object="S6 Sanctions Compliance Programme" weight="1"/>
    <condition rel="screens sanctions at onboarding" subject="%S" object="true"/>
    <condition rel="has geolocation controls" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="S6 Sanctions Compliance Programme" cf="100" name="Elem def - s6 no onboarding screening">
    <condition rel="has required element" subject="%S" object="S6 Sanctions Compliance Programme" weight="1"/>
    <condition rel="screens sanctions at onboarding" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="S6 Sanctions Compliance Programme" cf="100" name="Elem def - s6 no geolocation">
    <condition rel="has required element" subject="%S" object="S6 Sanctions Compliance Programme" weight="1"/>
    <condition rel="has geolocation controls" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S6 Sanctions Compliance Programme" cf="100" name="Elem nev - s6">
    <condition rel="has required element" subject="%S" object="S6 Sanctions Compliance Programme" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'screens sanctions at onboarding',*) is equal to 0" alt="No record shows whether onboarding sanctions screening runs"/>
  </relinst>

  <relinst type="element satisfied" object="S7 Lawful Order Technical Capability" cf="100" name="Elem sat - s7">
    <condition rel="has required element" subject="%S" object="S7 Lawful Order Technical Capability" weight="1"/>
    <condition rel="has seize freeze burn capability" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="S7 Lawful Order Technical Capability" cf="100" name="Elem def - s7">
    <condition rel="has required element" subject="%S" object="S7 Lawful Order Technical Capability" weight="1"/>
    <condition rel="has seize freeze burn capability" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="S7 Lawful Order Technical Capability" cf="100" name="Elem nev - s7">
    <condition rel="has required element" subject="%S" object="S7 Lawful Order Technical Capability" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has seize freeze burn capability',*) is equal to 0" alt="No record shows whether seize freeze and burn capability exists as section 4 a 6 B requires"/>
  </relinst>

  <relinst type="element satisfied" object="O1 Management Commitment" cf="100" name="Elem sat - o1">
    <condition rel="has required element" subject="%S" object="O1 Management Commitment" weight="1"/>
    <condition rel="has documented management commitment" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="O1 Management Commitment" cf="100" name="Elem def - o1">
    <condition rel="has required element" subject="%S" object="O1 Management Commitment" weight="1"/>
    <condition rel="has documented management commitment" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="O1 Management Commitment" cf="100" name="Elem nev - o1">
    <condition rel="has required element" subject="%S" object="O1 Management Commitment" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has documented management commitment',*) is equal to 0" alt="No record evidences senior management commitment"/>
  </relinst>

  <relinst type="element satisfied" object="O2 Risk Assessment" cf="100" name="Elem sat - o2">
    <condition rel="has required element" subject="%S" object="O2 Risk Assessment" weight="1"/>
    <condition rel="has documented risk assessment" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="O2 Risk Assessment" cf="100" name="Elem def - o2">
    <condition rel="has required element" subject="%S" object="O2 Risk Assessment" weight="1"/>
    <condition rel="has documented risk assessment" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="O2 Risk Assessment" cf="100" name="Elem nev - o2">
    <condition rel="has required element" subject="%S" object="O2 Risk Assessment" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has documented risk assessment',*) is equal to 0" alt="No documented risk assessment is on record"/>
  </relinst>

  <relinst type="element satisfied" object="O3 Internal Controls" cf="100" name="Elem sat - o3">
    <condition rel="has required element" subject="%S" object="O3 Internal Controls" weight="1"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="true"/>
    <condition rel="screens sanctions at transaction time" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="O3 Internal Controls" cf="100" name="Elem def - o3 no analytics">
    <condition rel="has required element" subject="%S" object="O3 Internal Controls" weight="1"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="O3 Internal Controls" cf="100" name="Elem def - o3 no transaction screening">
    <condition rel="has required element" subject="%S" object="O3 Internal Controls" weight="1"/>
    <condition rel="screens sanctions at transaction time" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="O3 Internal Controls" cf="100" name="Elem nev - o3">
    <condition rel="has required element" subject="%S" object="O3 Internal Controls" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has blockchain analytics capability',*) is equal to 0" alt="No record shows what screening and analytics controls exist"/>
  </relinst>

  <relinst type="element satisfied" object="O4 Testing And Auditing" cf="100" name="Elem sat - o4">
    <condition rel="has required element" subject="%S" object="O4 Testing And Auditing" weight="1"/>
    <condition rel="has independent testing" subject="%S" object="true"/>
    <condition rel="testing uses objective criteria" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="O4 Testing And Auditing" cf="100" name="Elem def - o4 no testing">
    <condition rel="has required element" subject="%S" object="O4 Testing And Auditing" weight="1"/>
    <condition rel="has independent testing" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="O4 Testing And Auditing" cf="100" name="Elem nev - o4">
    <condition rel="has required element" subject="%S" object="O4 Testing And Auditing" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has independent testing',*) is equal to 0" alt="No record shows whether independent testing runs"/>
  </relinst>

  <relinst type="element satisfied" object="O5 Training" cf="100" name="Elem sat - o5">
    <condition rel="has required element" subject="%S" object="O5 Training" weight="1"/>
    <condition rel="has training programme" subject="%S" object="true"/>
    <condition rel="training is current" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="O5 Training" cf="100" name="Elem def - o5 no programme">
    <condition rel="has required element" subject="%S" object="O5 Training" weight="1"/>
    <condition rel="has training programme" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="O5 Training" cf="100" name="Elem def - o5 stale">
    <condition rel="has required element" subject="%S" object="O5 Training" weight="1"/>
    <condition rel="training is current" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="O5 Training" cf="100" name="Elem nev - o5">
    <condition rel="has required element" subject="%S" object="O5 Training" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has training programme',*) is equal to 0" alt="No training records are on file"/>
  </relinst>

  <relinst type="element satisfied" object="P1 Proposed FinCEN Programme Elements" cf="100" name="Elem sat - p1">
    <condition rel="has required element" subject="%S" object="P1 Proposed FinCEN Programme Elements" weight="1"/>
    <condition rel="compliance officer located in us" subject="%S" object="true"/>
    <condition rel="testing uses objective criteria" subject="%S" object="true" weight="1"/>
    <condition rel="risk assessment covers deployment blockchains" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="P1 Proposed FinCEN Programme Elements" cf="100" name="Elem def - p1 officer abroad">
    <condition rel="has required element" subject="%S" object="P1 Proposed FinCEN Programme Elements" weight="1"/>
    <condition rel="compliance officer located in us" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="P1 Proposed FinCEN Programme Elements" cf="100" name="Elem def - p1 blockchains uncovered">
    <condition rel="has required element" subject="%S" object="P1 Proposed FinCEN Programme Elements" weight="1"/>
    <condition rel="risk assessment covers deployment blockchains" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="P1 Proposed FinCEN Programme Elements" cf="100" name="Elem nev - p1">
    <condition rel="has required element" subject="%S" object="P1 Proposed FinCEN Programme Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'compliance officer located in us',*) is equal to 0" alt="No record shows the compliance officers location as proposed part 1033 would require"/>
  </relinst>

  <relinst type="element satisfied" object="P2 Proposed OFAC Programme Elements" cf="100" name="Elem sat - p2">
    <condition rel="has required element" subject="%S" object="P2 Proposed OFAC Programme Elements" weight="1"/>
    <condition rel="has geolocation controls" subject="%S" object="true"/>
    <condition rel="has lookback remediation process" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="P2 Proposed OFAC Programme Elements" cf="100" name="Elem def - p2 no geolocation">
    <condition rel="has required element" subject="%S" object="P2 Proposed OFAC Programme Elements" weight="1"/>
    <condition rel="has geolocation controls" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="P2 Proposed OFAC Programme Elements" cf="100" name="Elem def - p2 no lookback">
    <condition rel="has required element" subject="%S" object="P2 Proposed OFAC Programme Elements" weight="1"/>
    <condition rel="has lookback remediation process" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="P2 Proposed OFAC Programme Elements" cf="100" name="Elem nev - p2">
    <condition rel="has required element" subject="%S" object="P2 Proposed OFAC Programme Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has geolocation controls',*) is equal to 0" alt="No record shows geolocation or lookback controls as proposed part 502 would expect"/>
  </relinst>

  <relinst type="element satisfied" object="P6 Proposed CIP Elements" cf="100" name="Elem sat - p6">
    <condition rel="has required element" subject="%S" object="P6 Proposed CIP Elements" weight="1"/>
    <condition rel="has customer identification programme" subject="%S" object="true"/>
    <condition rel="cip includes documentary verification" subject="%S" object="true" weight="1"/>
    <condition rel="cip includes non documentary verification" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="P6 Proposed CIP Elements" cf="100" name="Elem def - p6 no documentary">
    <condition rel="has required element" subject="%S" object="P6 Proposed CIP Elements" weight="1"/>
    <condition rel="cip includes documentary verification" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="P6 Proposed CIP Elements" cf="100" name="Elem def - p6 no non documentary">
    <condition rel="has required element" subject="%S" object="P6 Proposed CIP Elements" weight="1"/>
    <condition rel="cip includes non documentary verification" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="P6 Proposed CIP Elements" cf="100" name="Elem nev - p6">
    <condition rel="has required element" subject="%S" object="P6 Proposed CIP Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has customer identification programme',*) is equal to 0" alt="No customer identification programme records are on file"/>
  </relinst>

  <relinst type="element satisfied" object="M1 MSB Internal Controls" cf="100" name="Elem sat - m1">
    <condition rel="has required element" subject="%S" object="M1 MSB Internal Controls" weight="1"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="M1 MSB Internal Controls" cf="100" name="Elem def - m1 analytics gap">
    <condition rel="has required element" subject="%S" object="M1 MSB Internal Controls" weight="1"/>
    <condition rel="has blockchain analytics capability" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="M1 MSB Internal Controls" cf="100" name="Elem nev - m1">
    <condition rel="has required element" subject="%S" object="M1 MSB Internal Controls" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has blockchain analytics capability',*) is equal to 0" alt="No record shows what monitoring tooling the business operates"/>
  </relinst>

  <relinst type="element satisfied" object="M2 MSB Designated Compliance Person" cf="100" name="Elem sat - m2">
    <condition rel="has required element" subject="%S" object="M2 MSB Designated Compliance Person" weight="1"/>
    <condition rel="has designated compliance officer" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="M2 MSB Designated Compliance Person" cf="100" name="Elem def - m2">
    <condition rel="has required element" subject="%S" object="M2 MSB Designated Compliance Person" weight="1"/>
    <condition rel="has designated compliance officer" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="M2 MSB Designated Compliance Person" cf="100" name="Elem nev - m2">
    <condition rel="has required element" subject="%S" object="M2 MSB Designated Compliance Person" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has designated compliance officer',*) is equal to 0" alt="No record shows a designated compliance person"/>
  </relinst>

  <relinst type="element satisfied" object="M3 MSB Training" cf="100" name="Elem sat - m3">
    <condition rel="has required element" subject="%S" object="M3 MSB Training" weight="1"/>
    <condition rel="has training programme" subject="%S" object="true"/>
    <condition rel="training is current" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="M3 MSB Training" cf="100" name="Elem def - m3 stale training">
    <condition rel="has required element" subject="%S" object="M3 MSB Training" weight="1"/>
    <condition rel="training is current" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="M3 MSB Training" cf="100" name="Elem nev - m3">
    <condition rel="has required element" subject="%S" object="M3 MSB Training" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has training programme',*) is equal to 0" alt="No training records are on file"/>
  </relinst>

  <relinst type="element satisfied" object="M4 MSB Independent Review" cf="100" name="Elem sat - m4">
    <condition rel="has required element" subject="%S" object="M4 MSB Independent Review" weight="1"/>
    <condition rel="has independent testing" subject="%S" object="true"/>
  </relinst>
  <relinst type="element deficient" object="M4 MSB Independent Review" cf="100" name="Elem def - m4 no review">
    <condition rel="has required element" subject="%S" object="M4 MSB Independent Review" weight="1"/>
    <condition rel="has independent testing" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="M4 MSB Independent Review" cf="100" name="Elem nev - m4">
    <condition rel="has required element" subject="%S" object="M4 MSB Independent Review" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has independent testing',*) is equal to 0" alt="No independent review records are on file"/>
  </relinst>

  <relinst type="element satisfied" object="B1 Bank AML Programme Elements" cf="100" name="Elem sat - b1">
    <condition rel="has required element" subject="%S" object="B1 Bank AML Programme Elements" weight="1"/>
    <condition rel="has designated compliance officer" subject="%S" object="true"/>
    <condition rel="has independent testing" subject="%S" object="true" weight="1"/>
    <condition rel="has training programme" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="B1 Bank AML Programme Elements" cf="100" name="Elem def - b1 no testing">
    <condition rel="has required element" subject="%S" object="B1 Bank AML Programme Elements" weight="1"/>
    <condition rel="has independent testing" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="B1 Bank AML Programme Elements" cf="100" name="Elem nev - b1">
    <condition rel="has required element" subject="%S" object="B1 Bank AML Programme Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has designated compliance officer',*) is equal to 0" alt="No programme records are on file for the bank"/>
  </relinst>

  <relinst type="element satisfied" object="B2 Bank CIP Elements" cf="100" name="Elem sat - b2">
    <condition rel="has required element" subject="%S" object="B2 Bank CIP Elements" weight="1"/>
    <condition rel="has customer identification programme" subject="%S" object="true"/>
    <condition rel="cip includes documentary verification" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="B2 Bank CIP Elements" cf="100" name="Elem def - b2 no cip">
    <condition rel="has required element" subject="%S" object="B2 Bank CIP Elements" weight="1"/>
    <condition rel="has customer identification programme" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="B2 Bank CIP Elements" cf="100" name="Elem nev - b2">
    <condition rel="has required element" subject="%S" object="B2 Bank CIP Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'has customer identification programme',*) is equal to 0" alt="No customer identification programme records are on file"/>
  </relinst>

  <relinst type="element satisfied" object="C1 Custody Segregation Elements" cf="100" name="Elem sat - c1">
    <condition rel="has required element" subject="%S" object="C1 Custody Segregation Elements" weight="1"/>
    <condition rel="segregates customer property" subject="%S" object="true"/>
    <condition rel="is supervised custodian" subject="%S" object="true" weight="1"/>
  </relinst>
  <relinst type="element deficient" object="C1 Custody Segregation Elements" cf="100" name="Elem def - c1 commingling">
    <condition rel="has required element" subject="%S" object="C1 Custody Segregation Elements" weight="1"/>
    <condition rel="segregates customer property" subject="%S" object="false"/>
  </relinst>
  <relinst type="element deficient" object="C1 Custody Segregation Elements" cf="100" name="Elem def - c1 unsupervised">
    <condition rel="has required element" subject="%S" object="C1 Custody Segregation Elements" weight="1"/>
    <condition rel="is supervised custodian" subject="%S" object="false"/>
  </relinst>
  <relinst type="element not evidenced" object="C1 Custody Segregation Elements" cf="100" name="Elem nev - c1">
    <condition rel="has required element" subject="%S" object="C1 Custody Segregation Elements" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'segregates customer property',*) is equal to 0" alt="No custody segregation records are on file"/>
  </relinst>

  <!-- ==================== Programme assessment ====================== -->

  <relinst type="has programme assessment" object="Programme Adequate" cf="95" name="Prog - adequate on complete clean record">
    <condition rel="has required element" subject="%S" object="%EL"/>
    <condition expression="countRelationshipInstances(%S,'element deficient',*) is equal to 0" weight="1" alt="No required programme element is evidenced as failing"/>
    <condition expression="countRelationshipInstances(%S,'element not evidenced',*) is equal to 0" weight="1" alt="Every required programme element is evidenced - an unevidenced element never counts as satisfied"/>
  </relinst>

  <relinst type="has programme assessment" object="Programme Deficient" cf="95" name="Prog - deficient">
    <condition rel="element deficient" subject="%S" object="%EL"/>
  </relinst>

  <relinst type="has programme assessment" object="Programme Not Fully Evidenced" cf="90" name="Prog - not fully evidenced">
    <condition rel="element not evidenced" subject="%S" object="%EL"/>
    <condition expression="countRelationshipInstances(%S,'element deficient',*) is equal to 0" weight="1" alt="No element is evidenced as failing but at least one required element has no records"/>
  </relinst>

  <relinst type="has remediation item" cf="95" name="Prog - remediation per deficient element">
    <condition rel="element deficient" subject="%S" object="%EL"/>
    <condition expression="'Remediate ' + %EL + ' - the element is required for this institutions role and the record evidences it as failing'" value="%O"/>
  </relinst>

  <relinst type="has remediation item" object="Blockchain analytics capability gap - 31 CFR 1022.210 requires a programme commensurate with the risks of the business - FINAL LAW - the Bittrex and Poloniex enforcement actions show screening data you hold but do not use is treated as reason to know - GUIDANCE" cf="95" name="Prog - analytics gap basis line">
    <condition rel="element deficient" subject="%S" object="M1 MSB Internal Controls"/>
  </relinst>

  <!-- ==================== Case file composite ======================= -->
  <!-- One plural relationship that mirrors every already-derived case  -->
  <!-- file output as a prefixed line, so an API consumer collects the  -->
  <!-- whole case file in a single query instead of twelve. Each mirror -->
  <!-- binds the final derived fact directly (never re-deriving), so    -->
  <!-- every line carries the certainty of the fact it mirrors and no   -->
  <!-- gate can drift. String facts dedupe, so lines are distinct.      -->
  <!-- Prefixes parse on the first double-colon separator.              -->

  <relinst type="has case file line" cf="100" name="Casefile - suspicion signal line">
    <condition rel="exhibits suspicion signal" subject="%S" object="%X"/>
    <condition expression="'SIGNAL :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - travel rule status line">
    <condition rel="has travel rule status" subject="%S" object="%X"/>
    <condition expression="'TRSTATUS :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - wallet tier line">
    <condition rel="has counterparty wallet" subject="%S" object="%W" weight="1"/>
    <condition rel="has exposure tier" subject="%W" object="%X"/>
    <condition expression="'TIER :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - acceptance determination line">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has acceptance determination" subject="%C" object="%X"/>
    <condition expression="'ACCEPT :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - acceptance policy line">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="acceptance policy line" subject="%C" object="%X"/>
    <condition expression="'ACCEPTLINE :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - section eight state line">
    <condition rel="uses stablecoin" subject="%S" object="%C" weight="1"/>
    <condition rel="has sec8 state" subject="%C" object="%X"/>
    <condition expression="'SEC8 :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - regulatory era line">
    <condition rel="is evaluated by" subject="%S" object="%E" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%X"/>
    <condition expression="'ERA :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - contributing evidence line">
    <condition rel="has contributing evidence" subject="%S" object="%X"/>
    <condition expression="'EVID :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - reporting obligation line">
    <condition rel="has reporting obligation" subject="%S" object="%X"/>
    <condition expression="'REPORT :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - reporting deadline line">
    <condition rel="reporting deadline narrative" subject="%S" object="%X"/>
    <condition expression="'DEADLINE :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - next step line">
    <condition rel="has recommended next step" subject="%S" object="%X"/>
    <condition expression="'NEXT :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - rationale line">
    <condition rel="has disposition rationale" subject="%S" object="%X"/>
    <condition expression="'RATIONALE :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="has case file line" cf="100" name="Casefile - marketing warning line">
    <condition rel="marketing warning line" subject="%S" object="%X"/>
    <condition expression="'MARKETING :: ' + %X" value="%O" weight="1"/>
  </relinst>

  <relinst type="cluster exposure hold threshold pct" subject="Risk Appetite" object="5"/>

  <!-- ============ 2026 accuracy-build extensions (L1-L8, B1-B7) ======= -->
  <!-- Override marks: negative-targeting pattern - the mark derives     -->
  <!-- only on an explicit true fact so absent and false both leave the  -->
  <!-- guarded rule firing exactly as before.                            -->

  <relinst type="reserve condition excused" object="true" cf="100" name="Coin - reserve condition excused by reciprocal arrangement">
    <condition rel="has reciprocal reserve arrangement" subject="%S" object="true"/>
  </relinst>

  <relinst type="safe harbor override active" object="true" cf="100" name="Accept - treasury safe harbor mark">
    <condition rel="covered by treasury safe harbor" subject="%S" object="true"/>
  </relinst>

  <!-- L6: section 5916 a 3 reserve condition satisfied by a 5916 d reciprocal arrangement -->

  <relinst type="has coin status candidate" object="Foreign Qualifying Exception" cf="100" name="Coin - foreign issuer qualifies with reciprocal reserve arrangement 5916 d">
    <condition rel="has issuer permit type" subject="%S" object="Foreign Issuer"/>
    <condition rel="has treasury comparability determination" subject="%S" object="true" weight="1"/>
    <condition rel="has occ registration" subject="%S" object="true" weight="1"/>
    <condition rel="issuer holds us reserves" subject="%S" object="false" weight="1"/>
    <condition rel="has reciprocal reserve arrangement" subject="%S" object="true" weight="1"/>
    <condition rel="issuer domicile country" subject="%S" object="%DC" weight="1"/>
    <condition rel="issuer regulating country" subject="%S" object="%RC" weight="1"/>
    <condition expression="%DC is equal to %RC" weight="1" alt="The issuer is domiciled and regulated in the same country {{%DC}} so the section 5916 a 4 single country test can be applied"/>
    <condition rel="is comprehensively sanctioned" subject="%DC" object="false" weight="1"/>
    <condition rel="is pmlc determined" subject="%DC" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Foreign issuer holds reserves outside the United States under a section 5916 d reciprocal arrangement - the section 5916 a 3 United States reserve condition is satisfied by that arrangement - FINAL LAW" cf="100" name="Coin evid - reciprocal reserve arrangement">
    <condition rel="uses stablecoin" subject="%S" object="%C"/>
    <condition rel="reserve condition excused" subject="%C" object="true" weight="1"/>
    <condition rel="issuer holds us reserves" subject="%C" object="false" weight="1"/>
  </relinst>

  <!-- L7: 12 USC 5902 c Treasury safe harbor - era 3 only, non permitted coins only -->

  <relinst type="has acceptance candidate" object="May Accept Safe Harbor Exception" cf="100" name="Accept - treasury safe harbor 5902 c">
    <condition rel="covered by treasury safe harbor" subject="%S" object="true"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="Era 3 Dasp Prohibition" weight="1"/>
    <condition rel="has permission status" subject="%S" object="%PS" weight="1"/>
    <condition expression="(%PS is equal to 'Not Permitted Foreign') or (%PS is equal to 'Not Permitted Pending Application')" weight="1" alt="The safe harbor is relevant only to a coin the section 5902 b 1 prohibition would otherwise bar"/>
  </relinst>

  <relinst type="has acceptance determination" object="May Accept Safe Harbor Exception" cf="100" name="Accept ladder - safe harbor exception">
    <condition rel="has acceptance candidate" subject="%S" object="May Accept Safe Harbor Exception"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept Statutory') is equal to 0" weight="1" alt="No statutory prohibition applies to this coin"/>
    <condition expression="countRelationshipInstances(%S,'has acceptance candidate','Must Not Accept House Policy') is equal to 0" weight="1" alt="House policy does not decline this coin"/>
  </relinst>

  <relinst type="acceptance policy line" object="Treasury safe harbor under 12 USC 5902 c disapplies the DASP offering prohibition for this coin - safe harbors are limited in scope and de minimis by regulation - FINAL LAW" cf="100" name="Accept line - safe harbor narrative">
    <condition rel="has acceptance determination" subject="%S" object="May Accept Safe Harbor Exception"/>
  </relinst>

  <!-- B3: active section 5907 ban penalty exposure line -->

  <relinst type="acceptance policy line" object="Facilitating secondary trading during an active section 5907 ban exposes a digital asset service provider to penalties up to 100000 dollars per violation per day under 12 USC 5907 b 4 A - FINAL LAW" cf="100" name="Accept line - sec8 ban penalty exposure">
    <condition rel="has sec8 state" subject="%S" object="Ban Active"/>
    <condition rel="is evaluating acceptance of" subject="%E" object="%S" weight="1"/>
    <condition rel="performs dasp activity" subject="%E" object="true" weight="1"/>
  </relinst>

  <!-- L1: named transfer party sanctions screening - regulatory floor -->

  <relinst type="party sanctions prohibition" object="true" cf="100" name="Party - originator on sdn list">
    <condition rel="has originator party" subject="%S" object="%P"/>
    <condition rel="party is sdn listed" subject="%P" object="true" weight="1"/>
  </relinst>

  <relinst type="party sanctions prohibition" object="true" cf="100" name="Party - beneficiary on sdn list">
    <condition rel="has beneficiary party" subject="%S" object="%P"/>
    <condition rel="party is sdn listed" subject="%P" object="true" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Block" cf="100" name="Cand - block sdn listed transfer party with property held">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Reject" cf="100" name="Cand - reject sdn listed transfer party without property">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - property undetermined with sdn listed transfer party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Undetermined" weight="1"/>
  </relinst>

  <relinst type="sanctions basis of rejection" object="OFAC Listed Counterparty" cf="100" name="Basis - sdn listed transfer party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Not Held" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Transfer party named in the transmittal record is on the SDN list - blocking or rejection obligations arise under 31 CFR chapter V - FINAL LAW" cf="100" name="Party evid - sdn listed party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Initial Blocking Report" cf="100" name="Report - initial blocking report on sdn listed party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has reporting obligation" object="Annual Blocked Property Report" cf="100" name="Report - annual blocked property on sdn listed party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
  </relinst>

  <relinst type="has reporting obligation" object="OFAC Record Retention Ten Years" cf="100" name="Report - ofac retention on sdn listed party">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
  </relinst>

  <relinst type="reporting deadline narrative" cf="100" name="Report - party blocking deadline narrative">
    <condition rel="party sanctions prohibition" subject="%S" object="true"/>
    <condition rel="has property resolution" subject="%S" object="Confirmed Held" weight="1"/>
    <condition rel="has transfer date" subject="%S" object="%TD" weight="1"/>
    <condition expression="'File the initial blocking report through ORS within 10 business days of the ' + %TD + ' blocking - 31 CFR 501.603 b 1 - FINAL LAW'" value="%O"/>
  </relinst>

  <!-- L1 guard: party bound but no screening record - unknown never processes -->

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - originator party screening record missing">
    <condition rel="has originator party" subject="%S" object="%P"/>
    <condition expression="countRelationshipInstances(%P,'party is sdn listed',*) is equal to 0" weight="1" alt="The sanctions screening feed carries no listing record for the originator party so the sanctions posture cannot be assessed"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - beneficiary party screening record missing">
    <condition rel="has beneficiary party" subject="%S" object="%P"/>
    <condition expression="countRelationshipInstances(%P,'party is sdn listed',*) is equal to 0" weight="1" alt="The sanctions screening feed carries no listing record for the beneficiary party so the sanctions posture cannot be assessed"/>
  </relinst>

  <relinst type="has contributing evidence" object="Transfer party lacks a sanctions screening record so the sanctions posture cannot be assessed - escalate" cf="100" name="Party evid - originator screening missing">
    <condition rel="has originator party" subject="%S" object="%P"/>
    <condition expression="countRelationshipInstances(%P,'party is sdn listed',*) is equal to 0" weight="1" alt="No listing record exists for the originator party"/>
  </relinst>

  <relinst type="has contributing evidence" object="Transfer party lacks a sanctions screening record so the sanctions posture cannot be assessed - escalate" cf="100" name="Party evid - beneficiary screening missing">
    <condition rel="has beneficiary party" subject="%S" object="%P"/>
    <condition expression="countRelationshipInstances(%P,'party is sdn listed',*) is equal to 0" weight="1" alt="No listing record exists for the beneficiary party"/>
  </relinst>

  <!-- L2: ownership attribution join through the analytics party graph -->

  <relinst type="has tier candidate" object="Prohibited Counterparty" cf="100" name="Wallet - controlling party sdn listed via analytics join">
    <condition rel="is controlled by" subject="%S" object="%P"/>
    <condition rel="party is sdn listed" subject="%P" object="true" weight="1"/>
  </relinst>

  <!-- L3: travel rule record set completeness -->

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - travel rule field records flagged absent">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule field records present" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - travel rule field records wholly missing">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="%CR" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'travel rule has originator name',*) is equal to 0" weight="1" alt="No transmittal field records are on the transfer record so travel rule completeness cannot be assessed"/>
  </relinst>

  <relinst type="has contributing evidence" object="Transmittal field records are absent from the transfer record so travel rule completeness cannot be assessed under 31 CFR 1010.410 f - escalate" cf="100" name="TR evid - field records flagged absent">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="travel rule field records present" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="Per field transmittal flags are absent from the transfer record so travel rule completeness cannot be established under 31 CFR 1010.410 f - escalate" cf="100" name="TR evid - field records wholly missing">
    <condition rel="travel rule applies" subject="%S" object="true"/>
    <condition rel="has chain role" subject="%S" object="%CR" weight="1"/>
    <condition expression="countRelationshipInstances(%S,'travel rule has originator name',*) is equal to 0" weight="1" alt="No per field transmittal flags are on the transfer record"/>
  </relinst>

  <!-- L4 and L5: feed completeness - amount and counterparty wallet -->

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - transaction amount missing from feed">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition expression="countRelationshipInstances(%S,'has amount usd',*) is equal to 0" weight="1" alt="No amount record is on the payment feed so travel rule and reporting threshold duties cannot be assessed"/>
  </relinst>

  <relinst type="has contributing evidence" object="No amount record is on the payment feed - travel rule and reporting threshold duties cannot be assessed - escalate" cf="100" name="Evid - amount missing">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition expression="countRelationshipInstances(%S,'has amount usd',*) is equal to 0" weight="1" alt="No amount record is on the payment feed"/>
  </relinst>

  <relinst type="has disposition candidate" object="Escalate Incomplete Record" cf="100" name="Cand - counterparty wallet record missing from feed">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition expression="countRelationshipInstances(%S,'has counterparty wallet',*) is equal to 0" weight="1" alt="No counterparty wallet is on the transaction feed so sanctions exposure cannot be assessed"/>
  </relinst>

  <relinst type="has contributing evidence" object="No counterparty wallet record is on the transaction feed - sanctions exposure cannot be assessed - escalate" cf="100" name="Evid - counterparty wallet missing">
    <condition rel="is evaluated by" subject="%S" object="%E"/>
    <condition expression="countRelationshipInstances(%S,'has counterparty wallet',*) is equal to 0" weight="1" alt="No counterparty wallet is on the transaction feed"/>
  </relinst>

  <!-- B6: counterparty VASP unresponsive to the RFI on a pass through transfer -->

  <relinst type="has contributing evidence" object="Counterparty VASP has not responded to the request for missing transfer information - an unresponsive counterparty is a red flag factor in FinCEN advisory FIN-2019-A003 - GUIDANCE" cf="100" name="TR evid - counterparty vasp unresponsive">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Pass Through Permitted"/>
    <condition rel="counterparty vasp responded to rfi" subject="%S" object="false" weight="1"/>
  </relinst>

  <relinst type="has recommended next step" object="Escalate To BSA Officer" cf="100" name="Next - bsa officer on unresponsive counterparty vasp">
    <condition rel="has travel rule status" subject="%S" object="Incomplete Pass Through Permitted"/>
    <condition rel="counterparty vasp responded to rfi" subject="%S" object="false" weight="1"/>
  </relinst>

  <!-- B7: stale party KYC drives enhanced due diligence -->

  <relinst type="has recommended next step" object="Enhanced Due Diligence" cf="100" name="Next - edd on stale originator kyc">
    <condition rel="has originator party" subject="%S" object="%P"/>
    <condition rel="kyc profile current" subject="%P" object="false" weight="1"/>
  </relinst>

  <relinst type="has recommended next step" object="Enhanced Due Diligence" cf="100" name="Next - edd on stale beneficiary kyc">
    <condition rel="has beneficiary party" subject="%S" object="%P"/>
    <condition rel="kyc profile current" subject="%P" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="KYC profile for a transfer party is stale or incomplete - refresh under the risk based customer due diligence programme in 31 CFR 1020.210 b 2 v and 1022.210 - FINAL LAW programme duty with house timing" cf="100" name="Party evid - stale kyc originator">
    <condition rel="has originator party" subject="%S" object="%P"/>
    <condition rel="kyc profile current" subject="%P" object="false" weight="1"/>
  </relinst>

  <relinst type="has contributing evidence" object="KYC profile for a transfer party is stale or incomplete - refresh under the risk based customer due diligence programme in 31 CFR 1020.210 b 2 v and 1022.210 - FINAL LAW programme duty with house timing" cf="100" name="Party evid - stale kyc beneficiary">
    <condition rel="has beneficiary party" subject="%S" object="%P"/>
    <condition rel="kyc profile current" subject="%P" object="false" weight="1"/>
  </relinst>

  <!-- B4 and B5: self hosted counterparty and undocumented purpose notes -->

  <relinst type="has contributing evidence" object="Counterparty wallet is self hosted - ownership verification is a house risk based CDD step - the federal unhosted wallet proposal was withdrawn in August 2024 so no federal rule compels it - HOUSE POLICY" cf="100" name="Evid - self hosted counterparty">
    <condition rel="counterparty is self hosted" subject="%S" object="true"/>
  </relinst>

  <relinst type="has contributing evidence" object="No documented business purpose is recorded for the transfer - lack of apparent lawful purpose is a red flag factor in FinCEN advisory FIN-2019-A003 - GUIDANCE" cf="100" name="Evid - no documented purpose">
    <condition rel="has stated purpose" subject="%S" object="No Documented Purpose"/>
  </relinst>

  <!-- B1 and B2: precise advisory citations for the behavioural signals -->

  <relinst type="has contributing evidence" object="Pig butchering behavioural indicators match the typology in FinCEN alert FIN-2023-Alert005 of September 2023 - GUIDANCE" cf="100" name="Signal evid - pig butchering citation">
    <condition rel="exhibits suspicion signal" subject="%S" object="Pig Butchering Pattern"/>
  </relinst>

  <relinst type="has contributing evidence" object="Movement after a designation event matches the rapid movement and evasion red flags in FinCEN alert FIN-2022-Alert001 with transaction time screening expected by the OFAC virtual currency guidance of October 2021 - GUIDANCE" cf="100" name="Signal evid - evasion timing citation">
    <condition rel="exhibits suspicion signal" subject="%S" object="Sanctions Evasion Timing"/>
  </relinst>

  <!-- Gap fix: incompleteness outranked by a rejection still reaches the sanctions officer -->

  <relinst type="has recommended next step" object="Escalate To Sanctions Officer" cf="100" name="Next - sanctions officer when incomplete record is outranked by rejection">
    <condition rel="has disposition" subject="%S" object="Reject"/>
    <condition rel="has disposition candidate" subject="%S" object="Escalate Incomplete Record" weight="1"/>
  </relinst>

  <!-- L8 and gap fix: issuer duties for 5903 a 4 and 5903 a 2 -->

  <relinst type="has genius duty" object="Maintain Capital Liquidity And Risk Standards" cf="100" name="Duty - capital liquidity risk standards">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 4 requires the issuer to meet tailored capital liquidity and risk management standards set by the primary regulators once the Act is effective"/>
  </relinst>

  <relinst type="has genius duty" object="Refrain From Reserve Rehypothecation" cf="100" name="Duty - no reserve rehypothecation">
    <condition rel="has entity role" subject="%S" object="Permitted Payment Stablecoin Issuer"/>
    <condition rel="has regulatory era" subject="GENIUS Policy" object="%ERA" weight="1"/>
    <condition expression="(%ERA is equal to 'Era 2 Effective') or (%ERA is equal to 'Era 3 Dasp Prohibition')" weight="1" alt="Section 4 a 2 bars pledging rehypothecating or reusing reserves except for margin on permitted instruments standard custody obligations and regulator approved redemption liquidity sales"/>
  </relinst>
</rbl:kb>