# Moon’s Wallet Initialization Flow

Moon wallet initialization begins with an authenticated user's create account request on the frontend triggering a backend callback. A backend HTTP request is sent to the create account API endpoint, initiating an HTTP response from the API endpoint back to the backend.

![](https://github.com/moon-up/docs-sdk/blob/main/moon-sdk/Moon%20Documentation%2058cadf8d24b64b3c90fb5137d98fd9c2/Creating%20a%20Wallet%20024bac303e784815b37f2fd3afb7fc18/Moon’s%20Wallet%20Initialization%20Flow%20d27cf8ca5f3944b2a2b05afe89a53354/Untitled.png)

A unique JWT token is transferred from the Moon backend to the HaschorpVault, establishing a secure communication channel. The HashCorpVault utilizes this JWT token to authenticate and authorize the creation of a new wallet on the designated blockchain network. The HascorpVault generates a unique public and private key pair for the new wallet.

![Untitled](https://github.com/moon-up/docs-sdk/blob/main/moon-sdk/Moon%20Documentation%2058cadf8d24b64b3c90fb5137d98fd9c2/Creating%20a%20Wallet%20024bac303e784815b37f2fd3afb7fc18/Moon’s%20Wallet%20Initialization%20Flow%20d27cf8ca5f3944b2a2b05afe89a53354/Untitled%201.png)

A wallet address is generated, incorporating the public key as a unique identifier for the wallet, and the underlying private key as the secure authentication mechanism for accessing and managing the wallet. The HascorpVault sends a response back to the Moon backend, including the generated wallet address link. Authenticated users can then access their newly created wallet using this address link via the frontend.

![Untitled](https://github.com/moon-up/docs-sdk/blob/main/moon-sdk/Moon%20Documentation%2058cadf8d24b64b3c90fb5137d98fd9c2/Creating%20a%20Wallet%20024bac303e784815b37f2fd3afb7fc18/Moon’s%20Wallet%20Initialization%20Flow%20d27cf8ca5f3944b2a2b05afe89a53354/Untitled%202.png)


---

# 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.usemoon.ai/getting-started-with-moon-916ac83bad5646adb704eeaf6bcde252/moontashs-wallet-initialization-flow-d27cf8ca5f3944b2a2b05afe89a53354.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.
