Identity Attestation similar to UPort


Hi Blockstack community,

We are looking to build a KYC service as a Blockstack app. I read that besides verifiable proofs for social accounts, PGP/SSH keys, there are also facial recognition proofs. Moreover, there are ways to issue authority attestations.

Here is the post that I read this from:

We are partnered with a KYC service provider that’s able to verify identity documents and recognize document photos with selfies. To record these attestation claims, do we write to the zone file in the form of

  "issuer": {
    "@id": "",
    "publicKey": "03a59dbfd9612e4088818c90e19afcf8d1793b38a5c040c38d7d07bb7d39d86d72"
  "subject": {
    "@id": "",
    "publicKey": "02f1fd79dcd51bd017f71546ddc0fd3c8fb7de673da8661c4ceec0463dc991cc7e"
  "claim": {
    "name": "Naval Ravikant"
  "issuedAt": "2016-03-10T17:01:32.879Z",
  "expiresAt": "2017-03-10T17:01:32.879Z"

Also, would the facial recognition claim format be any different? Or is it entirely up to us to decide how many levels of verification is necessary for us to issue an identity claim, or if we want to make them separate with specific verification details.



I had a similar discussion yesterday at a meetup in Brussels.

My understanding is that this should be part of the profile of the user. Currently, there is only one claim with several social accounts in the profile file (see e.g. for

To make it work for other claims you

  • could add another JWT token to that file, however, I don’t know whether that is supported by the blockstack browser.
  • could store the claims in the gaia bucket of the application
  • add a property like attestation in the claim object (next to accounts)