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

  1. Navigate to the thirdweb dashboard for your contract
  2. Set the claim condition to price the NFT in USDC:
In the **Claim Conditions** section

In the Claim Conditions section

For custom contracts

  1. Add the following snippet to your contract (modify as needed):

    1. // 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);
      }
      
  2. Configure your checkout to accept USDC payment:

    1. Shareable Checkout Links: When creating the checkout set the Price per NFT currency to USDC.
    2. Dynamic One-Time Checkout Links: When creating a Link Intent set mintMethod with "payment": { "value": "50 * $QUANTITY", currency: "USDC" }.
    3. 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:

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?

  1. Go the 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 on Polygonscan (Mumbai).
  2. Select Connect to Web3 and connect your wallet.
  3. Open claim (0x4e71d92d) and select Write.
  4. Sign the transaction with your wallet. This will cost a small amount of MATIC on Mumbai.
    1. Note: This does not cost real money. You can request MATIC on Mumbai for free here.
  5. 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.