a2a cloud
architecture

An AI agent deployment platform, end to end.

a2a cloud is a closed loop: callers hit a protocol edge, the runtime executes against scoped grants, the control plane mints + verifies + records, durable stores keep the proof. Same primitives across every agent.

a2a cloud · platform architecture
live
untrusted
callers
browser / SPA
user session
MCP client
Claude · Cursor · …
A2A peer
agent → agent
HTTP API
curl · script · webhook
request
edge
protocol surface
/app
packed frontend
/mcp
Model Context Protocol
/tasks · /sse
A2A · streaming
AgentCard · /invoke
discovery · REST
route
managed
agent runtime
service identity
per-agent svc account
grant verifier
Ed25519 · audience · ttl
sandbox
fs / net jail · seccomp
workspace client
scoped files only
tool dispatch
@a2a.tool → endpoint + MCP tool
SSE bus
progress · artifacts · q&a
verify · mint · log
platform
control plane
auth
OAuth/OIDC · sessions
registry
agents · cards · versions
deploys
package · build · release
grants
mint · sign · revoke
approvals
scope expand · review
billing
usage ledger · per-call
persist
durable
storage + ops
workspace store
object · versioned
receipts ledger
content-addressed
OCI registry
agent images
audit log
tamper-evident
metrics + traces
OpenTelemetry
closed loop

Agent API, public /invoke, and standard MCP tools/call executions are signed and persisted by trusted control-plane paths.

single identity

Agent identity stays stable; caller assurance follows the Agent API or gateway sealing path.

durable trail

Receipts + audit log persist independent of the agent image.

5 planes·26 subsystems·1 protocol surfaceread top → bottom · planes own each other below them
service identitygrant verifiersandboxworkspace clienttool dispatchSSE busA2AMCPOCIOAuth 2.1structured eventssigned receipts
production topology

Real deployment, real services.

The actual service map a CTO would see in a runbook. Every node is a directory in this repo; every edge is a call path the runtime makes today.

  1. A2A peer · MCP client
    browser · agent · Claude/Cursor
    external
  2. dashboard
    operator UI · receipts viewer
    apps/dashboard
  3. control-plane
    auth · registry · grants · deploys
    apps/control-plane
  4. gitea
    agent source · OCI build
    runtime-infra/gitea.yaml
  5. AgentCard
    /.well-known/agent-card.json
    a2a_pack/card.py
  6. agent runtime
    /tasks · /mcp · /invoke · SSE
    a2a_pack/serve
  7. sandbox-runtime
    microsandbox · FUSE · seccomp
    apps/sandbox-runtime
  8. workspace store
    MinIO · scoped buckets
    a2a_pack/workspace.py
  9. receipts ledger
    Ed25519-signed · postgres
    a2a_pack/receipts.py
  • control-plane · apps/control-plane
  • agent runtime · apps/a2a/a2a_pack/serve
  • sandbox-runtime · apps/sandbox-runtime
  • receipts ledger · a2a_pack/receipts.py
  • dashboard · apps/dashboard

What you'd actually deploy. Real services, real call paths, real audit surface.

deploy flow

Vercel-shaped DX. Production-shaped ops.

Developer gets one command. Platform team gets a reproducible release path, service identity, runtime boundary, protocol surface, health trail.

a2a deploy
>
  1. 01a2a deploy packages source and metadata.
  2. 02Control plane builds and releases the agent service.
  3. 03Packed frontend (if present) is built and mounted at /app.
  4. 04Identity, permissions, docs, protocol endpoints generated.
  5. 05Managed runtime exposes the agent through A2A, MCP, HTTPS.
  6. 06Runs on the API, MCP, and /invoke entry points, evaluations, artifacts, and distribution metadata create distinct records.
control plane

Six subsystems. One backend.

The control plane is what makes the runtime trustworthy. Each subsystem owns a narrow slice and emits a structured event trail. No subsystem talks to agent code directly — they talk to the runtime.

auth
owns · users · orgs · sessions · tokens
emits · audit · token-rotation
registry
owns · agents · cards · versions · visibility
emits · AgentCard hash · discovery
deploys
owns · build · OCI image · release
emits · release events · image SBOM
grants
owns · mint · sign · revoke · rotation
emits · grant manifests · audit
approvals
owns · scope expansion · human review
emits · approval events · reviewer id
billing
owns · usage ledger · pricing · invoices
emits · per-call rows · payouts
runtime internals

What's inside the agent process.

