Skip to content
↑↓ to move · Enter to openEsc to close
Comparison · Visa (Trusted Agent Protocol); IETF webbotauth working group and Cloudflare (Web Bot Auth)

AgenID, Visa Trusted Agent Protocol and Web Bot Auth: identity records and signed requests

Updated

Visa's Trusted Agent Protocol and the Web Bot Auth work it builds on sign individual HTTP requests, so a server can check that a request came from the holder of a published key. AgenID signs a different thing: a declaration about an agent and its operator, stored under a permanent identifier that anyone can resolve and re-verify. One is about the request in front of you; the other is about the agent's standing identity record.

This page describes the Trusted Agent Protocol and Web Bot Auth as described in their public documentation as of September 2026, citing Visa's developer documentation and GitHub repository, Cloudflare's documentation, RFC 9421 and the IETF webbotauth working group. It describes AgenID as the reference deployment at agenid.com runs today, including what it does not do.

Trusted Agent Protocol and Web Bot Auth, in its owner’s terms

Visa describes the Trusted Agent Protocol as signature-based authentication for agentic commerce in which agents generate signatures that are specific to the merchant and purpose, time bound, and not replayable, based on HTTP Message Signatures (RFC 9421) and aligned with Web Bot Auth, as described in its public documentation as of September 2026.

Side by side, as each is described in its public documentation. Sources are listed below.
DimensionAgenIDVisa Trusted Agent Protocol and Web Bot Auth
What is identifiedA persistent logical agent and its accountable operatorThe sender of an HTTP request; in Visa's specification, a certified AI platform
What is signedA proof binding the agent's manifest by SHA-256 digestHTTP request components, with created, expires, nonce and tag parameters
Who issues and controlsThe operator signs with its own key; the registry stores public materialThe agent or platform signs each request with its own key
Verification without trusting the issuerOffline re-verification of the envelope; the registry cannot forge an operator signatureServer verifies the request signature against keys from the signer's JWKS directory
Keys and cryptographyPure Ed25519 over RFC 8785 canonical JSONRFC 9421 HTTP Message Signatures; Ed25519 supported, with other algorithms in Visa's specification
Key discoveryRegistry key endpoint plus the operator's /.well-known/agenid/keys.jsonJWKS directory, for Web Bot Auth at /.well-known/http-message-signatures-directory
ScopeChannel-independent identity recordPer-request, HTTP traffic
Authorization modelNone in v1.1.1; a v1.2 authorization layer is a draftRequest authentication; tags distinguish browsing from payment interactions
Openness and statusSpecification MIT-licensed; live at www.agenid.com with ceiling L1_REGISTEREDRFC 9421 Standards Track; webbotauth working-group draft; Visa describes its product as in development and deployment
Where they fit together

Web Bot Auth and the Trusted Agent Protocol authenticate individual HTTP requests, and AgenID provides a permanent, operator-signed identity record for the agent; a merchant can check a request signature and resolve the agent's identity separately.

What the Trusted Agent Protocol and Web Bot Auth are

Visa's Trusted Agent Protocol overview describes agents generating signatures that are specific to the merchant and purpose, time bound, and unable to be replayed or relayed, so merchants can verify agents and connect a browsing or payment action to a customer's existing merchant account. Visa's page states that the product is in the process of development and deployment. The specification page says the protocol is based on HTTP Message Signatures defined by RFC 9421 and aligned with Web Bot Auth. Its Signature-Input carries created, expires, keyid, alg, nonce and tag, with tag values agent-browser-auth for browsing and agent-payer-auth for payment. Examples include Ed25519, and public keys are retrieved as a JWKS. The specification describes the agent as a certified AI platform onboarded by a payment scheme, acting on behalf of its account holders.

Visa's GitHub repository describes itself as a sample implementation, and its license file refers to the Visa Developer Center Terms of Use.

Web Bot Auth is the underlying pattern. Cloudflare's documentation describes it as an authentication method that uses cryptographic signatures in HTTP messages to verify that a request comes from an automated bot. A bot hosts a key directory at /.well-known/http-message-signatures-directory, sends a Signature-Agent header pointing to it, uses the tag web-bot-auth, and Cloudflare supports Ed25519 keys. The IETF webbotauth working group is active, and draft-ietf-webbotauth-httpsig-protocol is its working-group Internet-Draft. RFC 9421, HTTP Message Signatures, is a Standards Track RFC and includes EdDSA using Curve edwards25519.

What AgenID is

AgenID is an open protocol, specified in the MIT-licensed AgenID specification, that gives an AI agent a permanent identifier, agenid:<ULID>. The operator generates an Ed25519 key pair locally or in the browser at /issue and signs a proof binding a manifest that declares identity, ownership, purpose and disclosure. The registry at www.agenid.com serves it at https://www.agenid.com/a/<agenid> as a Verification Card or a JSON resolution envelope that anyone can re-verify offline.

Key differences

The signed object differs. Web Bot Auth and the Trusted Agent Protocol sign HTTP request components, with creation and expiry times and a nonce, so the signature is about one request. AgenID signs a proof over a manifest digest, so the signature is about an agent's declared identity, and it stays valid across requests. AgenID v1.1.1 does not bind a live HTTP request to a registered agent at all.

The unit of identity differs. In the Trusted Agent Protocol specification, the agent is a certified AI platform onboarded by a payment scheme. In Web Bot Auth, the signer is the automated client whose key directory the Signature-Agent header names. In AgenID, the subject is an individual logical agent with an accountable operator.

