Functionality in Veramo is added to the agent via the plugin system. Writing and configuring plugins is where almost all of the custom work will happen when building applications on Veramo. This makes Veramo extremely versatile and modular. Your custom plugins can just live in a directory, private repository or on npm where they can be shared with others. We encourage developers to follow some best practices when writing plugins to ensure we have an ecosystem of highly interoperable functions.

Capability Tags

Plugins can have many capabilities. In Veramo we have a tagging system that describes what a plugin can do. The capability tags are as follows:


A common API for an identity manager. You extend this by adding providers.


A specific identity provider implementation.


A common API for managing keys. You extend this by adding key management systems.


A specific implementation of a KMS.


A common API for handling messages.


A common API for data storage.


Common API for handling actions


Adds additional functionality to agent outside the core classes.