Dispute evidence for agent-initiated payments

Prove what your customer's agent was allowed to buy.

Replaces
the chargeback analyst for agent purchases
For
merchant and PSP risk teams

Writ is the vertical AI agent for agent-initiated payments. It checks every agent purchase against the customer's signed mandate at checkout, and when a dispute lands, it assembles the representment packet on its own: signed mandate, cart, agent ID, timestamps and signature proofs.

The problem

"I did not authorize that" gets harder to rebut when an agent clicked buy.

Card disputes were already growing before agents started shopping. When an agent buys on a customer's behalf, the merchant needs proof of what the customer actually allowed, not just a device fingerprint and an IP address.

chargebacks projected globally in 2028, up 24% from a 2025 forecast of 261M.
324M[1]

chargebacks projected globally in 2028, up 24% from a 2025 forecast of 261M.

projected global chargeback value in 2028, up from $33.79B in 2025.
$41.69B[1]

projected global chargeback value in 2028, up from $33.79B in 2025.

of their chargebacks merchants identify as fraudulent.
45%[1]

of their chargebacks merchants identify as fraudulent.

surge in AI-driven traffic to US retail sites over the past year, per Visa.
4,700%[2]

surge in AI-driven traffic to US retail sites over the past year, per Visa.

How it works

Three steps. No new headcount.

  1. Customer signs a mandate

    Spend limit, merchant and category scope, expiry, the intent in plain words, and the agent it applies to, signed with the customer's device key.

  2. Every agent checkout is checked

    Signature, scope, limits, expiry and agent identity are verified before authorization. Out-of-policy purchases are declined with a reason code.

  3. Disputes answer themselves

    When a chargeback lands, Writ assembles the evidence packet with every proof re-verified, as a printable PDF and machine-readable JSON.

Live demo

Sign a mandate, let an agent shop, then dispute it.

Everything cryptographic in the demo is real: ES256 keys generated in your browser, a compact JWS mandate, a merchant-signed receipt, and live re-verification in the packet.

Run it yourself
  • Seven scenarios: in policy, over limit, wrong merchant, wrong category, unknown agent, tampered mandate
  • Real JWS (ES256) you can verify with any JOSE library
  • Printable representment packet plus JSON export
  • No accounts, no network calls, all in your browser

For developers

Three calls. Verify, record, defend.

Drop Writ into your checkout or PSP integration. It verifies the mandate at authorization and keeps the evidence until a dispute arrives.

The SDK shown is illustrative. The demo implements the same flow in the browser with WebCrypto.

import { Writ } from "@writ/sdk"; // illustrative, not yet published

const writ = new Writ({ apiKey: process.env.WRIT_API_KEY });

// At checkout, before you authorize an agent-initiated payment
const check = await writ.verify({
  mandate: req.headers["x-agent-mandate"], // user-signed JWS
  agentId: req.headers["x-agent-id"],
  merchant: "northfield-supply.example",
  mcc: "5943",
  cart,                                    // line items + total
});

if (!check.ok) return decline(check.reasons); // e.g. ["per_tx_limit"]

const receipt = await writ.record(check, { orderId });

// Weeks later, when the dispute lands
const packet = await writ.disputes.packet({ orderId, reason: "unauthorized" });
await psp.submitEvidence(packet.pdf, packet.json);

Why now

The window just opened.

  1. 16 Sep 2025

    Google announces AP2

    The Agent Payments Protocol uses cryptographically signed mandates as verifiable proof of a user's instructions.[3]

  2. 29 Sep 2025

    Checkout inside ChatGPT

    OpenAI launched Instant Checkout with the Agentic Commerce Protocol, co-developed with Stripe.[4]

  3. 14 Oct 2025

    Visa Trusted Agent Protocol

    Visa released a framework for merchants to verify agents and their intent with cryptographic signatures.[2]

  4. Now

    Disputes have no playbook yet

    Protocols define how agents pay. The evidence and workflow for when a customer disputes an agent purchase is still left to each merchant.

Early access

Early access for merchants and PSPs.

We are onboarding design partners who see agent-initiated traffic. Pricing is planned, not final.

Growth

$0.02 per verified checkout, planned

Plus a fee per packet, only when disputed.

  • PSP evidence-submission integrations
  • Reason-code templates
  • Win-rate analytics
  • Webhook and SDKs

Prototype: the hosted demo does not store signups; a local install writes them to data/waitlist.json. Nothing is sent to third parties.

FAQ

Straight answers.

Is this AP2 or Visa's protocol?
Neither. Writ's demo mandate is a compact JWS inspired by the mandate idea in AP2. Writ is designed to sit on top of whichever agent payment protocol a transaction uses and normalize the evidence.
Does a signed mandate guarantee I win the dispute?
No. Issuers and networks decide disputes, and rules for agent-initiated transactions are still evolving. Writ's job is to make the strongest possible evidence available instantly.
What is real in the demo?
Key generation, ES256 signing and verification, hashing, policy evaluation and the packet. The agent, merchants, cardholder and dispute are simulated.
Where are keys stored?
In the demo, private keys are non-extractable WebCrypto keys in your browser's IndexedDB. In production the customer key would live in a wallet, passkey or credential provider.
Do you store card data?
No. Writ needs the mandate, cart and authorization metadata, not PANs.