Native USDC

Quick-Start Guide

Overview

USDC by Circle enables the seamless transfer of digital dollars on Sonic using a smart contract. This guide walks you through building a simple React app that lets users connect their wallet and send USDC on the Sonic testnet.

The address of USDC on the testnet is 0x0BA304580ee7c9a980CF72e55f5Ed2E9fd30Bc51.


1. Prerequisites

Development Environment

  • Node.js 16 + (includes npm)

  • MetaMask browser extension

Funding Your Wallet

  • Native gas token (S on the Sonic testnet) for transaction fees

  • USDC test tokens — use the CCTP V2 Sample App to bridge USDC from another testnet


2. Project Setup

Step 1: Create a new project

Step 2: Install dependencies

Step 3: Verify package.json

Step 4: Add the scripts section (if needed)

Step 5: Run the dev server


3. Configure Blockchain Clients

Create src/clients.ts:


4. Define USDC Contract Details

Create src/constants.ts:


5. Implement Wallet Connection & USDC Transfer

Create src/App.tsx:


6. Configure the Entry Point

Create src/main.tsx:


7. Create index.html


8. Start the Application

Open http://localhost:5173 in your browser and start transferring USDC on the Sonic Blaze testnet!

Last updated