{
  "tool_id": "art-715-token2022-transfer-fee-reconciler",
  "kernel_id": "art-715-token2022-transfer-fee-reconciler",
  "display_name": "Token-2022 Transfer-Fee Payment Reconciler",
  "tool_version": "1.0.0",
  "mandate_type": "settlement_mandate",
  "purpose": "Recomputes the transfer fee a Token-2022 mint with the transfer-fee extension withholds and the net amount the recipient receives, given the fee schedule, the TransferChecked amount, the execution epoch and the amount a payment verifier credited, then reconciles the credited amount against that net: MATCH, OVER_CREDITED or UNDER_CREDITED with credited_minus_net reported. OVER_CREDITED with the fee as the difference reproduces the Kora GHSA-725g defect class, a facilitator crediting the pre-fee gross amount; the advisory's arithmetic is quoted only as its public text states it. All amounts are decimal strings computed in BigInt with 128-bit intermediates and no floats, porting the pinned Token-2022 clause arithmetic: ceiling(amount times basis points over 10,000) capped at maximum_fee, the newer schedule applying from its epoch on, and the informational minimal pre-fee inverse choosing the smaller amount. The output also records a declared-fee FeeMismatch for TransferCheckedWithFee, an EPOCH_SCHEDULE_DIVERGENCE when the verifier used a different schedule than the execution epoch, and an informational consumer view showing where the x402 SVM gross-amount exact-match path and the balance-delta net path disagree. Exclusions: no wallet addresses, no authorities, no account keys, no signatures, no live data.",
  "control_description": "Recomputes the transfer fee a Token-2022 mint with the transfer-fee extension withholds and the net amount the recipient receives, given the fee schedule, the TransferChecked amount, the execution epoch and the amount a payment verifier credited, then reconciles the credited amount against that net: MATCH, OVER_CREDITED or UNDER_CREDITED with credited_minus_net reported. OVER_CREDITED with the fee as the difference reproduces the Kora GHSA-725g defect class, a facilitator crediting the pre-fee gross amount; the advisory's arithmetic is quoted only as its public text states it. All amounts are decimal strings computed in BigInt with 128-bit intermediates and no floats, porting the pinned Token-2022 clause arithmetic: ceiling(amount times basis points over 10,000) capped at maximum_fee, the newer schedule applying from its epoch on, and the informational minimal pre-fee inverse choosing the smaller amount. The output also records a declared-fee FeeMismatch for TransferCheckedWithFee, an EPOCH_SCHEDULE_DIVERGENCE when the verifier used a different schedule than the execution epoch, and an informational consumer view showing where the x402 SVM gross-amount exact-match path and the balance-delta net path disagree. Exclusions: no wallet addresses, no authorities, no account keys, no signatures, no live data.",
  "declared_inputs": [],
  "declared_outputs": [],
  "kernel_digest": "sha256:020915c5c02c1d2cb9bcb284db4b533d4828472f3b005e2ad70d94c473ab4578",
  "trust_label": "deferred: deterministic source published, zkVM proof not yet generated; New gpu:false node, art-715-token2022-transfer-fee-reconciler, built 2026-10-11 (SOLANA-B1-TRANSFER-FEE-NODE-1). No GPU prove has been run and none is proposed by this row — deferred per the section 18 steady-state rule; the section 18 ceiling is raised by one in the same PR (SO #59 in-PR shape) via check-compute-proof-coverage.mjs --update-baseline under a scratch DERIVED_ROOT.",
  "data_vintage": "2026-10-12",
  "last_validated": "2026-10-12",
  "conformance_fixtures_vendored": true,
  "compute_proof_ready": "deferred",
  "wave": 125,
  "source_url": "https://ainumbers.co/chaingraph/art-715-token2022-transfer-fee-reconciler.html",
  "generated_at": "2026-10-14T01:58:10.022Z"
}
