> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# A2A Handshake

**Used in:** §6.10 A2A Protocol Support
**Audience:** Agent Operator
**IA ID:** D13

```mermaid
sequenceDiagram
  autonumber
  participant AgentA
  participant AgentB
  participant DiscoveryB as B's host /.well-known/agent.json
  participant API as IDA API (trust)
  participant AgentTrustRegistry

  AgentA->>DiscoveryB: GET /.well-known/agent.json
  DiscoveryB-->>AgentA: agent card (did, endpoints, capabilities)
  AgentA->>API: GET /agents/{didB}
  API->>AgentTrustRegistry: getTrustScore(didB)
  AgentTrustRegistry-->>API: score
  API-->>AgentA: agent profile + score
  AgentA->>AgentB: A2A invitation { from=didA, ibctA }
  AgentB->>API: verify-delegation(ibctA)
  API-->>AgentB: ok
  AgentB-->>AgentA: A2A accept { ibctB }
  AgentA->>AgentB: A2A message (DIDComm-packed)
  AgentB-->>AgentA: A2A response
```

**Reading guide:** Both sides verify each other's IBCT before exchanging payloads. The trust score is a soft signal that the agent runtime can use to enforce its own thresholds.

***