---
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) | ❌ | |