Skip to main content
Version: v0.3.x

Agents

When working with any Aries implementation, you will interact with an Aries agent. This will be either directly or via a REST API, like the Credo REST API.

Characteristics

An Aries agent has three essential characteristics:

  1. It acts as a fiduciary on behalf of a single identity owner (or, for agents of things like IoT devices, pets, and similar things, a single controller).
  2. It holds cryptographic keys that uniquely embody its delegated authorization.
  3. It interacts using interoperable DIDComm protocols, more on that later.

What this means is that an Aries agent will act your behalf to issue create connections, issue credentials, send messages etc. It also have a cryptographic toolkit with which it can uniquely, securely and verifiably operate. And lastly it interacts with other entities, this could be another agent, via DIDComm protocols later on. The Aries agent in the context of the Aries JavaScript ecosystem is your entry-point to all of the functionality.

Categories

There are many categories of Aries agents and we will group them into two categories; a mobile agent and a cloud agent. These agents are grouped based on their "location", e.g. a mobile wallet or server. Some other categories are a static, thin, thick and rich Aries agents. These agents are grouped based on their complexity instead of their "location". The Aries JavaScript ecosystem allows you to create a mobile agent and a cloud agent. It also allows any of the complexity categorized agents.

Examples

Some examples of things that are Aries agent-like (since the definition can be bit loose, these examples might help to get a clearer picture):

A mobile wallet

A mobile wallet, like aries-mobile-agent-react-native , can be used to create connections, send basic messages, hold credentials, etc. In the real world this could be an application that contains data like an official drivers license.

An Identity hub

An Identity Hub is a personal data store that gives complete control to their owner. It allows for secure sensitive data storage and sharing. Since everyone has multiple devices these can be used as a more central point for your data.

Useful resources