The Open Enterprise Agent is a software agent for building decentralised identity applications and services in line with W3C standards and Hyperledger Aries RFCs. Aiming to be blockchain agnostic and interoperable across two key technology ecosystems in Self Sovereign Identity (SSI), it provides a scalable, robust, performant and user-friendly platform for building solutions and products based on it. Its REST API enables easy integration with any programming language, on top of a core built in Scala, a language well suited for building fault-tolerant, highly concurrent systems.
The Open Enterprise Agent leverages the power of decentralized identity by supporting W3C standards, DIDComm v2, and Aries RFCs. It provides all the necessary features to ensure broad interoperability with SSI and web3 ecosystems. Notable high-level features of the Open Enterprise Agent include:
- Ability to develop controllers using the Open Enterprise Agent API to implement business logic tailored to specific use cases.
- Flexibility to develop controllers in any programming language.
- Written in Scala, a powerful, object-oriented language with functional programming language features that are highly scalable, based on JVM
- Support of did:prism, did:peer and other did-methods via a universal resolver
- Support of JWT-VCs and Anoncreds credential formats
- The Open Enterprise Node interfaces with the Cardano blockchain when required, ensuring high levels of security, scalability, and availability.
- The PRISM Open Enterprise Agent is designed as a cloudagent that can be accessed from anywhere.
In summary, the Open Enterprise Agent is a versatile and powerful software agent that provides a straightforward REST API for easy integration and supports industry-standard protocols, making it well-suited for a wide range of decentralized identity use cases.
The Open Enterprise Agent is a Java Virtual Machine (JVM)-based application written in Scala. It is built with and designed for JDK 11, thus requiring a JVM compatible with version 11 of the Java SE Platform.
The default build process packages the application inside a Docker container, which can be run on any physical or virtual host as well as in any container runtime environments that support Docker. This cross-platform build results in suitable images for both Linux and MacOS (linux/amd64 and linux/arm64).
The list of supported platforms is as follows:
- Container runtime environments that are Docker-compatible
- Physical or virtual hosts running a Docker environment and are one of the following:
- Any operating system that provides a compatible Java Virtual Machine (v11) [Note: By default, the application is not packaged or documented to be run in this way.]
- W3C JWT-VC
- Anoncreds (under implementation)
- Other did-methods to be verified via a universal resolver (planned)
- DIDCOMM V2
- Mediator Coordinator
- DIDComm V2 Messaging
- DIDComm V2 Issue Credential
- DIDComm V2 Present Proof
- DIDComm V2 Report Problem
- DIDComm V2 Routing Protocol
- Lance Byrd - (firstname.lastname@example.org) - Aries DIDCommV2 WG member
- Stephen Curran (email@example.com) - ACA-Py Maintainer, Aries RFC Maintainer
- Daniel Hardman - (firstname.lastname@example.org) - Former Lead of ToIP Trust Spanning Task Force, Contributor ToIP ACDC Task Force, Aries RFC Maintainer
- Darrell O’Donnell - (email@example.com) - Chair of ToIP Technology Stack WG, Chair of ToIP Technology Architecture Task Force & Lead of ToIP Trust Registry Task Force