OpenChainGraph Suite · CONTRACT A3 · arch #5

APY Earned Check

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.

Check whether a bank paid the APY it disclosed, in two recompute stages: first recompute the period's interest from daily balances under the caller's declared day-count convention, compounding, and rate terms, diffed against the core's reported accruals with a MATCHES, DIVERGES, or INDETERMINATE verdict (ART-661), then recompute the APY earned from a caller-supplied interest figure and the average daily balance and compare it with the disclosed APY inside a caller-declared accuracy band (ART-663), then a session receipt aggregating the run's execution hashes (CRY-05). Day-count convention, compounding, and every rate term are caller-declared inputs; a divergence is an arithmetic finding, never a determination that interest was miscalculated. Not legal advice and not tax advice.

Note: day-count convention, compounding, and every rate term are caller-declared inputs, never inferred by the kernel. A DIVERGES verdict is an arithmetic finding, not a determination that interest was miscalculated or is owed back. The APY stage recomputes from a caller-supplied interest figure, so cite the interest stage's hash alongside it when presenting both runs.

OpenChainGraph · 3 Steps compliance mandate · Reg DD 1030 Hash-Anchored §4 chain_depth:3 Client-Side · Zero PII
Chain Topology (linear): Interest Accrual Recompute → APY Earned Recompute → Session Receipt
§4 Execution Hash · Chain Definition Anchor
execution_hash:computing…
Chain Stages · 3 Steps
1 ROOT node
Interest Accrual Recompute art-661-interest-accrual-recompute
Recomputes the period's interest from daily balances under the caller's declared day-count convention, compounding, and rate terms; the recomputation is diffed against the core's reported accruals, with verdict MATCHES, DIVERGES, or INDETERMINATE
MCP Call · compute_interest_accrual_recompute
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "compute_interest_accrual_recompute",
    "arguments": {}
  },
  "id": 1
}
↓
2 STEP node
APY-Earned Recompute art-663-apy-earned-recompute
Recomputes the APY earned from a caller-supplied interest figure and the average daily balance and compares it with the disclosed APY inside the caller's declared accuracy band, with verdict MATCHES, DIVERGES, or INDETERMINATE
MCP Call · compute_apy_earned_recompute
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "compute_apy_earned_recompute",
    "arguments": {}
  },
  "id": 1
}
↓
3 TERMINAL · D3 node
Agent-Action Audit-Trail Aggregator cry-05-agent-action-audit-trail-aggregator
Produces session_receipt_root, the Merkle root over the run's execution_hashes (final stage)
MCP Call · aggregate_execution_receipts
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "aggregate_execution_receipts",
    "arguments": {}
  },
  "id": 1
}
Export Artifacts
Download the §4 chain definition artifact (hash-anchored composite JSON) or the §13.11 W3C Verifiable Credentials view. Both derive from the chain definition. No new hash is minted. Available after hash computation.

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: My savings statement shows 5.12% APY earned. Did the bank pay the rate it disclosed?
Run the AINumbers MCP tool `run_chain` with {"chain":"apy-earned-check"} and read `art-663-apy-earned-recompute.verdict`.
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/apy-earned-check.html