Agentic payment tests · verified August 28, 2026

The buyer agent that remembers what it paid for.

A working agent that inspects a paid service, exposes every material term, keeps spending authority with a person, pays exactly once in test mode, survives process death, and verifies that delayed fulfillment belongs to its receipt.

Cloud controls and source require judge access. This public page contains no gateway token, Stripe key, or customer data.

20 / 20contract tests passing
$150fixed synthetic offer
provider attempt per purchase
0production credentials
01

The problem

A charge can succeed in seconds while the purchased work takes days. The hard part is everything between paid and delivered.

Did the retry create a second charge?

Does the receipt belong to this task?

Can a new process resume the order?

Does the artifact belong to this payment?

02

A real agent, calling a real MCP tool

The saved TrueFoundry agent uses GPT-4.1 mini to discover and invoke a cloud-hosted STDIO MCP server. The cloud tool is intentionally read-only: it proves the model-to-tool path without pretending a payment occurred.

artiji-buyer-agent · verified trace gpt-4.1-mini · medium
USER

Inspect the $150 Deep Reflection offer using the Artiji MCP tool. Tell me exactly what I would be approving, and do not place an order or payment.

  1. list_toolsartiji-commerceOK
  2. get_tool_info: inspect_offerartiji-commerceOK
  3. call_tool: inspect_offerartiji-commerceOK
AGENT

The $150 Deep Reflection offer includes:

  • Price $150.00 USD
  • Fulfillment manual-deferred
  • Window 3–5 days
  • Result full chart analysis artifact
  • Refund full refund if fulfillment cannot be completed
  • Cancellation before payment confirmation

Test mode only. No order or payment was created.

03

Two demos, two honest claims

Cloud path · live

TrueFoundry agent + hosted MCP

A saved model loop discovers inspect_offer, calls it through the MCP Gateway, and explains the terms. Gateway traces and tool metrics remain available in the tenant.

  • Hosted STDIO exposed as Streamable HTTP
  • Authenticated control plane; no public token
  • Read-only by design
Open MCP Gateway ↗
Local path · full action

TrueForge + buyer lifecycle

The full demo crosses the approval boundary, performs one synthetic test payment, creates a durable task, resumes after restart, and verifies its artifact.

  • Visible Allow / Deny checkpoint
  • Fake default; optional Stripe test mode
  • Receipt → task → artifact correlation
Open evaluation repository ↗
04

What the agent does

  1. 01

    Inspect

    Reads price, fulfillment, timing, result, refund, and cancellation terms before approval.

  2. 02

    Ask

    Stops at a human-owned checkpoint because the USD 150 purchase exceeds the USD 100 threshold.

  3. 03

    Pay once

    Retries the paid call with one logical-purchase idempotency key and one deterministic provider key.

  4. 04

    Persist

    Stores the receipt, task capability, payer material, and exact success before continuing.

  5. 05

    Recover

    A different process resumes from SQLite after the original buyer is terminated with SIGKILL.

  6. 06

    Verify

    Accepts completion only when the artifact reference matches the payment receipt.

05

Architecture

Model loopTrueFoundry / TrueForge
MCP Gatewaytool discovery + traces
Buyer boundaryterms + human approval
Seller stubpayment + durable task
Artifactreceipt-correlated result
Authority is explicit

A person owns the spend decision. Task IDs are bearer capabilities. Notifications only wake the buyer; authoritative state comes from polling.

Failure is expected

Payment state is durable before success returns. Replays are byte-identical. Process death is a tested event, not an edge-case footnote.

Claims stay bounded

The default suite is synthetic. Production Artiji, real subject data, and live credentials remain outside the experiment.

06

Run it

Deterministic evidence

git clone git@github.com:schwentker/artiji-buyer-agent.git
cd artiji-buyer-agent
node --version   # 22.14+
npm test         # 20 passing

Local live agent

# terminal 1
npm run demo:mcp

# terminal 2
npx @truefoundry/trueforge@latest --port 8790

The evaluation repository remains private during judging. Access is granted directly; the default suite requires no network, model key, package installation, or payment credential.

Evidence before confidence

Watch the agent act. Then inspect every boundary.