Paid MCP canary evidence
Validate first. Spend last. Fail closed. Operator-host (agent-host) canary on 2026-09-06. Public droplet XRPREFLIGHT_ENABLE_PAID stayed OFF. Seed never left the operator host.
Verdict: PASS — dry-run first, two consecutive paid tool calls, then budget fail-closed with no third debit.
Primary evidence: package xrpreflight-mcp-20260906b (tag mcp-20260906b). An earlier M2 pass existed; this page is the public headline proof.
Window (UTC): 2026-09-06T18:35:54Z → 18:36:18Z
SKU pin: à la carte 500 drops. Session/daily budgets 1000.
SHA-256: e02bdd78dc14f9322d467bb28a25d4dec691fc3455c7d7d66ea56484da60a986
Accounts + balance
Buyer rptMrjvz3sRRicH25scZDA2mcaDxN33XS8
Merchant receive-only rEB3eMYcrd1L7WXQMrAAWKfFiM1fRtpggt
Balance drops: 6478194 → 6477174 (total Δ 1020)
0 · dry-run receive_card
ok, no spend.
1 · paid receive_card
ok, ready=true, Δ 510 drops. SourceTag 20260829.
Tx 3F3228009680030502396CC5DC613C900013F32FE67FCB908817B721BCA2016B
2 · paid payer_ready
ok, Δ 510 drops. SourceTag 20260902.
Tx 4AB5D2640263E344BD10170EF5420B05E5E78DF18FC8BBA2892D0E6409D78366
3 · budget reject
Paid receive_card fail-closed: session budget 1000/1000. Δ 0. Error contains Budget limit.
Furnace: paid on the agent/operator host only. Public droplet paid MCP stayed off. You validate through XRPreflight; your agent pays from its own host.