# How to use the Snap's features?

## Main features

The main features are available on  <https://app-andromeda.galactica.com/> . The dApp will guide you through them step by step.

### Create holder commitment hash

This Snap feature is called automatically when starting the KYC process with a Galactica Guardian.

1. Go to <https://app-andromeda.galactica.com/kyc-guardians>
2. Select a Guardian where you want to "Start KYC"
3. Click on "Generate & Start KYC"
4. Approve the confirmation window of the Snap asking if it may provide the holder commitment to the website.

### Import a zero-knowledge certificate

After completing the KYC process, you will receive an encrypted zkKYC. This can be imported in the snap.

1. Go to <https://app-andromeda.galactica.com/> on the "MY zkKYC" tab
2. Click on "BROWSE FILES"
3. Select the zkKYC file that you downloaded to your machine.
4. Approve the request to import the zk Certificate in the Snap

### Generate a zero-knowledge proof

After importing a zkCertificate, such as zkKYC, your Snap can generate ZK proofs. They are used to prove selective disclosures without revealing any more personal data.

1. Go to the dApp/website where you want to submit the ZK proof. For the DevNet demo, this is <https://app-andromeda.galactica.com/my-sbt> .
2. Initiate the ZK proof generation. On the DevNet demo this is the "Generate KYC Proof SBT" button.
3. Wait for the Snap to process the request.
4. Read through and check the Snap confirmation window. It lists what the generated ZK proof would disclose. You can find more details on the technical parts of this disclosure [here](https://docs.galactica.com/galactica-developer-documentation/galactica-concepts/zero-knowledge-kyc#public-inputs). The disclosure can be customized by the dApp requesting it. Therefore it might have additional disclosures, such as an age limit `18` if the ZK proof is for showing that you are at least 18 years old.
5. Click Approve.

## Advanced features

The Snap supports advanced featuers for dApp developers. You can find a list of methods to call in the [JSON RPC API](https://docs.galactica.com/galactica-developer-documentation/building-a-galactica-dapp/front-end/galactica-snap-json-rpc-api). To call those methods, you can use the developer and test front-end available on [GitHub](https://github.com/Galactica-corp/galactica-monorepo/tree/main/packages/galactica-passport-poc).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.galactica.com/galactica-network-faq/6.-galactica-zk-vault-snap-for-metamask-devnet/how-to-use-the-snaps-features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
