Stablecoins on Sui: A Developer’s Guide to USDC, USDT, and More

·

Stablecoins have become a cornerstone of the decentralized finance (DeFi) ecosystem, offering the stability of fiat currencies with the flexibility and speed of blockchain technology. On the Sui blockchain, developers and users can leverage several prominent stablecoins such as USDC, USDT, Agora (AUSD), and Ondo USDY. These digital assets are pegged to the US dollar and enable seamless value transfer, yield generation, and integration into decentralized applications (dApps).

This guide explores the stablecoins available on Sui, how to interact with them—particularly USDC—and best practices for using them in Move smart contracts and Programmable Transaction Blocks (PTBs).


Available Stablecoins on Sui

Sui supports a growing ecosystem of stablecoins, each serving unique use cases from payments to yield-bearing assets.

USDC (USD Coin)

USDC is a fully collateralized, regulated stablecoin backed 1:1 by US dollars held in reserve. Issued by Circle—a regulated financial institution—USDC is one of the most trusted digital dollars in the crypto space. It's widely used across exchanges, DeFi platforms, and payment systems for its reliability and transparency.

On Sui, USDC adheres to the Sui Coin standard, making it interoperable with any application that supports native coin types. Whether you're building a lending protocol or an NFT marketplace, integrating USDC is straightforward.

👉 Learn how to integrate stablecoins into your Sui dApp today.

For developers, Circle provides open-source Move code for USDC on GitHub, enabling direct integration into custom smart contracts.

Official Site: Circle

USDT (Tether)

USDT, commonly known as Tether, is one of the oldest and most widely adopted stablecoins globally. While not natively issued on Sui, USDT can be bridged onto the network via cross-chain protocols.

Bridging allows users to bring their USDT from other blockchains like Ethereum or Tron into the Sui ecosystem, where it can be used in DeFi applications or stored securely. The bridging process is well-documented in the official Sui documentation under SUI Bridging.

This cross-chain capability expands the utility of Sui-based applications by giving access to a broader range of liquidity.

Agora (AUSD)

Agora Finance issues AUSD, a fully collateralized US dollar-pegged stablecoin designed specifically for the Sui network. As a native Sui asset, AUSD is optimized for high-speed transactions and low fees, making it ideal for micropayments, gaming economies, and social finance applications.

Because it follows Sui’s coin standard, AUSD integrates seamlessly with wallets, dApps, and smart contracts built on the platform.

Official Site: Agora Finance

Ondo USDY

USDY, issued by Ondo Finance, stands out as a yield-generating stablecoin. Unlike traditional stablecoins that hold cash reserves, USDY is backed by short-term US Treasury bills, allowing holders to earn passive income directly through the token.

By combining stability with yield accrual, USDY represents the next evolution of digital dollars—perfect for savers and DeFi users seeking inflation-resistant storage of value without volatility risk.

Official Site: Ondo Finance


How to Use USDC on Sui

While this section focuses on USDC, the principles apply broadly to any coin that follows the Sui Coin standard. This includes AUSD, USDY, and custom tokens you may create.

Prerequisites

Before working with USDC on Sui:

Accessing USDC Source Code

The source code for USDC on Sui is publicly available in Circle’s GitHub repository:

📁 github.com/circlefin/stablecoin-sui

This transparency allows developers to audit, extend, or integrate USDC functionality securely into their own Move packages.

Importing the USDC Module

To use USDC in your Move project, add the following dependency to your Move.toml file:

[dependencies]
usdc = { git = "https://github.com/circlefin/stablecoin-sui.git", subdir = "packages/usdc", rev = "master" }

Your full Move.toml might look like this:

[package]
name = "usdc_usage"
edition = "2024.beta"

[dependencies]
Sui = { override = true, local = "../../../crates/sui-framework/packages/sui-framework" }
usdc = { git = "https://github.com/circlefin/stablecoin-sui.git", subdir = "packages/usdc", rev = "master" }

[addresses]
usdc_usage = "0x0"
⚠️ Note: The usdc package uses a specific version of the Sui framework. To avoid conflicts, set override = true for the Sui dependency.

Using USDC in Move Smart Contracts

Once imported, USDC behaves like any other coin type in Move. Here’s an example of a simple module that accepts USDC to mint an in-game item:

module usdc_usage::example {
    use sui::coin::Coin;
    use sui::transfer;
    use usdc::usdc::USDC;

    public struct Sword has key {
        id: object::UID,
        strength: u64,
    }

    public fun buy_sword_with_usdc(coin: Coin<USDC>, ctx: &mut TxContext): Sword {
        let sword = Sword {
            id: object::new(ctx),
            strength: coin::value(&coin),
        };
        transfer::public_transfer(sword, tx_context::sender(ctx));
        // Burn or forward USDC as needed
        coin::destroy_zero(coin);
        sword
    }
}

This pattern mirrors how you’d handle SUI or any generic Coin<T> type—ensuring consistency across assets.


Using USDC in Programmable Transaction Blocks (PTBs)

In frontend or script-based interactions, you can use Programmable Transaction Blocks (PTBs) to work with USDC programmatically.

First, create a coin object:

const usdcCoin = coinWithBalance({
  type: '0xa1ec7fc00a6f40db9693ad1415d0c193ad3906494428cf252621037bd7117e29::usdc::USDC',
  balance: 1_000_000 // 1 USDC (6 decimals)
});

🔍 Testnet vs Mainnet:

  • Testnet Address: 0xa1ec...7e29
  • Mainnet Address: 0xdba3...00e7

You can then pass this coin to Move calls:

tx.moveCall({
  target: '0xcbbf...9d30::usdc_usage::buy_sword_with_usdc',
  arguments: [usdcCoin]
});

Or transfer it directly:

tx.transferObjects([usdcCoin], recipientAddress);

👉 Start building with stablecoins on a high-performance blockchain.


Frequently Asked Questions (FAQ)

What is a stablecoin?

A stablecoin is a cryptocurrency designed to maintain a stable value, typically pegged 1:1 to a fiat currency like the US dollar. It combines blockchain efficiency with price stability.

Is USDC on Sui backed by real dollars?

Yes. USDC is issued by Circle and fully backed by audited reserves, including cash and short-term US government securities.

Can I earn yield on stablecoins on Sui?

Yes. For example, Ondo USDY generates yield from US Treasury investments. Additionally, DeFi protocols on Sui may offer staking or lending opportunities for USDC and other stablecoins.

How do I get testnet USDC for development?

Visit Circle’s official faucet at faucet.circle.com to receive testnet USDC tokens for development and testing.

Are there gas fees when using stablecoins on Sui?

Yes, but Sui’s architecture minimizes transaction costs and confirms transactions in milliseconds, making microtransactions feasible even with small stablecoin amounts.

Can I build my own stablecoin on Sui?

Absolutely. Using the Sui Coin standard and Move language, developers can create regulated coins, loyalty tokens, or in-game currencies with custom logic.


Final Thoughts

Stablecoins like USDC, USDT, AUSD, and USDY are unlocking new possibilities on the Sui blockchain, from fast payments to innovative DeFi products. With native support for the Sui Coin standard and robust developer tooling, integrating these assets into your dApp has never been easier.

Whether you're a developer building the next-gen financial app or a user exploring digital dollars, Sui offers speed, security, and scalability—all while maintaining full compatibility with leading stablecoins.

👉 Explore how you can leverage blockchain innovation with trusted digital assets.