Skip to main content

Protocols

The agent protocols Datalayer targets, one spec each under agentspecs/protocols/. An agent spec or an application lists the ones it speaks in protocols; an application may not list a planned one, and its pap, pact, signed_fetch and a2a blocks are refused unless their protocol is listed.

ProtocolIdLayerPublisherVersion implementedStatusConnects toAppspec block
Agent2Agenta2atransportGoogle, now the Linux Foundation1.0shippedOther agents, each at its address with its Agent Carda2a
Model Context ProtocolmcptransportAnthropic2026-07-28 (Python), 2025-11-25 (TypeScript)shippedTools, resources and prompts served by MCP servers
Personal Agent Consent & TrustpactconsentDecagon, Instinct1.0shippedBusinesses' agents, asked for a person with their delegationpact
Personal Agent ProtocolpapconsentSierra, Metadraft 0.3shippedCompanies, as a person's agent there, or being onepap
Trusted Agent ProtocoltapidentityVisadraft (Merchant Specifications, read 2026-10-13)shippedMerchants that recognise an agent by its signature
Web Bot Authweb-bot-authidentityCloudflare (IETF draft)draft-ietf-webbotauth-httpsig-protocol-00shippedWebsites, which can tell the application's requests from someone pretendingsigned_fetch
Agentic Commerce ProtocolacpcommerceOpenAI, Stripe2026-04-17shippedSellers, to check out with a delegated payment
Universal Commerce ProtocolucpcommerceGoogle, with Shopify and retailers2026-08-25shippedMerchants, to search, check out and follow orders
A2UIa2uiuiGoogle0.9shippedThe person, through components an answer draws
AG-UIag-uiuiCopilotKit0.0.57 (@ag-ui/core)shippedThe page a person talks to the agent on

Each protocolโ€‹

Agent2Agent (a2a)โ€‹

How agents talk to agents: teams and scenes talk over it, an application's route serves it, and its Agent Card advertises its extensions.

  • Python: fasta2a, a2a-sdk
  • TypeScript: @a2a-js/sdk

A2UI (a2ui)โ€‹

How an agent's answer becomes an interface: components the host renders from a declarative surface.

  • Python: agent-runtimes
  • TypeScript: @a2ui/react, @a2ui/web_core

Agentic Commerce Protocol (acp)โ€‹

Checkout sessions at a seller, completed with a payment the model never sees. In applications at test merchants only, with no real payment token (decided 2026-10-13): each purchase asked of the person first, made at most once.

  • Python: agent-runtimes
  • TypeScript: @datalayer/agent-runtimes
  • Its tools' action classes: protocol-tools/agentic-commerce.yaml

AG-UI (ag-ui)โ€‹

How an agent streams its run to a page: messages, tool calls and state as events.

  • Python: ag-ui-protocol
  • TypeScript: @ag-ui/client, @ag-ui/core

Model Context Protocol (mcp)โ€‹

How an agent calls tools and reads resources: clients and servers in both languages, and the MCP gateway every connection goes through.

  • Python: mcp
  • TypeScript: @modelcontextprotocol/sdk, @mcp-ui/client

A personal agent asking a business's agent over A2A, first as itself, then for a person who delegated some of their permissions.

  • Python: agent-runtimes
  • TypeScript: @datalayer/agent-runtimes
  • Its tools' action classes: protocol-tools/pact.yaml

Personal Agent Protocol (pap)โ€‹

A person's agent working with a company for them โ€” signed out, then signed in at the company, its changes confirmed by the person โ€” and an application being a company personal agents reach.

  • Python: personal-agent-protocol
  • TypeScript: @datalayer/personal-agent-protocol
  • Its tools' action classes: protocol-tools/pap.yaml

Trusted Agent Protocol (tap)โ€‹

An agent-recognition profile over Web Bot Auth for merchants: a signature tagged agent-browser-auth to browse or agent-payer-auth to pay. Still a draft profile, built from Visa's public Merchant Specifications (2026-10-13) until Visa confirms it. In applications at test merchants only (decided 2026-10-14): the MCP gateway signs each UCP or ACP purchase with agent-payer-auth under the application's own key, and the test merchants verify it; browsing stays Web Bot Auth.

  • Python: agent-runtimes
  • TypeScript: @datalayer/agent-runtimes, http-message-sig

Universal Commerce Protocol (ucp)โ€‹

Shopping at a merchant: catalogue, checkout and orders, every purchase an exact proposal the person approves. In applications at test merchants only, with no real payment (decided 2026-10-13): each purchase asked of the person first, made at most once.

  • Python: ucp-sdk, agent-runtimes
  • TypeScript: @ucp-js/sdk, @datalayer/agent-runtimes
  • Its tools' action classes: protocol-tools/ucp.yaml

Web Bot Auth (web-bot-auth)โ€‹

Signed outbound requests (RFC 9421) and the key directory a website checks them against. In applications, every request to a company, business or merchant is signed, and a signed fetch reads pages at the sites an application names, GET only (decided 2026-10-13).

  • Python: agent-runtimes
  • TypeScript: @datalayer/agent-runtimes, web-bot-auth
  • Its tools' action classes: protocol-tools/signed-fetch.yaml