Rise In Logo

Learn everything about Circle and USDC

Section Summary

Section Summary

Congratulations on Creating Your First User-Controlled Wallet

Welcome back! First of all, congratulations on completing your first user-controlled wallet. It’s a significant achievement and an important step toward understanding modern decentralized applications.

Let’s review the steps involved and clarify anything that might have been unclear during the tutorial.

Overview of the Wallet Creation Flow

There are four main steps for developers and two key steps for users:

Developer Steps:

  1. Get the App ID
  2. Create a New User (User ID)
  3. Acquire a Session Token
  4. Initialize the User

User Steps:

  1. Set a PIN
  2. Create a Recovery Method (Challenge)

This process offers users a familiar experience while integrating the powerful features of Web3 and next-generation financial systems.

Step-by-Step Developer Actions

1. Getting the App ID

  • We make a GET request to retrieve the app_id, user_id, session_token, encryption_key, and challenge_id.
  • The request includes an authorization header containing your API key from the environment variable (NEXT_PUBLIC_API_KEY).
  • The response returns structured data. In the tutorial, response.data.data.app_id is used to access the App ID directly.

2. Creating a New User

  • A POST request is made using a user_id generated via the uuid library.
  • We pass the new user_id in the request body.
  • The API response status is checked: if it’s 201, the user was created successfully.
  • The response includes the created user_id and the request status.

3. Acquiring a Session Token

  • Another POST request using the previously generated user_id.
  • The response includes the user_token and encryption_key.
  • These are essential for subsequent interactions and wallet creation.

4. Initializing the User

  • This step involves initializing the wallet, typically on Polygon Mumbai.
  • The request includes a unique idempotency key and user_token.
  • We specify the blockchain network (e.g., Polygon Mumbai or Ethereum Goerli).
  • For projects using Next.js, the use server directive ensures the backend handles the API calls, avoiding CORS issues.
  • The response returns the Challenge ID, needed by the user to verify and set up their wallet.

Setting Up the User Interface

Once the developer side is complete:

  • The user will input their PIN code and Recovery question.
  • The modern UI is automatically handled by the SDK, providing a smooth and user-friendly experience.
  • You’ll need to use the values (app_id, user_token, encryption_key, challenge_id) to enable the user-side wallet creation.
  • These tokens are temporary, so update them accordingly if they expire.

Final Thoughts

This process bridges the ease of traditional apps with the innovation of decentralized finance. You're not just creating wallets—you're building a secure, Web3-ready user experience.

If you have any questions, feel free to ask in the Discord community.

Comments

You need to enroll in the course to be able to comment!

Stay in the know

Never miss updates on new programs and opportunities.

Rise In Logo

Rise together in web3!

Disclaimer: The information /programs / events provided on https://patika.dev and https://risein.com are strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice and do not make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://patika.dev and https://risein.com disclaim any responsibility for financial decisions made by users based on information provided here.