--- tags: AFJ --- # AFJ Feature Overview > The below contribution is a joint effort between Northern Block and Animo. ## Platform Support | Platform | Supported | Notes | | -------- | --------- | ------------------------------------- | | iOS | ✅ | Runs in React Native | | Android | ✅ | Runs in React Native | | Server | ✅ | Runs in Node.JS | | Desktop | ⚠️ | Runs in Electron (still WIP) | | Browser | ❌ | Indy cannot run in browser due to ZMQ | ## Agent Types | Role | Supported | Notes | | -------- | --------- | --------------------------------------------- | | Issuer | ⚠️ | Only in Node.JS, doesn't work in React Native | | Holder | ✅ | | | Verifier | ✅ | | | Mediator | ✅ | Supports both mediator and mediatee role | ## AIP Support | AIP Version | Supported | Notes | | ----------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | | AIP 1.0 | ⚠️ | Missing support for issuing revocable indy credentials | | AIP 2.0 | 🚧 | Implementation in progress | ## Credential Types | Credential Type | Supported | Notes | | ---------------- | --------- | ----- | | Indy Credentials | ✅ | | | W3C Credentials | 🚧 | | ## DID Methods | Method | Supported | Notes | | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `did:sov` | ⚠️ | `did:sov` DIDs are supported for indy credential based actions, not as generic did capabilities. Using public DIDs for creating connections is not supported. | | `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 | 🚧 | | ## Miscellaneous Features | Feature | Supported | Note | | ----------------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | Connectionless (non OOB protocol) | ✅ | Only for issue credential starting with credential offer and present proof starting with proof request | | Multi use invitations | ✅ | | | Multi ledger support (with automatic detection) | ✅ | [Github Issue](https://github.com/hyperledger/aries-framework-javascript/issues/395) | | Invitations using public did | ❌ | [Github Issue](https://github.com/hyperledger/aries-framework-javascript/issues/84) | | Persistence of mediated messages | ❌ | Messages are currently stored in memory ([Github Issue](https://github.com/hyperledger/aries-framework-javascript/issues/472)) | | Implicit pickup of messages in role of mediator | ❌ | Only support explicit pickup of message using pickup protocol ([Github Issue](https://github.com/hyperledger/aries-framework-javascript/issues/378)) | | Revocable Indy Credential | ⚠️ | Only receiving, providing and verifying. Issuing not supported | | Wallet Import & Export | ✅ | [Github Issue](https://github.com/hyperledger/aries-framework-javascript/issues/175) | | Multitenancy | 🚧 | | | Postgres wallet support | ✅ | | ## 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) | ✅ | Signed attachments not supported | | [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) | ✅ | | | [0023-did-exchange](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0023-did-exchange) | ✅ | | | [0025-didcomm-transports](https://github.com/hyperledger/aries-rfcs/tree/b490ebe492985e1be9804fc0763119238b2e51ab/features/0025-didcomm-transports) | ✅ | Support for HTTP and WebSockets | | [0035-report-problem](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0035-report-problem) | ✅ | | | [0036-issue-credential](https://github.com/hyperledger/aries-rfcs/tree/bb42a6c35e0d5543718fb36dd099551ab192f7b0/features/0036-issue-credential) | ⚠️ | Issuing revocable credentials not supported | | [0037-present-proof](https://github.com/hyperledger/aries-rfcs/tree/4fae574c03f9f1013db30bf2c0c676b1122f7149/features/0037-present-proof) | ✅ | Revocation not supported. | | [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 | | [0183-revocation-notification](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0183-revocation-notification) | ✅ | | | [0360-use-did-key](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0360-use-did-key) | ⚠️ | Not integrated by all protocols yet | | [0434-outofband](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0434-outofband) | ✅ | | | [0441-present-proof-best-practices](https://github.com/hyperledger/aries-rfcs/tree/910d79aa72a9e656f0003b4eab5d49549cca361e/concepts/0441-present-proof-best-practices) | ✅ | | | [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) | 🚧 | | | [0510-dif-pres-exch-attach](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0510-dif-pres-exch-attach) | 🚧 | | | [0519-goal-codes](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/concepts/0519-goal-codes) | ❌ | | | [0557-discover-features-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0557-discover-features-v2) | ❌ | | | [0587-encryption-envelope-v2](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0587-encryption-envelope-**v2**) | ❌ | | | [0592-indy-attachments](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0592-indy-attachments) | ⚠️ | Supported for Issue Credential v1 & v2 and Present Proof v1, not v2 | | [0593-json-ld-cred-attach](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0593-json-ld-cred-attach) | 🚧 | | | [0627-static-peer-dids](https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0627-static-peer-dids) | ✅ | | | [0646-bbs-credentials](https://github.com/hyperledger/aries-rfcs/blob/master/features/0646-bbs-credentials/README.md) | 🚧 | | | [0317-please-ack](https://github.com/hyperledger/aries-rfcs/tree/main/features/0317-please-ack) | ✅ | | ## Non AIP supported RFCs | RFC | Supported | Note | | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---- | | [0028-introduce](https://github.com/hyperledger/aries-rfcs/blob/main/features/0028-introduce/README.md) | ❌ | | | [0031-discover-features](https://github.com/hyperledger/aries-rfcs/blob/main/features/0031-discover-features/README.md) | ✅ | V1 | | [0212-pickup](https://github.com/hyperledger/aries-rfcs/blob/main/features/0212-pickup/README.md) | ✅ | | | [0509-action-menu](https://github.com/hyperledger/aries-rfcs/blob/main/features/0509-action-menu/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) | ✅ | |