The key discovery differs. Web Bot Auth publishes keys in a JWKS directory at a well-known path on the signer's domain. AgenID publishes the operator key in the registry at GET https://www.agenid.com/v1/keys/<key-ulid> and expects the operator to publish a copy at /.well-known/agenid/keys.json on its own domain, so a verifier can compare the two (two-path key discovery).

Identity is not permission

A valid request signature shows who sent a request; a valid AgenID record shows which agent an operator declared. Neither, on its own, says what the agent is allowed to do. AgenID v1.1.1 defines no authorization object, so permission decisions stay with the merchant or service.

Where they are complementary

Request signing and identity records sit at different layers, so they can be used together. A merchant could verify a signed request under Web Bot Auth or the Trusted Agent Protocol and separately resolve the agent's AgenID identifier to see its operator and declared purpose. Neither specification currently defines a field that carries or references the other, so linking them would be an implementation choice by the parties involved, not a feature of either protocol.

When to use which

These are fit questions, not quality judgments.

  • Consider Web Bot Auth when a server needs to check, per request, that automated traffic comes from the holder of a published key.
  • Consider the Trusted Agent Protocol when you are a merchant or agent platform working within Visa's agentic commerce program.
  • Consider AgenID when a counterparty needs a permanent, operator-signed identity for a specific agent that it can re-verify offline, across channels that include voice, SMS and email as well as HTTP.

AgenID's current limits

AgenID's boundaries, stated as plainly as its design:

  • Issuance ceiling: the reference deployment at agenid.com issues nothing above L1_REGISTERED today. The specification defines L2_DOMAIN_VERIFIED, L3_ORGANIZATION_VERIFIED and L4_DEPLOYMENT_VERIFIED, but each requires a VerificationAssertion signed by a root authority key, and that key has not been created yet. L1_REGISTERED is a self-declaration: it means an operator-signed manifest is in the registry, not that anyone checked the operator. L5 is reserved and not issuable.
  • No revocation flow is deployed. Agent status values such as SUSPENDED and REVOKED exist in the schema so the envelope shape is stable, but nothing in production writes them, so every registered agent reads ACTIVE. The specification keeps retired and revoked keys resolvable permanently so that historical signatures remain checkable.
  • No authorization object exists in v1.1.1. The DECLARED, VERIFIED and AUTHORIZED claim states are never inferred from one another, AUTHORIZED has no signed object, and permissions and authorizations are reserved manifest keys that a v1.1.1 validator rejects. A v1.2 authorization layer is a draft in development, not something available.
  • Two-path key discovery depends on the operator. The registry serves the operator key at GET https://www.agenid.com/v1/keys/<key-ulid>, and the operator is expected to publish its own copy at https://<operator_domain>/.well-known/agenid/keys.json. If the operator publishes no copy, a verifier has one source, not two.

Frequently asked questions

Does AgenID sign HTTP requests like Web Bot Auth?

No. AgenID v1.1.1 signs a proof over an agent's manifest, not individual requests, and nothing in it binds a live HTTP request to a registered agent. Web Bot Auth and the Trusted Agent Protocol sign requests using HTTP Message Signatures.

Do they use the same signature algorithm?

They overlap. RFC 9421 includes EdDSA using Curve edwards25519, Cloudflare supports Ed25519 for Web Bot Auth, and AgenID uses pure Ed25519. The bytes signed are different: an HTTP signature base versus RFC 8785 canonical JSON.

Who is the agent in the Trusted Agent Protocol?

Visa's specification describes the agent as a certified AI platform onboarded by a payment scheme, acting on behalf of its account holders. In AgenID, the subject is an individual agent with an accountable operator.

Does a signed request mean the agent is allowed to buy something?

Not by itself. A signature shows who sent the request. What the agent is allowed to do is a separate decision for the merchant. AgenID v1.1.1 has no authorization object.

Can AgenID issue a verified level to a commerce agent today?

The reference deployment issues nothing above L1_REGISTERED today. Higher levels require an assertion signed by a root authority key, and that key has not been created yet.

Product names belong to their owners. This page is an independent, factual description based on public documentation as of 2026-09-23; it implies no partnership, endorsement or affiliation. Corrections are welcome via the spec repository.

What agenid.com issues today

The reference deployment at agenid.com issues DECLARED and L1_REGISTERED only. L2_DOMAIN_VERIFIED and higher require a VerificationAssertion signed by a root authority key, and that key has not been created yet. L5 is reserved by the specification and is not issuable at all.

Identity is not permission

Which agent is acting and who declared it is one question. What that agent is allowed to do is another, and it stays with the party on the other side and with the operator. Protocol v1.1.1 defines no signed authorization object.

Sources

  1. Visa Developer: Trusted Agent Protocol overview
  2. Visa Developer: Trusted Agent Protocol specifications
  3. GitHub: visa/trusted-agent-protocol
  4. Cloudflare Docs: Web Bot Auth
  5. RFC 9421: HTTP Message Signatures
  6. IETF Datatracker: draft-ietf-webbotauth-httpsig-protocol
  7. IETF Datatracker: Web Bot Auth (webbotauth) working group
  8. AgenID protocol specification (MIT)

Give your agent an identity

Register an agent in the browser — the signing key is generated on your device and never sent to AgenID — or resolve an existing AgenID and re-check its signature yourself.