OpenChainGraph Suite · OCG v0.8.0 · Corporate Treasury STP · §21.4 Gated

Treasury Account Lifecycle (eBAM)

Note (dated 2026-08-04): a chain composes independent computations performed in an analytical order. No step's output is carried into the next step by the execution model; each step computes from its own declared inputs. This is true of every chain on this site, including chains whose per-step copy below reads as a data handoff.
Reading mode (RUNBOOK): Run these steps in order. Interest-pool onboarding only runs when the account state machine actually confirms an opening; every other state ends the chain there.

Gated §21.4 chain for TMS account lifecycle straight-through processing. Step 1 validates the CGI-MP eBAM state machine across acmt.007 (account opening request), acmt.010 (opening confirmation), acmt.011 (closing request), acmt.017 (modification request), and acmt.019 (modification confirmation) message types. Detects orphan messages and determines the final account state. A §21.4 compliance gate on /acmt_state routes only OPENING_CONFIRMED accounts to Step 2 for immediate in-house-bank pool interest allocation; all other states (closure, modification, pending, invalid) exit at Step 1. No personal data is processed.

§21.4 Gated · compliance mandate OpenChainGraph · 2 Steps Hash-Anchored §4 chain_depth:2 Client-Side · Zero PII
Not legal or banking advice. eBAM message validation and account state determination must be confirmed against your bank's CGI-MP implementation guide. Interest allocation parameters require review by qualified tax counsel for OECD TP compliance in cross-border IHB structures.
Chain Topology (§21.4 Gated) — eBAM State Validation → GATE: acmt_state? → [OPENING_CONFIRMED: IHB Interest / other: END]
validate_ebam_acmt_flow ART-262 · eBAM State Machine §21.4 GATE OPENING _CONFIRMED allocate_ihb_interest ART-260 · IHB Interest other states (closure, modification, pending, invalid) → END END
§4 Execution Hash · Chain Definition Anchor · §21.4 Gated
execution_hash:computing…
Chain Stages · 2 Steps · §21.4 Gated on /acmt_state
1 ROOT · GATED §21.4 gate
eBAM Account Message Flow Validation art-262-validate-ebam-acmt-flow
Validates CGI-MP eBAM 2023 acmt message sequence: acmt.007 (opening request) → acmt.010 (opening confirmation) → acmt.011 (closing request) → acmt.017 (modification) → acmt.019 (modification confirmation). Detects orphan messages (no matching request). Determines final acmt_state. Gate evaluates /acmt_state for STP routing.
§21.4 GATE: input: /acmt_state
▶acmt_state = "OPENING_CONFIRMED" → art-260-allocate-ihb-interest(new account enters IHB pool — proceed to Step 2)
▶default (CLOSURE_CONFIRMED / MODIFICATION_CONFIRMED / PENDING / INVALID) → END(no pool action required)
MCP Call · validate_ebam_acmt_flow
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_ebam_acmt_flow",
    "arguments": {
      "account_reference_id": "ACCT-REF-20240115-001",
      "messages": [
        {
          "msg_type": "acmt.007",
          "msg_id": "MSG-007-001",
          "creation_date": "2024-01-15",
          "is_confirmation": false
        },
        {
          "msg_type": "acmt.010",
          "msg_id": "MSG-010-001",
          "creation_date": "2024-01-16",
          "is_confirmation": true,
          "related_msg_id": "MSG-007-001"
        }
      ]
    }
  },
  "id": 1
}
↓ if OPENING_CONFIRMED
2 TERMINAL · CONDITIONAL node
In-House Bank Interest Allocation art-260-allocate-ihb-interest
Allocates IHB notional pool or ZBA sweep interest for the newly confirmed account being onboarded to the pool. OECD TP Guidelines 2022 Chapter X arm’s-length rate. ACT/360 day-count. Per-member withholding tax. Returns per-member gross_interest, withholding_amount, net_interest, and total_interest_allocated for the opening-day period. Only reached when acmt_state = OPENING_CONFIRMED. Final stage.
MCP Call · allocate_ihb_interest
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "allocate_ihb_interest",
    "arguments": {
      "pool_type": "notional",
      "pool_rate_annual_pct": 5.0,
      "day_count_convention": "ACT/360",
      "period_days": 1,
      "currency": "USD",
      "members": [
        {"member_id": "ACCT-REF-20240115-001", "balance": 500000, "withholding_rate_pct": 0,
         "notes": "newly opened account entering pool"},
        {"member_id": "EXISTING-POOL-ANCHOR", "balance": 2000000, "withholding_rate_pct": 0}
      ]
    }
  },
  "id": 2
}
Export Chain Artifact
Download a §4-compliant chain artifact with execution hash, gate definitions, and step definitions. Gate parameters are included in policy_parameters for verifiable STP audit trail.

Ask your agent

Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.

Question: Our correspondent account maintenance messages went out overnight. Did any report arrive without the request that authorised it?
Run the AINumbers MCP tool `run_chain` with {"chain":"treasury-account-lifecycle-ebam"} and read `art-262-validate-ebam-acmt-flow.is_valid`.
Re-run with `inputs` for `art-262-validate-ebam-acmt-flow`, reusing the values that result echoed, with `acmt_messages` changed so one report arrives with no matching request. Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/treasury-account-lifecycle-ebam.html