USDC Support
How to set up Crossmint if your collection is denominated in USDC
By denominating your collection in USDC, you can eliminate price volatility, and offer a more accessible experience to users.
Ensure you are using a supported USDC token
First of all, make sure your collection is denominated in one of the USDC token addresses supported by Crossmint.
Chain | Network | USDC Token Address | USDXM Token Address | ||
---|---|---|---|---|---|
| Mainnet Sepolia |
| -
| ||
| Mainnet Amoy |
| - -
| ||
| Mainnet Base Sepolia |
| -
| ||
| Mainnet Arbitrum Sepolia |
| -
| ||
| Mainnet Testnet | 0x750ba8b76187092B0D1E87E28daaf484d1b5273b | -
| ||
| Mainnet Testnet |
| -
|
USDC.e is only supported on previously registered integrations on Polygon mainnet. Please use the native USDC address for new projects.
If you need some testnet USDC you can mint it freely from the contract or from this faucet app that uses the same testnet token contracts as the NFT Checkout tools.
Validate your collection meets the requirements
In addition to the standard requirements, keep in mind:
- The mint function should be
nonpayable
. - The USDC token has 6 decimals instead of 18 like ETH, Matic, and most other tokens.
- The
totalPrice
attribute in themintConfig
of your button should be in units of USDC. If your intended price is 100 USD, then you will settotalPrice
to100
e.g.totalPrice="100"
. - Your ERC-20 transfer call must request the funds from
msg.sender
instead of the address parameter. This allows Crossmint to pay from our fleet of treasury wallets and deliver the NFTs directly to the user’s wallet. See an example mint function below.