to repo

New location: aries-rfcs/concepts/0021-didcomm-message-anatomys

0017: Agent Message Structure


  • Status: SUPERSEDED
  • Status Date: (date of first submission or last status change)
  • Status Note: (explanation of current status; if adopted, links to impls or derivative ideas; if superseded, link to replacement)


This HIPE describes Agent Messages, the messages exchanged between agents via “wire” messages.


Establishing an agent message structure for interoperability.


Agent Messages

Agent messages are the messages sent between agents through wire messages.


The following json-like object is a representation of the proposed agent message structure before being packaged and sent over the transport layer or after it is received through the transport layer and unpackaged. However, using json for messages is not necessarily part of this proposal.

  "@type": "message_type",
  <other attributes as specified by type>
  • The @type attribute is the only attribute required and is a type string as outlined by 0021: Message Types. The value of type string must be a recognized type as defined by future HIPEs for message families. Additionally, the type attribute must always be visible after unpacking the message from the transport layer.
  • All other attributes used in messaging are dictated by the message type following the guidelines given in 0021: Message Types



Up to this point, no drawbacks for this agent message structure have been identified.

Rationale and alternatives

At this point, just having a message structure outlined will continue to facilitate development of agents. By introducing this structure, necessary modifications will hopefully come to light as agent development continues.

Prior art

  • The structure formerly proposed included an id and generic content attributes in addition to the type attribute described as required here.