• Discover
  • Partner with us
  • Chapters
  • Blog

Learn everything about Circle and USDC

Course Intro
Blockchain in a Nutshell
Introduction to Circle
Stablecoins
USDC
Wallets

Section Overview
Getting API Key
Introduction to Wallets
Getting App Id
Create a User
Acquire Session Token
Initialize User
Create Wallet
Submit Your Homework 1
Section Summary

Section Overview
Check Wallet Status
Getting Test USDC
Check Wallet Balance
Getting Native Test Token
Initiate Transaction
Validating Transaction
Submit Your Homework 2
Section Summary
Bonus: Complete a Challenge with WebSDK

Section Overview
Account Types
Create SCA
Transfer and Verify
Submit Your Homework 3
Section Summary

Section Overview
Working With Dev Controlled Wallets
Submit Your Homework 4
Section Summary

Section Overview
CCTP in a Nutshell
CCTP
Section Summary

Submit Your Final Project

Getting USDC Using ZKP2P and Turkish Lira
Resources

In this lesson, you will be using the Working-With-User-Controlled-Wallets project.

Go ahead and open up the project.

.env File

You will need to modify the .env file.

Stays Same

Following fields will remain the same.

  • API_KEY
  • APP_ID
  • USDC_TOKEN_ID

Modify

You will modify the following fields

  • USER_ID: You should enter the new user id.
  • WALLET_ID: This will be replaced with the new wallet's id.
  • ADDRESS: This will be replaced with the new wallet's address.

Check Wallet Status

As you did in the last section of this course, you are going to get the challenge id. The user will verify the challenge by entering his/her pin.

  • Now, to get the wallet id, run the command npm run check_wallet_status. This command will return a response to the console.

The response will be something like:

"data": {

    "wallets": \[

      {

        "id": "13cda487-0c8b-5812-8b95-59042d......",

        "state": "LIVE",

        "walletSetId": "018d846e-216e-794f-923e-f08c92ab80b5",

        "custodyType": "ENDUSER",

        "userId": "ae097766-5770-4407-805a-7879036c6818",

        "address": "0x3328477a6892e3bcf11d6de95370cc8ed03c11e8",

        "blockchain": "MATIC-AMOY",

        "accountType": "SCA",

        "updateDate": "2024-02-07T16:37:06Z",

        "createDate": "2024-02-07T16:37:06Z"

      }

    \]

  }
  • Here, you will save address and id as ADDRESS and WALLET_ID to the .env file.
  • As you can see, there is a field called accountType with the value: SCA. This indicates that this account is a type of SCA. That is what we were aiming for.

Get Test USDC

  • Go to the faucet website and get test tokens like you did in the last section.
  • Once the operation is successful, run the command npm run check_balance. You should see a similar response on the console, where the second token's (USDC) amount is 10.

Initiate Transaction

Last time, you also had to get native token Matic for the gas fee. This time since you are using gas fee, the gas is sponsored and you can directly make the transfer. For that run the command npm run initiate_transaction which should return user token. encryption key and challenge id. Note these values.

Complete the Challenge

  • Since this is exactly the same process as before, this part also will be the same.
  • In the User-Controlled-Wallet project, click the wallet icon, where you call websdk.
  • Below, you will enter the variables to complete the challenge: APP ID, User Token, Encryption Key and Challenge ID.
  • You will use the last three from the result of initiating transaction response.

Verify Transaction

This is also the same as before.

  • Go to the Circle Website
  • Open Transactions under User Controlled
  • There, you should be able to find your transaction.
Previous
Next

Lesson discussion

Swap insights and ask questions about “Learn everything about Circle and USDC”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
WebsiteDiscoverPartner with UsBlogEvents
Discover
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsBrand GuidelineFAQsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://risein.com is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we 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://risein.com disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Rise In, All rights reserved