Agent verification

Developer preview · SDK live on npm

AI agents are already shopping your store. Know which ones to trust.

Merchants block AI agents because they look like bots, and lose the sale. AVA Pay™ verifies the cryptographic signatures real agents already carry: ChatGPT's signed traffic, Visa Trusted Agent Protocol, Google AP2. One verdict comes back, so good agents get in and you decide what their identity earns.

One install. Four protocols. Your rules.

AVA Pay establishes who an agent represents, whether a buyer authorized the purchase, and what your store chooses to do about it.

Proof, not promises

Validated against the real ecosystem.

01

Validated against live traffic

Our verifier resolves OpenAI's published signing keys from chatgpt.com's live key directory and Visa's production JWKS, not test fixtures.

02

240 real-cryptography tests

Every verification path is exercised with real Ed25519, RSA-PSS, and SD-JWT cryptography, including forged, tampered, expired, and replayed requests.

03

SDK live on npm

npm install @ava-pay/agent. Signers for all four protocols, MIT-licensed, open source.

Two ends, one handshake

Designed so both sides integrate in minutes.

01   For agents

Publish a key once. Verified everywhere.

Install one package and sign with whichever protocol your platform speaks: Web Bot Auth, Visa Trusted Agent Protocol, or Google AP2 v0.2. Keys resolve through a federated chain of the ecosystem's roots of trust: Visa's directories, Web Bot Auth key directories, and the AVA directory. If you already publish a Web Bot Auth key card, AVA Pay merchants verify you today, with no separate registration.

npm install @ava-pay/agent

import { signWithWebBotAuth } from "@ava-pay/agent";

const request = signWithWebBotAuth({
  method: "GET",
  url: "https://shop.example.com/products/tool-1234",
  signatureAgent: "https://your-agent.example",
  privateKey,
});
// merchants verify it in under a millisecond
Audience
Agent builders and issuers
Standards
IETF Web Bot Auth, Visa TAP (RFC 9421), Google AP2 v0.2 (SD-JWT delegation), Ed25519 / RSA-PSS
02   For merchants

One verdict. Your policy.

Add AVA Pay through the API, the Shopify app, or the WooCommerce plugin. Every agent request returns one protocol-agnostic verdict: who the agent is, plus the buyer-scoped mandate behind the purchase when the protocol carries one. Identity and spend authority are different things, and AVA Pay never confuses them: verified-identity traffic is admitted, but discounts and offers unlock only for mandate-backed requests unless you explicitly say otherwise. Replay-protected, fail-closed, rate-limited: the checks a trust layer should run on itself.

Verdict
Trusted or not, with a typed reason, in under a millisecond
Audience
Merchants and commerce platforms

How a verified request flows

Follow a verification end to end.

01

The agent signs

The agent signs the request with its published key: a Web Bot Auth signature, a Visa TAP handshake, or an AP2 v0.2 delegation chain rooted in the buyer's own key.

02

AVA Pay verifies

AVA Pay resolves the key through the federated trust chain, verifies the signature, enforces freshness and single-use nonces, and validates any mandate against the cart: merchant scope, spend limit, constraint by constraint.

03

The merchant decides

You receive identity, protocol, and mandate. Then your policy runs. Admit verified agents, tier your discounts by trust level, or simply stop blocking the traffic that was trying to buy from you.

Honest by design

What a verdict means, and what it doesn't.

A verified identity proves which agent operator sent the request. A verified mandate proves a buyer authorized a purchase within limits they set. AVA Pay reports each precisely and never upgrades one into the other, because a trust layer that rounds up is not a trust layer. Where a spec is ambiguous, we document our interpretation in the open. Where a check can't be done yet, we say so instead of pretending.

AVA Pay

Built for the moment agents stop browsing and start buying.