Implementing an Agent App


I have built an Identity Wallet with a card for uPort. I would like to add a Sovrin card as well. Any pointers to how to accomplish this? Where do I find a testnet and do you have SDKs for mobile?



Johan: I’m not sure what you mean by “add a Sovrin card”. Possibly you’re using a uPort term that I don’t know.

Regarding an SDK: The SDK you want for Sovrin code is at The has links to getting started guides and other helpful stuff. However, the SDK is a little lower-level than what I’d call an “SDK for mobile”. There is an ObjectiveC wrapper for libindy, and a java wrapper for Android–but at present, the wrapper is more of a low-level component instead of an app-writing framework.

Bridging the uPort and Sovrin worlds is an area of active research; as far as I know, there’s no out-of-the-box solution. I believe it can be done, but the required effort and creativity may be high for whoever serves as the trailblazer. I believe uPort and Sovrin use different elliptic curves, so their crypto is in the same general family, but not identical. This may create some complications around library dependencies.

Probably the most basic point of interop is DIDs. An identity in Sovrin should be referenceable by and mappable to an identity in uPort–and vice versa–if both of them use a compatible (not identical) scheme for creating and controlling identifiers. Please see the DID spec at; a uPort DID method and a Sovrin DID method would create a point of interoperability.

Another layer of interop would be agent-to-agent communications. This would require either Sovrin code to speak uPort language, or uPort code to speak Sovrin language. This is a hot topic right now, but answers are not yet clear.

A third layer of interop would be around Verifiable Credentials. It would be great if credentials from one ecosystem could be used in the other. I don’t know what uPort’s posture on this topic is, but Sovrin has been pursuing interop on VCs through the W3C’s VC working group. So far, this work is only half baked.


BTW, you may find the #indy-agent channel on, or the community working group calls on Indy agents (Fridays at 8 am US Mountain), to be a useful way to get plugged in to a community. Call-in info for that call: