USDC Pricing
Paper supports selling NFTs that accept the USDC token.
Read our guide on How to Price your NFTs in USDC.
Use cases
- You want buyers to have a familiar, web2 buying experience.
- You want your NFT price to be consistent without worrying about cryptocurrency price variations.
- You want all buyers to pay an exact price. With Sponsored Fees, you can also cover fees so a buyer will be charged $50 USD for a 50 USDC item.
Prerequisites
None
Integration
For thirdweb contracts
- Navigate to the thirdweb dashboard for your contract
- Set the claim condition to price the NFT in USDC:

In the Claim Conditions section
For custom contracts
-
Add the following snippet to your contract (modify as needed):
-
// Replace MY_USDC_ADDRESS with the address based on the blockchain below. IERC20 public usdc = IERC20("0xe6b8a5CF854791412c1f6EFC7CAf629f5Df1c747"); uint256 priceInUsdc = 50 * 10 ** 6 function mintTo(address recipient, uint256 quantity) public { usdc.transferFrom(msg.sender, address(this), quantity * priceInUsdc); }
-
-
Configure your checkout to accept USDC payment:
- Shareable Checkout Links: When creating the checkout set the Price per NFT currency to USDC.
- Dynamic One-Time Checkout Links: When creating a Link Intent set
mintMethod
with"payment": { "value": "50 * $QUANTITY", currency: "USDC" }
. - Checkout Elements: When creating an SDK Intent set
mintMethod
with"payment": { "value": "50 * $QUANTITY", currency: "USDC" }
.
Accepting the correct USDC token
Make sure your contract requests the correct USDC token address from Paper. These are the supported USDC token addresses:
- USDC on Mumbai: 0xe6b8a5CF854791412c1f6EFC7CAf629f5Df1c747
- USDC on Polygon: 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174
- USDC on Goerli: 0x07865c6E87B9F70255377e024ace6630C1Eaa37F
- USDC on Ethereum: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
FAQ
Why is the USDC on Mumbai address different than the one I expect?
There are many unofficial USDC implementations for testing. Paper supports this implementation because of the ease of acquiring testnet funds and support with our vendors.
How do I acquire Mumbai USDC to test my native mints?
- Go the 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 on Polygonscan (Mumbai).
- Select Connect to Web3 and connect your wallet.
- Open claim (0x4e71d92d) and select Write.
- Sign the transaction with your wallet. This will cost a small amount of MATIC on Mumbai.
- Note: This does not cost real money. You can request MATIC on Mumbai for free here.
- You should receive 100 USDC. You can only request multiple times per day.
Why is the USDC on Goerli address different than the one I expect?
There are many unofficial USDC implementations for testing. Paper supports the official Circle USDC on Goerli token.
How do I acquire Goerli USDC to test my native mints?
You can request Goerli USDC from a faucet here.
Updated about 2 months ago