Payment Lab · Trust Simulator
Can this agent make this payment, and can we prove why?
A synthetic user mandate meets a synthetic transaction. The engine walks every guardrail — currency, per-transaction cap, daily cap, MCC allow/blocklist, expiry, consent freshness, step-up thresholds — and produces an APPROVE / DENY / STEP-UP verdict with a full audit trail. Illustrative simulation. No LLM, no real network calls.
Everything inside the guardrails; decision APPROVE.
All guardrails passed. Agent may proceed.
Guardrail trace
- PASSMandate exists and identifies the agent + principal
agent=agent_shop_helper_42 · principal=principal_bs - PASSMandate is unexpired at requested time
expires=2026-10-27T19:24:08.084Z · requested=2026-09-27T19:24:08.084Z - PASSRequested currency matches mandate currency
mandate=USD · requested=USD - PASSPer-transaction cap (150 USD)
requested=42.5 · limit=150 - PASSDaily spend cap (300 USD)
today+txn=62.5 · limit=300 - PASSMonthly spend cap (2000 USD)
month+txn=392.5 · limit=2000 - PASSMerchant category code (MCC) is on the allowlist
mcc=5411 · allowlist=5411,5812,5732,4900 - PASSMerchant MCC is not on the blocklist
mcc=5411 · blocklist=7995,5967 - PASSUser consent is fresh (within 5 minutes)
age=2 minutes
Mandate snapshot
{
"agentId": "agent_shop_helper_42",
"principalId": "principal_bs",
"currency": "USD",
"perTransactionMax": 150,
"dailyMax": 300,
"monthlyMax": 2000,
"expiresAt": "2026-10-27T19:24:08.084Z",
"allowedMccs": [
"5411",
"5812",
"5732",
"4900"
],
"blockedMccs": [
"7995",
"5967"
],
"stepUpAbove": 100,
"consentFreshMinutes": 2
}