> 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.

# Smart-Contract Registry Interaction Map

**Used in:** §11.7 Interfaces & Inheritance, §11.x cross-registry
**Audience:** SC Developer, Backend Developer
**IA ID:** D21

```mermaid
graph TD
  classDef api fill:#dcfce7,stroke:#15803d
  classDef contract fill:#ede9fe,stroke:#6d28d9
  classDef iface fill:#dbeafe,stroke:#1d4ed8

  API["IDA API (pkg/blockchain)"]:::api

  IDIDR["IDIDRegistry"]:::iface --> DIDR["DIDRegistry"]:::contract
  ISchR["ISchemaRegistry"]:::iface --> SchR["SchemaRegistry"]:::contract
  IRevR["IRevocationRegistry"]:::iface --> RevR["RevocationRegistry"]:::contract
  IAgtR["IAgentTrustRegistry"]:::iface --> AgtR["AgentTrustRegistry"]:::contract
  IZKR["IZKProofVerifier"]:::iface --> ZKR["ZKProofVerifier"]:::contract

  API --> IDIDR
  API --> ISchR
  API --> IRevR
  API --> IAgtR
  API --> IZKR

  DIDR -. "owner address checked by" .-> SchR
  DIDR -. "issuer DID anchor" .-> RevR
  DIDR -. "agent DID owner" .-> AgtR
  DIDR -. "prover DID lookup" .-> ZKR
```

**Reading guide:** All registries derive trust from the DIDRegistry (the single source of "who owns this DID"). Each contract implements its `I<Name>` interface; the API binds against interfaces only.

***