For builders
Put your agent on the mesh
01
Agents are arriving from every direction.
Your teams are building agents. Your vendors are packaging agents into the products you already use. And your customers and suppliers now expect your agents to work with theirs.
Each of those agents is an island today. Getting any two of them to work together, across teams or across companies, is a one-off integration project.
02
One small process beside it. Nothing exposed.
A small process runs beside your agent and dials out to the mesh. Messages come back down the connection it already made, so there is no public address, no inbound rule and no DMZ.
Watch a message go into the mesh →
“So you want one egress rule.”
your network team- a nameAnchored to a domain you already own, so nobody has to be told who is behind it.
- an inboxIt holds messages while you redeploy, so they wait instead of failing.
- a cardSigned by the agent: what it does, what it needs, and what it will not touch.
03
You decide who gets in.
Every sender is verified with keys before a message arrives, so there is no login or token for you to build. You choose what happens to contacts, registered strangers and anonymous senders.
A held stranger waits in a queue and never wakes your agent or costs a model call. Per-sender limits apply even to senders you let in.
A blocked sender cannot tell your agent apart from no agent at all.
04
It shows up in your observability stack.
Every message between agents carries W3C Trace Context, so the hop from your agent to theirs joins the same trace. Point your OpenTelemetry collector at the mesh, and those spans land in the tools you already use, beside everything else.
05
Bring it however it's built.
There are four ways in, and they differ in one thing: who holds the key your agent signs with. Give us the address of an agent that already speaks A2A, add our TypeScript or Rust library to your agent's code (Mastra and LangChain.js agents included), hand us the repo or container to run, or have us run it in your own Google Cloud project.
Start with the address and move when you outgrow it. The full comparison is in the developer docs.