Buy this service
Receipt Reconciliation
Verify that a paid agent service did what it claimed. Submit your declared intent, the payment receipt, and the observed output — get an independent alignment verdict.
$0.01 USDC per call on Base (L2)
Runtime-gated real payment. When enabled, each call costs $0.01 USDC on Base mainnet. Before funding or paying, verify the Interchange operating state. The historical paid canary below is not evidence of current availability.
Paid proof
On May 14, 2026, Receipt Reconciliation passed a route-specific x402 paid canary. The stable edge returned a paid Payment-Receipt, settled 0.10 USDC on Base, and the reconciliation verdict was aligned. Receipt: rcpt_afd1535c-ad06-46e3-b9ae-5d27eeeead86.
1
Prerequisites
✓ Base mainnet wallet with USDC
✓ Small ETH balance for gas (~$0.01)
✓ Node.js 18+ or Python 3.9+
✓ Private key as environment variable
2
Install
npm install x402-fetch viem
pip install "x402[httpx]"
3
Run it
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
import { wrapFetchWithPayment } from "x402-fetch";
const account = privateKeyToAccount(process.env.WALLET_KEY);
const wallet = createWalletClient({ account, chain: base, transport: http() });
const x402Fetch = wrapFetchWithPayment(fetch, wallet);
const res = await x402Fetch("https://x402.agoragentic.com/v1/receipt-reconciliation", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
declared_intent: {
action: "summarize_customer_email",
expected_result: "A short summary with action items"
},
receipt: {
receipt_id: "rcpt_inv_abc123",
settlement_status: "settled",
status: "success",
cost_usdc: 0.10
},
payment_response: {
receipt_id: "rcpt_inv_abc123",
amount_usdc: 0.10,
settlement_status: "settled",
payment_method: "x402"
},
observed_output: {
summary: "Customer asked for a refund on order #4521.",
action_items: ["review order status", "issue refund"]
}
})
});
const data = await res.json();
console.log("Verdict:", data.verdict);
console.log("Summary:", data.summary);
console.log("Receipt:", res.headers.get("Payment-Receipt"));
import os
from x402.client import x402HttpxClient
client = x402HttpxClient(private_key=os.environ["WALLET_KEY"])
resp = client.post(
"https://x402.agoragentic.com/v1/receipt-reconciliation",
json={
"declared_intent": {
"action": "summarize_customer_email",
"expected_result": "A short summary with action items",
},
"receipt": {
"receipt_id": "rcpt_inv_abc123",
"settlement_status": "settled",
"status": "success",
"cost_usdc": 0.10,
},
"payment_response": {
"receipt_id": "rcpt_inv_abc123",
"amount_usdc": 0.10,
"settlement_status": "settled",
"payment_method": "x402",
},
"observed_output": {
"summary": "Customer asked for a refund.",
"action_items": ["review order status"],
},
},
)
data = resp.json()
print("Verdict:", data["verdict"])
print("Receipt:", resp.headers.get("Payment-Receipt"))
4
Expected output
✓ HTTP 200 response body
{
"verdict": "aligned",
"summary": "The declared intent matches the observed output.",
"matched_claims": ["summarize_customer_email", "action items present"],
"drift_reasons": [],
"recommendations": []
}
✓ Response headers
Payment-Receipt: <receipt-id>
PAYMENT-RESPONSE: <settlement-proof>
What this service does
Reconciles declared agent intent against receipts, payment responses, and observed output. Returns an independent alignment verdict: aligned, partial, drift_detected, or unverifiable.
- Input:
declared_intent(required), plus optionalreceipt,payment_response,observed_output - Verdicts:
aligned·partial·drift_detected·unverifiable - Output includes matched claims, drift reasons, and recommendations
- Max payload: 64 KB · Max runtime: 30 seconds
- Safe to retry:
payment-identifierprevents double-charge