💲 Settle revenue as USDC to crypto wallet

Some merchants may want their purchase revenue to settle directly in their crypto wallet or bank account. This is most common for merchants who are already processing payments with other payment service providers, but want their purchases to settle instantly to USDC or fiat and don't have a smart contract. This is possible with Coinflow and only requires a couple configuration steps. The key difference in this case is you don’t need to build a transaction for Coinflow to execute – simply let users purchase without extra work.

USDC settlement

Suppose you are building a donation website and want to allow users to donate money with a credit card, then receive the donations as USDC in your wallet. USDC settlement is perfect for this, and requires no transaction from you.

1. Create a USDC Wallet

Solana

  1. Create a Solana Wallet. We recommend a multi sig on Squads.
  2. Send some USDC to the wallet. Sending USDC to the wallet creates an Associated Token Account for the wallet.
  3. Copy the ATA address. You will need it later.

Near

  1. Create a Near wallet.
  2. Send some USDC to the wallet. Sending USDC to the wallet creates the storage deposit for the wallet.
  3. Copy the Wallet accountId. You will need it later.

Polygon

  1. Create a Polygon Wallet.
  2. Send some USDC to the wallet. Sending USDC to the wallet creates the storage deposit for the wallet.
  3. Copy the Wallet address. You will need it later.

2. Configure your USDC Settlement

  1. Go to the Merchant Dashboard and click on the "Settings" tab.
  2. Scroll down to the "Settlement Settings" section.
  3. Paste the wallet address copied in step 1 into the "Settlement Address" field. Submit to update.

3. Test payment settlement

  1. Go to your checkout page and complete a purchase.
  2. You will see that when transaction is successful, but the USDC is sent directly to the wallet you specified above.

🚧

Do not use a transaction prop in your <CoinflowCheckout /> component.

If using APIs, ensure you do not pass a transaction to the endpoint.