Three-step linear chain: classify each candidate's tokenized-collateral eligibility, apply the Basel CRE22 haircut, then re-derive whether the allocation actually chosen is explained by the declared objective over those eligibility and haircut snapshots. This is a collateral instance of a pattern portable to any optimizer: liquidity, treasury, payment routing, order allocation.
check_tokenized_collateral_eligibility{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_tokenized_collateral_eligibility",
"arguments": {
"asset_type": "ust",
"notional": 1000000,
"transfer_restrictions": {},
"custody_linkage": "dtc"
}
},
"id": 1
}
compute_basel_haircut_adjusted_exposure{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "compute_basel_haircut_adjusted_exposure",
"arguments": {
"haircut_table_version": "2026-07-01",
"holding_period_days": 10,
"fx_haircut_pct": 8,
"min_haircut_floor_pct": 0,
"haircut_table": [
{ "asset_class": "sovereign_aaa_aa", "maturity_bucket": "1-5y", "haircut_pct": 2 }
],
"exposure": { "amount": 100000000, "currency": "USD", "asset_class": "cash" },
"collateral_items": [
{ "item_id": "c0", "asset_class": "sovereign_aaa_aa", "maturity_bucket": "1-5y", "market_value": 60000000, "currency": "USD" }
]
}
},
"id": 2
}
build_allocation_decision_receipt{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "build_allocation_decision_receipt",
"arguments": {
"obligation_ref": "OBL-DEMO-01",
"as_of": "2026-06-30",
"eligibility_schedule_ref": "ELIG-2026-06",
"inventory_ref": "INV-2026-06-30",
"haircut_table_version": "HC-2026Q2",
"obligation_amount": "1000000",
"objective": "cheapest_to_deliver",
"eligibility_schedule": [
{ "asset_id": "A1", "eligible": true },
{ "asset_id": "A2", "eligible": true }
],
"inventory_snapshot": [
{ "asset_id": "A1", "available_amount": "600000", "cost_bps": "5", "hqla": true, "haircut_pct": "0" },
{ "asset_id": "A2", "available_amount": "600000", "cost_bps": "2", "hqla": false, "haircut_pct": "0" }
],
"allocation_chosen": [
{ "asset_id": "A2", "amount": "600000" },
{ "asset_id": "A1", "amount": "400000" }
]
}
},
"id": 3
}
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: The desk wants to post tokenized treasuries against tomorrow's obligation. Does the eligibility check still treat the collateral as Level 1 HQLA?
Run the AINumbers MCP tool `run_chain` with {"chain":"allocation-decision-receipt"} and read `505-tokenized-collateral-eligibility-checker.hqla_tier`.
Re-run with `inputs` for `505-tokenized-collateral-eligibility-checker`, reusing the values that result echoed, with `asset_type` set to "ig_corp_bond". 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/allocation-decision-receipt.html