No Fianto fee during the beta. Any fee comes with at least 30 days notice. See pricing
Guide

How to accept USDC payments on Solana.

Updated October 2026By Fianto

Create a Fianto account, prove you control the wallet you want paid to, and wait for a person to review the business. Then your server opens a checkout session for each order, your customer pays from their Solana wallet, and a signed webhook tells you the order is paid. The USDC goes straight to your wallet.

What USDC on Solana is

USDC is a dollar stablecoin issued by Circle. On Solana it is an SPL token: balances live in token accounts owned by a wallet, and a payment is a token transfer recorded in a Solana transaction. Fianto accepts USDC on Solana only; other tokens and networks are not accepted yet.

Your customer needs USDC and a little SOL in their wallet: SOL pays the network fee of each transaction they sign. You need none, and you never pay a network fee.

1. Open your account

  1. Sign up and give your business details.
  2. Turn on two-factor sign-in.
  3. Name your receiving wallet and sign a message with it, to show you control it. Every payment goes there.
  4. A person at Fianto reviews the business before it can take payments.

2. Create what you sell

In the dashboard, create a product and give it a price in USDC: one-off, or recurring every month (30 days) or every year (365 days). A price must be at least 0.01 USDC. For a one-off sale you can also send the amount, or up to 50 line items, with each checkout session instead.

3. Open a checkout session from your server

Create an application in the dashboard to get its ID and secret. Your server calls the API with them as HTTP Basic credentials and an Idempotency-Key header, so a retried request never opens two sessions:

POST /v1/checkout-sessions
{
  "mode": "payment",
  "order_id": "order_1042",
  "amount": "120.00",
  "success_url": "https://example.com/thanks",
  "cancel_url": "https://example.com/cart"
}

Send your customer to the session's url, or open it as a popup. They see your name, the amount and your order ID, connect Phantom, Solflare, Backpack, MetaMask or a WalletConnect wallet, and approve. For a subscription, use mode: "subscription" with the price_id of a recurring price.

4. Mark the order paid from the webhook

Add a webhook endpoint in the dashboard and verify it. When the payment settles, order.paid reaches your server with your order ID and the transaction signature. Mark the order paid from the webhook, not from the redirect to your success URL: a customer can close the page after approving. See webhooks for access.

5. Go live

There is no test mode and there are no test keys. Send a signed test event to your endpoint from the dashboard (or POST /v1/webhook/test-event), then take a small real payment and check it on any Solana explorer.

Sources

Questions

Questions about accepting USDC.

Does Fianto hold the money?

No. Each payment moves from your customer's wallet to your receiving wallet in their own transaction. There is no Fianto balance and no payout.

What does it cost?

No Fianto fee during the beta. Your customer's wallet pays the network fee of the transactions it signs; you pay nothing.

Can I refund a payment?

Yes, by sending the USDC back from your own wallet. Fianto cannot send it, because it never holds funds.

Take your first USDC payment this week.

One API call opens the checkout. The money lands in your wallet.