Use Cases
Galxe Passport
Issue and verify Galxe Passport v2 credential
You can claim your Galxe Passport here: https://app.galxe.com/passport
Type
“Galxe Passport v2” credential type is registered onchain as a custom primitive type with type ID 10000.
Type ID | Name | Description | Definition | Example |
---|---|---|---|---|
10000 | Galxe Passport v2 | Galxe Passport v2 | birthdate:uint<64>; gender:prop<8,c,1>; id_country:prop<16,c,1>; id_class:prop<8,c,1>; issue_date:uint<64>; first_verification_date:uint<64>; last_selfie_date:uint<64>; total_sefie_verified:uint<8> | Your Personal Identifiable Information (PII) after creating your passport here |
Galxe Passport v2 type definition contains the following fields:
birthdate:uint<64>
: User’s birthdate in unix timestamp.gender:prop<8,c,1>
: User’s gender, according to their government issued ID.- Custom hash function mapping:
- Male = 1
- Female = 2
- X = 3 (undermined from government ID)
- Custom hash function mapping:
id_country:prop<16,c,1>
: Country of ID issurance.- Custom hash function mapping:
- ISO-3166-1 Alpha 2 format (2-letter country code) = ISO-3166-1 numeric code
- Custom hash function mapping:
id_class:prop<8,c,1>
:- Custom hash function mapping:
- CertificateOfCitizenship = 1
- ConsularID = 2
- DriversLicense = 3
- ColombiaForeignerID = 4
- CanadaHealthInsuranceCard = 5
- IdentificationCard = 6
- RussiaInternalPassport = 7
- AustraliaKeypassID = 8
- SingaporeLongTermVisitPass = 9
- MunicipalID = 10
- JapanMyNumberCard = 11
- PhilippinesNationalBureauOfInvestigationCertificate = 12
- SingaporeNationalResidencyID = 13
- PhilippinesOverseasForeignWorkerCard = 14
- ResidencePermit = 15
- IndiaPermanentAccountNumberCard = 16
- PhilippinesPostalIdentificationCard = 17
- Passport = 18
- PassportCard = 19
- PermanentResidenceCard = 20
- PhilippinesSocialSecuritySystemCard = 21
- USRefugeeTravelDocument = 22
- CanadaTribalID = 23
- PhilippinesUnitedMultiPurposeID = 24
- VoterID = 25
- ImmigrationVisa = 26
- WorkPermit = 27
- More information can be found here: https://docs.withpersona.com/reference/government-id-verifications#government-id-types
- Custom hash function mapping:
issue_date:uint<64>
: Government ID issurance date in unix timestamp.first_verification_date:uint<64>
: Unix timestamp of user’s first Galxe Passport verification date.last_selfie_date:uint<64>
: Unix timestamp of user’s latest Galxe Passport Selfie verification date.total_sefie_verified:uint<8>
: Count of user’s successful Selfie Verifications.
Type Artifacts can be found here: https://ipfs.io/ipfs/QmZ4UghikEohVtpJaiAQorBeHNPFZ9vq5TfnE8jTAyLU9k
Issurance Workflow
Once user passes KYC verification with Persona, our KYC provider, upon user request, Galxe backend will:
- Retrieve all necessary personal identifiable information to issue a Galxe Passport credential
- Generate credential using pre-defined type
- Append the following information as attachments:
- first_name
- last_name
- id_number: user’s government ID number
- passport_version: v2.0 for now
- persona_id: unique identifier that serves as the only mapping of user’s wallet to KYC data stored in Persona
- nationality: if provided by user’s government ID
- Galxe-managed issuer sign the credential and its attachments, then add both signatures to the credential
- Return the signed credential back to user, and user will encrypt it with their own passport.
- User store the encrypted file in their preferred storage. For now, user will use Galxe Vault for storage with no charge
Example signed credential
{
"header": {
"version": "1",
"type": "385359061158288630711736738957938254712651867393",
"context": "934334657093539700167251502022510933841607943105",
"id": "1052489016591343323470769874470399378961347062869"
},
"body": {
"birthdate": "<omitted>",
"gender": {
"str": "M",
"value": "1"
},
"id_country": {
"str": "US",
"value": "840"
},
"id_class": {
"str": "dl",
"value": "3"
},
"issue_date": "<omitted>",
"first_verification_date": "<omitted>",
"last_selfie_date": "<omitted>",
"total_sefie_verified": "1"
},
"signatures": [
{
"metadata": {
"verification_stack": 1,
"signature_id": "174358...<omitted>",
"expired_at": "<omitted>",
"identity_commitment": "2025432...<omitted>",
"issuer_id": "278006...<omitted>",
"chain_id": "97",
"public_key": "Gtrdr...<omitted>"
},
"signature": "1+PIQA...<omitted>",
"attachmentsSignature": "yU8eI8...<omitted>"
}
],
"attachments": {
"last_name": "Doe",
"id_number": "ID-123456",
"passport_version": "v2.0",
"first_name": "John"
}
}