OpenChainGraph Suite · OCG v0.8.0 · Fair Lending & Adverse Action · Cluster ㉖

CARD Act Ability to Pay

Gated two-step chain for CARD Act ability-to-pay compliance. Step 1 runs the §1026.51 ATP check, applying the DTI threshold (45%), the under-21 independent-income restriction, and the penalty fee safe harbor ($32 first / $43 subsequent; CFPB $8 rule vacated January 17, 2025). A §21.4 gate checks atp_passes: if the applicant passes, the chain exits immediately with an approved decision. For applicants who fail ATP, Step 2 builds the required adverse action notice per Reg B §1002.9, providing SHAP-ranked factor codes for the denial.

OpenChainGraph · 2 Steps compliance mandate · §21.4 Gate Hash-Anchored §4 chain_depth:2 Client-Side · Zero PII
Not legal or compliance advice. CARD Act ability-to-pay requirements depend on specific facts and product type; consult qualified counsel. The CFPB $8 late fee rule (§1026.52) was vacated by the Fifth Circuit on January 17, 2025 (No. 24-10266); the $32/$43 safe harbor thresholds remain in effect.
⚡ §21.4 Decision Gate active at Step 1: chain exits immediately when atp_passes == true. No adverse action notice is required for approved applicants. Step 2 (adverse action notice build) runs only when the ATP check fails.
Chain Topology (§21.4 gated) — ATP Check [GATE] → Build Adverse Action Notice
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 2 Steps · 1 Decision Gate (§21.4)
1 ROOT & GATE node §21.4 gate
Check CARD Act Ability to Pay art-233-check-card-act-ability-to-pay
Evaluates the applicant against CARD Act §1026.51 ATP requirements. Computes monthly minimum payment from the requested credit limit and minimum payment percentage, checks DTI against the 45% threshold, applies the under-21 independent-income restriction (§1026.51(b)), and reports the $32/$43 penalty fee safe harbor (§1026.52(b)). Gate exits immediately when atp_passes == true (applicant approved).
△ Gate: if /atp_passes == true → END  |  else → Step 2 (adverse action notice)
MCP Call · check_card_act_ability_to_pay
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "check_card_act_ability_to_pay",
    "arguments": {
      "applicant_age": 25,
      "annual_income": 45000,
      "total_assets": 12000,
      "monthly_housing_payment": 1200,
      "monthly_debt_obligations": 500,
      "requested_credit_limit": 3000,
      "has_cosigner": false,
      "minimum_payment_pct": 2.0,
      "violation_tier": "first"
    }
  },
  "id": 1
}
2 TERMINAL node
Build Adverse Action Notice art-228-build-adverse-action-notice
Assembles the adverse action notice skeleton from SHAP-ranked principal-factor codes per Reg B §1002.9. Resolves FICO or VantageScore reason codes to full text, orders sections correctly, and includes FCRA §615(a) rights disclosure when a credit score was used. Only reached when ATP fails.
MCP Call · build_adverse_action_notice
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "build_adverse_action_notice",
    "arguments": {
      "action_taken": "denied",
      "creditor_name": "Acme Bank",
      "notice_date": "2026-07-04",
      "factor_codes": [
        {"rank": 1, "code": "08", "source": "fico", "shap_value": -0.38},
        {"rank": 2, "code": "14", "source": "fico", "shap_value": -0.27}
      ],
      "credit_score_used": true,
      "credit_score_value": 601,
      "credit_score_model": "FICO Score 8",
      "credit_score_range_min": 300,
      "credit_score_range_max": 850
    }
  },
  "id": 2
}
Export Chain Artifact
Download a §4-compliant chain artifact with execution hash, step definitions, and gate configuration. Hash is deterministic over canonical {policy_parameters, output_payload} per RFC 8785/JCS.