{"asOf":"2026-10-28","title":"Banking, Treasury & Agentic Finance Playbook","summary":"A safe 3-layer agentic treasury stack: (1) operating bank + vault with capped, merchant-locked cards; (2) a real-time authorization gate (/api/actionable autoActOk + issuer webhooks); (3) post-spend verification (invoice extraction + Countersign receipt + immutable double-entry ledger).","layers":[{"layer":1,"name":"Operating Bank & Vault","purpose":"Hold operating cash in a real bank account and give each agent only a capped, merchant-locked instrument — never the account itself.","components":["Mercury (operating account + API + IO virtual cards) or Stripe Treasury financial accounts","Grok Bot encrypted Vault for card numbers and bank credentials (agents receive a scoped reference, not the PAN)","One virtual card per agent per merchant, capped at $500 or $1,000/mo, merchant-locked"],"hardRules":["No agent holds bank login credentials or full account numbers.","Card cap ≤ $1,000/mo and merchant-locked; a new merchant needs a new card and a human approval.","Transfers (ACH/wire) out of the operating account always require a human approval."],"depotJtbds":["agent-banking-treasury","financial-account-linking","agent-virtual-cards"],"verify":"GET /api/decide?jtbd=agent-banking-treasury"},{"layer":2,"name":"Real-Time Authorization Gate","purpose":"Decide, before money moves, whether this specific spend is allowed — with deterministic inputs, not a model's confidence.","components":["GET /api/actionable — autoActOk: true only when the price is < 30 days fresh, billing is monthly/PAYG and cancellable, and the cost is under the stated budget; otherwise it names the exact missing input","Lithic Auth Stream or Stripe Issuing real-time authorization webhooks: approve/decline each authorization against velocity limits (per-hour, per-day, per-merchant)","Near-tie rule: when /api/decide returns nearTie.isNearTie, treat the top two as co-picks and apply the workload tie-breaker before spending"],"hardRules":["autoActOk=false → no autonomous spend; escalate to the principal with the named missing input.","Decline any authorization over the per-card cap or outside the merchant lock, even if the agent says it is urgent.","Annual prepay, non-cancellable terms or unknown price freshness always require a human."],"depotJtbds":["agentic-micropayments-x402","corporate-spend-ap-automation","agent-virtual-cards"],"verify":"GET /api/actionable?jtbd=agent-banking-treasury&budget=500"},{"layer":3,"name":"Post-Spend Verification & Ledger","purpose":"Prove every spend happened as authorized and post it to an immutable ledger the principal can audit.","components":["Reducto invoice/receipt extraction (line items, totals, tax) matched against the card authorization","Countersign cryptographic receipt per spend (claim → VERIFIED) so other agents can rely on it","Immutable double-entry ledger in integer minor units with idempotency keys (OpenMeter grants / Orb / Lago, or your own Postgres ledger)"],"hardRules":["Every authorization has exactly one reconciled receipt within 7 days, or it is flagged for review.","Ledger entries are append-only; corrections are reversing entries, never edits.","Never use floating-point amounts; store cents (or smaller minor units) as integers."],"depotJtbds":["corporate-spend-ap-automation","ledger-double-entry-accounting","outcome-verification"],"verify":"GET /api/decide?jtbd=ledger-double-entry-accounting"}],"financeJtbds":[{"id":"agent-banking-treasury","name":"Startup & Agent-Fleet Banking, Treasury & Programmable ACH/Wire Rails","depotPickProviderId":"stripe","depotPickName":"Stripe","runnersUpIds":["lithic","polar","paddle","orb"],"url":"/jtbds/agent-banking-treasury","decide":"/api/decide?jtbd=agent-banking-treasury"},{"id":"financial-account-linking","name":"Open Banking, Account Linking, Real-Time Balance Checks & ACH Verification","depotPickProviderId":"stripe","depotPickName":"Stripe","runnersUpIds":["nango","workos","lithic","stytch"],"url":"/jtbds/financial-account-linking","decide":"/api/decide?jtbd=financial-account-linking"},{"id":"agentic-micropayments-x402","name":"Agent-to-Agent (A2A) Micropayments, HTTP 402 Settlement & Programmable Usage Escrow","depotPickProviderId":"openmeter","depotPickName":"OpenMeter (Kong Konnect Metering)","runnersUpIds":["stripe","orb","polar","lago"],"url":"/jtbds/agentic-micropayments-x402","decide":"/api/decide?jtbd=agentic-micropayments-x402"},{"id":"corporate-spend-ap-automation","name":"Corporate Spend Controls, Invoice OCR, AP Automation & Receipt Reconciliation","depotPickProviderId":"reducto","depotPickName":"Reducto","runnersUpIds":["lithic","stripe","llama-parse","unstructured"],"url":"/jtbds/corporate-spend-ap-automation","decide":"/api/decide?jtbd=corporate-spend-ap-automation"},{"id":"automated-tax-vat-compliance","name":"Global Sales Tax, VAT, GST & 1099 Compliance for AI & Agent Products","depotPickProviderId":"polar","depotPickName":"Polar","runnersUpIds":["paddle","lemon-squeezy","stripe","orb"],"url":"/jtbds/automated-tax-vat-compliance","decide":"/api/decide?jtbd=automated-tax-vat-compliance"},{"id":"ledger-double-entry-accounting","name":"Immutable Double-Entry Financial Ledgers, Credit Wallets & Revenue Recognition","depotPickProviderId":"openmeter","depotPickName":"OpenMeter (Kong Konnect Metering)","runnersUpIds":["orb","lago","metronome","restate","supabase-pgvector"],"url":"/jtbds/ledger-double-entry-accounting","decide":"/api/decide?jtbd=ledger-double-entry-accounting"}],"agenticOpsJtbds":[{"id":"contract-dpa-compliance-review","name":"Contract Parsing, MSA/DPA Redlining & Vendor Compliance Extraction","depotPickProviderId":"reducto","depotPickName":"Reducto","runnersUpIds":["anthropic","llama-parse","unstructured"],"url":"/jtbds/contract-dpa-compliance-review","decide":"/api/decide?jtbd=contract-dpa-compliance-review"},{"id":"pii-redaction-context-dlp","name":"PII/PHI Redaction, Tokenization & Context Data Loss Prevention (DLP)","depotPickProviderId":"lakera","depotPickName":"Lakera Guard","runnersUpIds":["guardrails-ai","prisma-airs","nvidia-nemo-guardrails"],"url":"/jtbds/pii-redaction-context-dlp","decide":"/api/decide?jtbd=pii-redaction-context-dlp"},{"id":"delegated-mcp-oauth-vault","name":"Delegated User OAuth, Token Refresh & Scoped Credential Vaulting for MCP Tools","depotPickProviderId":"nango","depotPickName":"Nango","runnersUpIds":["composio","stytch","workos","infisical"],"url":"/jtbds/delegated-mcp-oauth-vault","decide":"/api/decide?jtbd=delegated-mcp-oauth-vault"},{"id":"synthetic-persona-pre-flight","name":"Multi-Turn Synthetic User & Adversarial Persona Simulation","depotPickProviderId":"braintrust","depotPickName":"Braintrust","runnersUpIds":["promptfoo","patronus","galileo"],"url":"/jtbds/synthetic-persona-pre-flight","decide":"/api/decide?jtbd=synthetic-persona-pre-flight"}],"honesty":{"notFinancialOrTaxAdvice":true,"personalTaxPrepCovered":false,"offCatalogArchitecturalOptions":["Mercury","Increase","Column","Wise Platform"],"note":"Off-catalog options are named for architecture only; Depot does not score, price or rank them. 'do my taxes' still resolves to not_covered."}}