OpenChainGraph Suite · OCG v0.8.0 · Sanctions & KYC

KYB Beneficial Ownership Attribution

Gated two-step bank KYB chain under FinCEN CDD Rule 31 CFR 1010.230. Step 1 computes indirect natural-person beneficial ownership via recursive ownership-tier multiplication at the 25% threshold. Gate: if no beneficial owner is identified (is_beneficial_owner=false) the chain exits early. When a beneficial owner is found, Step 2 validates the W-8 series form structural consistency (form/Ch.3 compatibility, Ch.3/Ch.4 FATCA cross-check, 3-year validity, treaty rate) for withholding compliance. NOT the CTA/BOI domestic reporting rule. Synthetic entity IDs only — zero PII.

OpenChainGraph · 2 Steps compliance mandate · Gated Early Exit · is_beneficial_owner Hash-Anchored §4 chain_depth:2 Client-Side · Zero PII
⚠ REGIME SCOPE: FinCEN CDD Rule 31 CFR 1010.230 — bank KYB customer due diligence (25% threshold). NOT the Corporate Transparency Act (CTA) / BOI reporting (31 USC 5336). Domestic CTA reporting removed by FinCEN IFR effective 2025-03-21 for US companies. For OFAC 50% Rule sanctions aggregation, see ART-91.
Not legal, tax, or BSA/AML advice. Beneficial-ownership and W-8 structural outputs require review by qualified compliance counsel. Verify all determinations with current FinCEN guidance and IRS instructions before any bank KYB filing or withholding certification.
Chain Topology (gated) — FinCEN CDD 25% Ownership → W-8 Series Structural Validation
compute_cdd_ownership_25pct ART-268 · FinCEN CDD · GATE is_beneficial_owner=false → END BO identified (≥25%) validate_w8_series_structural ART-269 · W-8 Structural · Terminal
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 2 Steps · Gated (early exit at Step 1)
1 ROOT & GATED node gate
FinCEN CDD 25% Beneficial Ownership Attribution art-268-compute-cdd-ownership-25pct
Computes indirect natural-person beneficial ownership via recursive ownership-tier multiplication. 25% threshold per FinCEN CDD Rule 31 CFR 1010.230. Gate: is_beneficial_owner=false exits chain early (no beneficial owner at or above 25%, chain terminates). Default (is_beneficial_owner=true) proceeds to W-8 structural validation.
§21.4 Gate · RFC 6901 Pointer
input: /is_beneficial_owner  ·  rules: [{op: "eq", value: false, next: "end"}]  ·  default: art-269-validate-w8-series-structural
MCP Call · compute_cdd_ownership_25pct
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "compute_cdd_ownership_25pct",
    "arguments": {
      "ownership_tiers": [
        {"entity_id": "HoldCo_A",  "parent_id": null,       "ownership_pct": 100},
        {"entity_id": "EntityABC", "parent_id": "HoldCo_A", "ownership_pct": 50},
        {"entity_id": "NP_ALPHA",  "parent_id": "HoldCo_A", "ownership_pct": 25}
      ],
      "natural_persons": ["NP_ALPHA"],
      "target_entity_id": "HoldCo_A"
    }
  },
  "id": 1
}
default path (beneficial owner ≥25% identified)
2 TERMINAL node
W-8 Series Structural Validation art-269-validate-w8-series-structural
Validates W-8 series form structural consistency for the identified beneficial owner entity: form-type/Ch.3 status compatibility (FORM_CH3_MISMATCH), Ch.3/Ch.4 FATCA cross-check (CH3_CH4_INCONSISTENT), 3-year validity window per Treas. Reg. §1.1441-1(e)(4)(ii), and treaty dividend rate against IRS Pub 901 (TREATY_RATE_MISMATCH). Returns is_structurally_valid, violations[], validity_expiry_date. Final stage.
MCP Call · validate_w8_series_structural
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_w8_series_structural",
    "arguments": {
      "form_type": "W-8BEN",
      "chapter3_status": "Individual",
      "chapter4_fatca_status": "",
      "treaty_country": "GB",
      "treaty_rate_pct": 15,
      "income_type": "Dividend",
      "form_date": "2024-03-15",
      "reference_date": "2025-07-05"
    }
  },
  "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.