Agent Architecture
ACA-Py Agent Structure
The platform uses a multi-agent architecture built on Hyperledger Aries Cloud Agent Python (ACA-Py) 1.1.1. Each agent operates independently and communicates via the DIDComm protocol.
Agent Components:
- Admin API: REST interface for agent management
- HTTP Endpoint: DIDComm messaging endpoint
- Wallet: Secure storage for cryptographic keys and credentials
- Protocol Handlers: DIDComm protocol processors
Agent Roles
| Agent | Role | Port | Responsibilities |
|---|---|---|---|
| Issuer | Issuer | 8020/8021 | Schema creation, Credential issuance |
| Holder | Holder | 8030/8031 | Credential storage, Proof presentation |
| Mediator | Router | 3000/3001 | Message routing, Offline support |
DID Types and Usage
| DID Method | Usage | Features | Storage |
|---|---|---|---|
| did:peer:2 | Private P2P connections | Not recorded on ledger, only parties know, unique per connection | Local Wallet |
| did:sov | Public DID, Schema, CredDef | Recorded on ledger, anyone can resolve, proves issuer identity | Indy Ledger + Wallet |
DID Selection
- Connection establishment: Use
did:peer:2(privacy) - Publishing Schema/CredDef: Use
did:sov(public access)
Protocol Support
| Protocol | Version | Usage |
|---|---|---|
| DIDComm | v2 | Agent-to-agent messaging |
| Issue Credential | v2.0 | Credential issuance |
| Present Proof | v2.0 | Proof presentation |
| Connections | v1.0 | Connection establishment |
| Out-of-Band | v1.1 | OOB invitations |
Wallet Structure
Aries Askar is the wallet implementation that securely stores all sensitive data of agents. All data is encrypted with AES-256 and Argon2id is used for key derivation.
| Stored Data | Description |
|---|---|
| Keys | Ed25519 (signing), X25519 (encryption) key pairs |
| DIDs | did:peer and did:sov records |
| Credentials | Received credentials and metadata |
| Connections | Active connection information and states |
| Proofs | Proof exchange records |