verify_treasury_settlement_status
On-chain proof the treasury actually received settled x402 USDC.
Wires services.x402_settlement.verify_treasury_settlement (
real on-chain proof: treasury USDC ATA balance read as the primary signal,
plus settle-tx signature confirmation) up to an MCP tool -- the follow-up
to which intentionally split the on-chain proof
logic from this wiring to avoid file collisions across parallel sessions.
signatures is optional: when omitted, this tool pulls recent settled
X402PaymentRecord.tx_signature values itself (via
django_bridge.recent_x402_signatures, same window shape as
reconcile_x402_settlement) over the last since_iso window (or all
time), capped at signature_limit to bound RPC round trips -- so a
caller does not have to hand-assemble signatures to get a real proof.
Pass an explicit signatures list to check specific settle-tx hashes
instead (bypasses the DB lookup entirely).
verified is True only when every checked signature confirms on-chain
AND (if expected_usd is given) the treasury balance covers it -- see
the service docstring for the full non-falsely-asserting contract. Raises
CONFIG_ERROR if no treasury wallet is configured, UPSTREAM_ERROR
(retryable) on an RPC failure -- never a silent verified=False.
FREE read (never gated, never in x402 PAID_TOOLS): public addresses/ signatures/balances only, never a key (hard rule 1).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| caller_id | No | ||
| since_iso | No | ||
| signatures | No | ||
| expected_usd | No | ||
| signature_limit | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||