Get testnet USDC
Mint testnet USDC from the permissionless on-chain faucet.
Phasis settles in USDC. On testnet, a permissionless on-chain faucet lets you mint as much USDC as you need for testing. This faucet exists only on testnet and will not be available on mainnet.
The testnet USDC faucet
The faucet is a permissionless Move function — no role gate, no allowlist. Anyone with a Sui testnet address can call it directly.
Module:
0x949572061c09bbedef3ac4ffc42e58632291616f0605117cec86d840e09bf519::usdc::mintRegistry object (required argument):
0xf7df3c68a7d3ffc54065565c94a9fa3f5342957340bce78be74373846241a833Function signature:
usdc::mint(registry: &mut UsdcRegistry, amount: u64, ctx: &mut TxContext)Amount units: The amount parameter is denominated in 6 decimal places. 1 USDC equals 1_000_000 raw units.
Mint via the SDK script
The repository includes a ready-to-use TypeScript script. The steps below assume you have Node.js 18+ and cloned the repo.
# From the repo root
cd scripts
npm installSet your Sui private key so the script can sign the transaction:
export SUI_PRIVATE_KEY="suiprivkey1..."Then mint. The default mints 100,000 USDC (100_000 × 1e6 raw units):
npx tsx mint_usdc.ts --amount 100000000000The script prints the transaction digest on success. You can verify the minted balance in your wallet or via the Sui testnet explorer.
To mint a different amount, pass any u64 value in 6-decimal units. For example, to mint 500 USDC:
npx tsx mint_usdc.ts --amount 500000000What comes next
Once USDC is in your wallet, deposit it into your Phasis account to begin trading. The deposit flow is covered in the Your first trade walkthrough.
Testnet only. On mainnet, USDC will be deposited directly from your wallet's native USDC balance. There is no mint faucet on mainnet.