Agent Use Case: Retailer / Shopping Mall


As Agents are the ‘last mile’ of Distributed / Self-sovereign Identity, it is worth discussing Use cases to drive technical conversation.

What use cases / user stories do you have in mind?


Customer - Retailer

A customer enters a voluntary relationship with a retailer. They exchange DIDs, facilitated by phone app/register interaction.

Customer gets:

  • ability to search retailer inventory
  • Can query operating hours, (Not just Tuesday, but a specific Tuesday)
  • Ability to mute communications or process them automatically.
  • Access to purchase receipts.

Retailer Gets:

  • Ability to message user re: purchases, recalls, etc.
  • Access to customer’s ‘wish list’


I’d also like to include showing the flow of monetary assets in these cases, as well as try to find the unique value that Sovrin provides to the table. The first thing the companies will ask of a use case is, “Why Sovrin, we can already do this ourselves”. So, they need to be shown additional value than just data sharing.

I’ll try to hit up couple examples.


This is an example that I usually use to describe the Sovrin ecosystem with multiple parties:

Story: An individual drives into a shopping mall’s parking garage, where his/her registry plate is scanned and queried automatically from a vehicle registry. The individual in the car is then pinged by the car’s HUD, asking if the shopping mall can fetch his purchase preferences, wish list, and follow their path inside shopping mall, etc. As a reward, the individual gets a VIP parking spot, as well as special offers for various stores in the mall.


  • receives offers & a better parking spot
  • Individual’s agent may receive transaction compensation (?)

Vehicle registry

  • gets paid for the data query (verifiable claim)

Shopping mall

  • gets more customers through better service
  • Pays for the registry query (verifiable claim)
  • Bills extra from shops who are participating in the offer
  • Gets individual information on customer flow together with their preferences


  • Pays for participation
  • Gets new business
  • Gets access to individuals wish list, thus able to provide personalized offers
  • Able to notice potential customers when they’re close


@aFox What I especially like about this scenario is the sense that everyone wins, and thus the individual would happily give permission for what you might call a “concierge service” at the shopping mall.

I have heard many many pitches for what might broadly be called “beacon services” where stores are able to push messages to potential customers when they are nearby. And I’ve never heard a single “consumer” in the world who wants such a service because of their fear that it will simply be “real time spam”.

But a concierge service that is triggered when you actually arrive at a destination (the shopping mall) where that’s almost certainly the reason you are there is indeed a service. And the permissioned interactions that you describe would take place here are, IMHO, a perfect example of agent-to-agent interactions.


I love the multi-party interaction. I have a few thoughts to contribute.

A few important details not made totally obvious, but important:

  • The request to the individual in the car is made via the car’s agent and the individual’s agent, not some push mechanism that the individual has no control over.
  • The request for information can be atomically approved or denied. This may cause the shopping mall to recind some or all of their offered services, but the option is there.
  • Background processes like checking parking validation can be performed in the background by communicating via agents instead of unnecessarily involving humans.


(I’ve renamed the thread to indicate this as a focused thread on this use case. Let’s start new threads for each other use case to keep discussion organized.)


Thoughts on technical details:

The result of the vehicle registry query is a DID that is assigned to the car. That DID is resolved to a DDO, which contains a service pointer to the car’s Agent. A message is sent to the car’s agent via an Agent Extension. This message contains the offer for the individual in the car.

If the user accepts the offer, the user generates (or reuses a previously generated) DID, and atomically approves extensions for access. This DID is unique to avoid correlation. This new DID is transmitted by the car’s agent back to the shopping mall as an introduction.

The Car’s Agent is sent a signed token used to allow access to the VIP parking area.

The User’s Agent is now communicated with to provide the above scenario.


@TelegramSam +1 to the DID for the car. It’s like a digital license plate.

I was assuming that the individual identity owner (the driver) already had a relationship with: a) the car, and b) the shopping mall. In this case, bluetooth or NFC could detect who was driving the car, and the message from the shopping mall’s agent to the car’s agent could be automatically routed to the driver’s agent. The driver’s agent would confirm (from the shopping mall agent’s DID) that the driver has a relationship with the shopping mall AND that the driver is in the car (and potentially even that the driver’s phone is at the shopping mall), so it would route the message to the HUD (or the driver’s phone, whichever the driver prefers).

Agents rock!


It could do this, but doesn’t have to. It might be a rental car with 5 people in it, and the car/driver relationship might be late bound. The point is that any of those models work, as long as the car’s agent is responsible for establishing the relationship. This allows for various levels of car/driver relationship, and it all still works using the same bootstrapping model.


Totally agreed. The beauty is that this is exactly what the agents are for—figuring out what the human’s preferences are so the human’s don’t have to worry about it.