Each deployed agent runs a small set of runtime components wrapping user code. The shape is the same for every agent — so security guarantees don't depend on what the developer remembered to wire up.

service identity

Per-agent registry and deployment identity. Caller identity or conservative ingress classification is recorded on receipts.

grant verifier

Ed25519, audience, expiry, bucket, path, and output-prefix checks on grant-backed workspace operations.

sandbox

Explicit ctx.sandbox commands run in a separate microsandbox. Network is enabled unless the caller requests network_disabled.

workspace client

Grant-aware access to managed workspace storage. Hosted containers retain their own image and local filesystem.

tool dispatch

@a2a.tool decorator → REST endpoint + MCP tool + AgentCard entry. One source of truth.

SSE bus

Streams progress, result, question-required, and status events. Replay history is a separate record, not an automatic copy of every internal event.

user code lives above the runtime · grants + sandbox live below it · workspace + control plane live beyond it
protocol surface

Every URL the runtime exposes.

One agent. Many speakers. Each endpoint is the same logical surface in a different protocol. The runtime owns routing, auth, and grant verification at every entry point.

pathspeakerreturnsauth
/.well-known/agent-card.jsondiscovery · registries · MCP gatewaysAgentCard JSONpublic
/tasksA2A peer · planner agenttask id · 202 · SSE linkbearer · service
/tasks/{id}A2A peertask state · artifactsbearer · service
/sse/{task}A2A peer · /appstream: events · artifactsbearer · service
/mcpClaude Code · Cursor · MCP clientstools/list · tools/call + gateway evidencebearer · grant · external
/invoke/{skill}curl · webhook · scriptsresult JSON or SSE + gateway evidencebearer · grant · external
/appbrowserpacked React appsession · inherit
/app/config.jsonbrowser · /appendpoints · schemassession
/auth/sessionbrowseruser · org · scopessession
/runs/{id}/receiptdashboard · auditorreceipt JSONowner · approver
observability

What each subsystem can record.

Execution evidence, protocol state, workspace traces, approval records, evaluations, and billing rows have distinct producers and consumers. Optional activity fields are not presented as though every sealing path populates them.

triggeremitsconsumed by
task acceptedaudit event · run_id · grant_idaudit log · dashboard
file readworkspace result or trace · path policyworkspace history · optional instrumentation
file writtenworkspace result or trace · prefix checkworkspace history · optional instrumentation
tool progressSSE event · stage · % · message/app · A2A peer · MCP
scope requestapproval event · requested paths · reasonapprover inbox · audit
scope grantedgrant record · prior and new authoritygrant audit · later receipt reference
task completeprotocol result · task statusA2A task history
eval scoredrubric · score · failureseval record · registry stats
review recordedreviewer id · timestamp · notesreview history · compliance export
receipt sealedcanonical payload · signer · signatureevidence API · auditor · optional ledger link
open standards

Built on protocols, not lock-in.

Every callable surface is an open standard. Agents that work here work on other A2A and MCP runtimes — and other A2A and MCP services work here.

A2A (Agent2Agent)
aligned
tasks · messages · artifacts · cards · streaming

Open protocol surface for agent discovery and task state; formal routes remain distinct from skill-execution receipts.

MCP (Model Context Protocol)
aligned
tools · resources · prompts

Every agent tool is also an MCP tool. Use any deployed agent from any MCP client.

OCI
aligned
agent images · registry

Agents ship as standard OCI images. Compatible with any conformant registry.

OpenAPI / JSON Schema
aligned
tool IO · AgentCard schemas

Tool signatures become JSON Schema; clients can codegen.

OAuth 2.1 / OIDC
aligned
user auth · service identity

Standard token model. No bespoke session formats.

HTTP + SSE
aligned
request/response · streaming progress

Standard transports expose results and progress without claiming a built-in OpenTelemetry exporter.

mental model

If you know these, you know this.

a2a cloud borrows shape from infra you already trust — and points it at agents instead of containers, payments, or web workers.

Vercel
like · git push → live URL
here · but for agents, with grants + receipts
Stripe
like · primitives that compose · per-call ledger
here · but the actor is software, not a card
Cloudflare
like · everything behind one runtime edge
here · but the workload is an agent, not a worker
Kubernetes
like · scheduling + identity + secrets
here · but agent-shaped, not container-shaped
deeper

Want to see the rest of the surface?

Architecture pages describe the runtime. Workflows pages describe what teams ship on it. Security explains the trust model. Pick the lens that matches your question.