Learning Machine Contributes Android App to Blockcerts


Today, we’re super excited to announce that the power of Blockcerts has finally arrived on the Android platform. If that’s what you’ve been waiting to hear, go download the app now. Otherwise, let’s take a look at what’s in the latest release:


This app release contains feature parity with the iOS app so Android users can also have an easy way to store, view, and share their official records. They can:

  • Generate public/private key pairs, managed by a passphrase
  • Request certificates from issuing institutions by sending public key
  • Recieve and view fully customized, immutable certificates of accomplishment
  • Verify these certificates on-device
  • Share certificates to Twitter, Facebook, and other social media.

Fully Blockcerts-compliant

While this app works best with our open source issuing tools, it fully conforms to the Blockcerts standard. This means:

  • It works with any Blockcerts-compliant issuer
  • It can read v1.2 or later Blockcerts certificates
  • Supports metadata attachments and customized certificate rendering

Open source

Just like the iOS app, we’ve also released the full source of the Android app to the Blockcerts github repository. We believe making this app open source is crucial to add momentum to our ever-growing community of Blockcerts developers who believe in vendor indendence and repient ownership of important records.


Yes, these are key conditions for self-sovereign identity! Blockcerts was the very first mobile app allowing individuals to hold/own their blockchain-based credentials. Here’s a new post to survey the field of related vendors, with an outline of how Blockcerts is leading the way:


Hi there, I’ve just managed to run the Android app with success :slight_smile:

One little fix, in the sample issuer-testnet.json is missing the introductionURL JSON property needed by the Android app[1].

I’ve a question, if the issuer JSON file didn’t include any of revocationList, publicKey, issuerKeys, revocationKeys at the time when the student add a new issuer via the app is a problem?
I think these JSON properties are needed only during the verification process right? (so we can update the issuer JSON file after the student configure the issuer in the Blockcerts app)

Secondo question :slight_smile: When the issuer publish badges via the batch issuing the Blockcerts app display automatically the badges related to the wallet or students need to add it manually?

Thank you very much for you work, it’s matter!

[1] https://github.com/blockchain-certificates/blockchain-certificates.github.io/pull/17


Any insight about these?
Sorry for the follow up but on Saturday 30 Sept. we will have an install fest and it’s crucial to know how to handle the following scenarios.


Hey @aqquadro,

If I remember correctly, it all depends on which version of the issuer identity standard you want to support. I’ll talk just about the current (v2) standard here, but you can look at old test cases for v1.

The V2 issuer format requires the revocationList and publicKey properties to be present. While you’re right in that they’re only used during certificate verification, they need to be present during the introduction. Since we support verification of certificates even if the issuer disappears, capturing this information when adding the issuer is critical.

As you noticed with your PR (Thanks for fixing that, by the way), client apps reject issuers as being invalid if they don’t have all the required data in the standard.

To your second question: When certificates are issued, the students/recipients would need to add those certificates manually.



Great, thank you very much for explaining.

So, regard the second part.
Did you know if there is any intent/url that can be intercepted by the app triggering the “add new certificates”?



I don’t understand. Could you rephrase your question? What are you trying to accomplish?


Sorry, my english is very bad :slight_smile:

In order to improve the student’s experience, I’d like to generate a URL that automatically opens the Blockcerts app and pre-compiles the “add new certificate” form.

Do you know if there is an intent/URL that can achieve this?



No worries! And don’t sell yourself short – your English is fine. It’s just especially hard to talk about technical topics if they’re not your primary language.

Both the iOS and Android apps support universal links for importing certificates. Here’s how you can make one of those URLs:

  1. Take the URL of the certificate. Let’s say it’s http://example.com/certificate.
  2. URL-encode it. Now it’s https:%2F%2Fexample.com%2Fcertificate
  3. Add it to the end of this: https://wallet.blockcerts.org/#/import-certiticate/
  4. That leaves you with https://wallet.blockcerts.org/#/import-certiticate/https:%2F%2Fexample.com%2Fcertificate, which should auto-fill the “Add certificate” form in the iOS and Android app.


Oh yes, yes!!

Grazie :slight_smile: