OpenChainGraph Suite · OCG v0.8.0 · Government & Public-Sector Payments

Public-Money Settlement Receipt

A payment of public money reconciles from payer to the correct government revenue line, with its finality and settlement-asset legal-finality class classified -- verifiable by an audit authority with no access to the operator's database. Where the receipt actually declares a settlement currency, a multi-currency PvP atomicity check runs; where that PvP leg is not itself a Canton/DLT-native leg, an ISO 20022 address-migration check runs on the messaging leg. Portable to any government payment platform, any treasury-single-account regime, any supreme audit institution -- not specific to any one jurisdiction, ministry or vendor. No personal data is processed.

OpenChainGraph · 5 Steps compliance control · Gated Hash-Anchored §4 chain_depth:5 Client-Side · Zero PII
Not legal, audit or accounting advice. Every step is TRANSCRIBED from caller-declared inputs -- no rail connector, no switch, and no live payment observation. Confirm your own treasury-single-account and audit-authority requirements before relying on any result.
⚡ §21.4 Gate 1 at Step 1 (art-513): reads /currency. A declared currency continues to finality classification; no declared currency means there is nothing further to classify, and the automated path ends here.
⚡ §21.4 Gate 2 at Step 4 (511): reads /has_canton_leg. A Canton/DLT-native leg carries no ISO 20022 message and ends here; any other leg continues to the address-migration check. Both gates record which branch was taken in the run artifact decisions[].
Chain Topology (gated) — Receipt (gate on /currency) → Finality → Asset Finality → PvP (gate on /has_canton_leg) → ISO 20022 Address Check
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 5 Steps · Gated
1 ROOT §21.4 gate
Public-Money Settlement Receipt art-513-public-money-settlement-receipt
GATE: /currency neq null → art-492  |  default → end
Single-settlement, attribution and at-par verdicts. Gate: a declared currency continues to finality classification; no declared currency means there is nothing further to classify, and the automated path ends.
MCP Call · build_public_money_settlement_receipt
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "build_public_money_settlement_receipt",
    "arguments": {
      "payment_ref": "ref-001",
      "payer_class": "citizen",
      "declared_revenue_code": "REV-1",
      "revenue_code_table": [{ "code": "REV-1", "ministry": "Treasury" }],
      "treasury_account_credited": "TSA-1",
      "currency": "USD",
      "amount_collected": 1000,
      "amount_credited": 1000,
      "rails": [{ "rail": "rtgs", "settlement_ref": "s-1", "declared_finality_basis": "irrevocable", "settled": true }]
    }
  },
  "id": 1
}
2 NODE node
Settlement Finality Classifier art-492-classify-settlement-finality
Rail-agnostic settlement-finality tier feeds the settlement-asset legal-finality classification.
MCP Call · classify_settlement_finality
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "classify_settlement_finality",
    "arguments": {
      "settlement_model": "single_slot_bft",
      "included_in_block": true,
      "quorum_committed": true
    }
  },
  "id": 2
}
3 NODE node
Settlement-Asset & Legal-Finality Classifier art-59-settlement-asset-finality-classifier
Settlement-asset legal-finality tier and singleness verdict feed the multi-currency PvP check.
MCP Call · classify_settlement_asset_finality
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "classify_settlement_asset_finality",
    "arguments": {
      "settlement_asset": "off-chain-RTGS",
      "finality_designation": "SFD-designated",
      "jurisdiction": "US",
      "singleness_test": "par-with-CBM"
    }
  },
  "id": 3
}
4 NODE §21.4 gate
Multi-Currency PvP Validator 511-multi-currency-pvp-validator
GATE: /has_canton_leg eq true → end  |  default → rca-03
PFMI Principle 12 atomicity and Herstatt-risk verdict for the currency leg. Gate: a Canton/DLT-native leg carries no ISO 20022 message and ends here; any other leg continues to the address-migration check.
MCP Call · validate_pvp_settlement
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "validate_pvp_settlement",
    "arguments": {
      "legs": [{ "ccy_sold": "USD", "ccy_bought": "EUR", "notional": 1000, "implied_rate": 0.92 }],
      "atomicity_type": "atomic_pvp",
      "finality_type": "irrevocable_realtime",
      "has_unwind_procedure": true,
      "canton_leg": false
    }
  },
  "id": 4
}
5 TERMINAL node
ISO 20022 Structured-Address Migration Batch Verifier rca-03-iso20022-address-migration-verifier
ISO 20022 pacs.008 Nov-2026 address-field readiness verdict for the messaging leg -- final stage.
MCP Call · verify_address_migration_batch
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "verify_address_migration_batch",
    "arguments": {
      "strictness": "standard"
    }
  },
  "id": 5
}
Export Chain Artifact
Download a §4-compliant chain artifact with execution hash and step definitions. Hash is deterministic over canonical {policy_parameters, output_payload} per RFC 8785/JCS.