--- tags: AFJ --- # ACA-Py Feature Overview > The below contribution is a joint effort between Northern Block and Animo. ## Platform Support | Platform | Supported | Notes | | -------- | --------- | ----------------------------------------------- | | Server | ✅ | | | Desktop | ⚠️ | Could be run as a local service on the computer | | iOS | ❌ | | | Android | ❌ | | | Browser | ❌ | | ## Agent Types | Role | Supported | Notes | | -------- | --------- | ---------------------------------------- | | Issuer | ✅ | | | Holder | ✅ | | | Verifier | ✅ | | | Mediator | ✅ | Doesn't support the pickup protocol, so only supports implicit pickup of messages. | | Mediatee | ⚠️ | Doesn't support pickup of messages, but can still be used to coordinate with a mediator to forward messages. (e.g. when I as an individual host my own cloud server and want to use herd privacy so I can't be tracked) | | Transaction Author | ✅ | | | Transaction Endorser | ✅ ## AIP Support | AIP Version | Supported | Notes | | ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | AIP 1.0 | ✅ | | | AIP 2.0 | ⚠️ | Missing support for [0183: Revocation Notification](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0183-revocation-notification), [0557: Discover Features v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0557-discover-features-v2) and [0627: Static Peer DIDs](https://github.com/hyperledger/aries-rfcs/tree/4739fbf6de07a54c3fee072bd85741422730b3cd/features/0627-static-peer-dids). Also needs to fix some additional AIP1 -> AIP2 interop issues ([AIP-2 base64url consistency](https://github.com/hyperledger/aries-cloudagent-python/pull/1188) and [Small AIP-2 updates](https://github.com/hyperledger/aries-cloudagent-python/pull/1056)) | ## Credential Types | Credential Type | Supported | Notes | | --- | -- | -- | | Indy Credentials | ✅ | | | W3C Credentials | ✅ | Only JSON-LD Credentials supported with signature suites `Ed25519Signature2018`, `BbsBlsSignature2020` and `BbsBlsSignatureProof2020` | ## DID Methods | Method | Supported | Notes | | --- | -- | -- | | `did:sov` | ✅ | | | `did:web` | ⚠️ | Can only resolve `did:web`, not create it | | `did:key` | ✅ | | | `did:peer` | ⚠️| Indy based `did:peer` dids are used for DIDComm, however the DIDs are not prefixed with `did:peer` yet and are not following the conventions from [RFC 0627: Static Peer DIDs](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0627-static-peer-dids) | ## Wallet Types | Wallet types | Supported | Notes | | -- | -- | -- | | Indy SDK | ✅ | Indy SDK provides storage, crypto, indy credentials and indy ledger support | | Aries Askar | ⚠️ | Askar provides storages and crypto support. Released but not fully stable yet. Other Indy features are now handled by Indy CredX and Indy VDR | ## Miscellaneous Features | Feature | Supported | Note | | ----------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------- | | Multi use invitations | ✅ | | | Invitations using public did | ✅ | | | Implicit pickup of messages in role of mediator | ✅ | | | Revocable Indy Credentials | ✅ | | | Multitenancy | ✅ | [Documentation](https://github.com/hyperledger/aries-cloudagent-python/blob/main/Multitenancy.md) | | Connectionless (non OOB protocol) | ✅ | Only for issue credential and present proof | | Signed Attachments | ✅ | needed for OOB | | Multi ledger support (with automatic detection) | 🚧 | [Pull Request](https://github.com/hyperledger/aries-cloudagent-python/pull/1425) | | Persistence of mediated messages | ❌ | Messages are currently stored in memory | | Wallet Import & Export | ⚠️ | Supported in indy-sdk by directly interacting with the indy-sdk. No endpoint availalbe for wallet import & export. Aries Askar doesn't support import & export yet. | ## Supported RFCs (AIP 1.0 and 2.0) | RFC | Supported | Note | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------- | | [0003-protocols](https://github.com/hyperledger/aries-rfcs/tree/9b7ab9814f2e7d1108f74aca6f3d2e5d62899473/concepts/0003-protocols) | ✅ | | | [0004-agents](https://github.com/hyperledger/aries-rfcs/tree/f1e420f76abd9ff4af5c15d375fa6cf8c2cacb33/concepts/0004-agents) | ✅ | | | [0005-didcomm](https://github.com/hyperledger/aries-rfcs/tree/f1e420f76abd9ff4af5c15d375fa6cf8c2cacb33/concepts/0005-didcomm) | ✅ | | | [0008-message-id-and-threading](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0008-message-id-and-threading) | ✅ | | | [0011-decorators](https://github.com/hyperledger/aries-rfcs/tree/965a975f953d72e370d2b6fb28eec538ec756c6d/concepts/0011-decorators) | ✅ | | | [0015-acks](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0015-acks) | ✅ | | | [0017-attachments](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0017-attachments) | ✅ | | | [0019-encryption-envelope](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0019-encryption-envelope) | ✅ | | | [0020-message-types](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0020-message-types) | ✅ | | | [0025-didcomm-transports](https://github.com/hyperledger/aries-rfcs/tree/b490ebe492985e1be9804fc0763119238b2e51ab/features/0025-didcomm-transports) | ✅ | Support for HTTP and WebSockets | | [0044-didcomm-file-and-mime-types](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0044-didcomm-file-and-mime-types) | ✅ | | | [0047-json-LD-compatibility](https://github.com/hyperledger/aries-rfcs/tree/53c2e7accc8394c9c7b09563c0eec3c564c133c6/concepts/0047-json-ld-compatibility) | ✅ | | | [0046-mediators-and-relays](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0046-mediators-and-relays) | ✅ | | | [0048-trust-ping](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0048-trust-ping) | ✅ | | | [0050-wallets](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0050-wallets) | ✅ | | | [0056-service-decorator](https://github.com/hyperledger/aries-rfcs/tree/527849ec3aa2a8fd47a7bb6c57f918ff8bcb5e8c/features/0056-service-decorator) | ✅ | | | [0092-transport-return-route](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0092-transport-return-route) | ✅ | | | [0094-cross-domain messaging](https://github.com/hyperledger/aries-rfcs/tree/64e5e55c123b2efaf38f4b0911a71a1c40a7f29d/concepts/0094-cross-domain-messaging) | ✅ | | | [0095-basic-message](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0095-basic-message) | ✅ | | | [0160-connection-protocol](https://github.com/hyperledger/aries-rfcs/tree/9b0aaa39df7e8bd434126c4b33c097aae78d65bf/features/0160-connection-protocol) | ✅ | | | [0211-route-coordination](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0211-route-coordination) | ⚠️ | Only pre-AIP 2.0 version. Must be updated to use `did:key` for AIP 2.0 support | | [0036-issue-credential](https://github.com/hyperledger/aries-rfcs/tree/bb42a6c35e0d5543718fb36dd099551ab192f7b0/features/0036-issue-credential) | ✅ | | | [0037-present-proof](https://github.com/hyperledger/aries-rfcs/tree/4fae574c03f9f1013db30bf2c0c676b1122f7149/features/0037-present-proof) | ✅ | | | [0592-indy-attachments](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0592-indy-attachments) | ✅ | | | [0023-did-exchange](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0023-did-exchange) | ✅ | Not using DIDDoc conventions yet, still using DID format of 0160-connections (which is incorrect and outdated). Also using incorrect format for `did:peer` (or not using a `did:` prefix at all) | | [0035-report-problem](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0035-report-problem) | ✅ | | | [0593-json-ld-cred-attach](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0593-json-ld-cred-attach) | ✅ | | | [0510-dif-pres-exch-attach](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0510-dif-pres-exch-attach) | ✅ | | | [0646-bbs-credentials](https://github.com/hyperledger/aries-rfcs/blob/master/features/0646-bbs-credentials/README.md) | ✅ | | | [0587-encryption-envelope-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0587-encryption-envelope-**v2**) | 🚧 | [PR](https://github.com/hyperledger/aries-cloudagent-python/pull/1331) | | [0360-use-did-key](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0360-use-did-key) | ⚠️ | Creating and resolving `did:key` dids is supported, but not all protocols are updated yet to use `did:key`. This is a breaking change for AIP 1.0 -> AIP 2.0. | | [0434-outofband](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0434-outofband) | ✅ | | | [0453-issue-credential-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0453-issue-credential-v2) | ✅ | | | [0454-present-proof-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0454-present-proof-v2) | ✅ | | | [0519-goal-codes](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/concepts/0519-goal-codes) | ✅ | | | [0441-present-proof-best-practices](https://github.com/hyperledger/aries-rfcs/tree/910d79aa72a9e656f0003b4eab5d49549cca361e/concepts/0441-present-proof-best-practices) | ✅ | | | [0183-revocation-notification](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0183-revocation-notification) | ❌ | | | [0557-discover-features-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0557-discover-features-v2) | ❌ | | | [0627-static-peer-dids](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0627-static-peer-dids) | ❌ | | | [0317-please-ack](https://github.com/hyperledger/aries-rfcs/tree/main/features/0317-please-ack) | ❌ | | ## Non AIP supported RFCs | RFC | Supported | Note | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---- | | [0031-discover-features](https://github.com/hyperledger/aries-rfcs/blob/main/features/0031-discover-features/README.md) | ✅ | V1 | | [0028-introduce](https://github.com/hyperledger/aries-rfcs/blob/main/features/0028-introduce/README.md) | ✅ | | | [00509-action-menu](https://github.com/hyperledger/aries-rfcs/blob/main/features/0509-action-menu/README.md) | ✅ | | | [0212-pickup](https://github.com/hyperledger/aries-rfcs/blob/main/features/0212-pickup/README.md) | ❌ | | | [0641-linking-binary-objects-to-credentials](https://github.com/hyperledger/aries-rfcs/blob/main/features/0641-linking-binary-objects-to-credentials/README.md) | ❌ | |