On this page
- A gateway does five jobs: quotes the amount, ties the payment to an order, finds it on chain, decides when it is final, and notifies your server.
- Address-watching gateways have to handle partial, over- and late payments; a transaction-building gateway on Solana writes the amount into what the customer signs.
- Gateways charge very differently: Stripe lists 1.5% for stablecoin payments as of 15 October 2026, while on Fianto the merchant pays nothing.
What does a crypto payment gateway do?
A crypto payment gateway turns a transfer on a blockchain into a fact your shop can act on: order 1001 is paid. A blockchain is a public ledger that many computers keep in agreement, and a transfer on it is visible to anyone, but it carries no order number, no customer account and no "paid" flag. The gateway supplies those, in five jobs:
- Show the customer one exact amount in one token on one network, with any fees.
- Tie the payment to an order, so two customers paying the same amount are not confused.
- Find the payment on chain, including one the customer sent some other way.
- Decide when it is final. Blocks can be reorganised for a while after they appear, so "seen" and "safe" are different moments.
- Notify your server with a signed message, and keep a record you can export.
Some gateways add a sixth: converting the crypto to your bank currency and paying it out. That is where custody comes in, covered further down.
How does an address-watching gateway work?
An address-watching gateway shows the customer an address and an amount, then waits for a matching transfer to arrive. This is the classic design from Bitcoin, where the customer can pay from any wallet or exchange account by copying two values. Its weakness is that the customer does the typing, and the gateway has to name every way that goes wrong.
BTCPay Server, an open-source gateway, is a fair example because its states are public. Its invoice documentation (read 15 October 2026) lists "Paid partial" for when "the detected payments total less than the requested amount," "Paid over" for more than requested, and "Paid late" for when "full payment arrived after the invoice expired." Behind each of those states is a decision someone has to make: refund, ask for the rest, or accept it.
How does a crypto payment gateway work on Solana?
On Solana a gateway can build the whole transaction and hand it to the customer's wallet to sign, so the customer never types an amount. A transaction is the signed message that moves tokens; whoever builds it decides what is in it. The Solana Pay specification describes this as a transaction request, where the server builds the transaction and the wallet must still treat that transaction as "untrusted".
Fianto builds a short one. It holds two compute-budget instructions, a USDC transfer of the price to the merchant's wallet carrying the session's reference key, and, only when the service fee is above zero, a second USDC transfer of the fee to Fianto. The customer is the only signer. The wallet signs without sending; Fianto checks the signed bytes against what it built, instruction by instruction, then broadcasts the transaction and rebroadcasts it if needed. A changed amount, token or destination is never sent.
The trade-off is the wallet. The customer needs a Solana wallet that can sign a transaction without sending it, holding USDC and a little SOL. Paying straight from an exchange account, which an address-watching gateway allows, does not work here; why an exchange account cannot pay a checkout explains the fix.
What happens in one 25.00 USDC payment?
Here is one payment through Fianto, for a 25.00 USDC order from the made-up shop Quillfern Labs, from the session to the money in the wallet:
- Quillfern Labs' server creates a checkout session for its order 1001 with an amount of 25.00. The session's link works for 30 minutes unless the server sets another time between 5 minutes and 24 hours.
- The customer opens the page and sees the amount, the Fianto fee (0.00 during the beta), the Solana network fee, "paid by you, under $0.01", and the total of 25.00 USDC.
- They connect a wallet holding at least 25.00 USDC plus a little SOL (about 0.00067 SOL as of 15 October 2026; the checkout tells you the exact amount if the wallet is short), and approve one transaction.
- Fianto broadcasts it. When Solana confirms the block, the page shows "Payment received". Quillfern Labs hears nothing yet.
- When the block is finalized, the order turns PAID and Fianto sends
order.andpaid checkout.to the shop's webhook. The 25.00 USDC is already in its wallet, and the shop paid nothing for any step.session. completed
After the beta, the same order adds a Fianto fee of about 0.1 to 0.5%, paid by the customer: 0.025 to 0.125 USDC on top, for a total of 25.025 to 25.125 USDC. The shop still receives exactly 25.00. On this one-off payment there is no USDC network fee and no account rent. Solana's own charge is small: its fee documentation sets "a base fee of 5,000 lamports per signature," and Solana's terminology page values a lamport at 0.000000001 SOL, so the base fee is 0.000005 SOL.
A gateway for USDC on Solana that never holds your money. No Fianto fee during the beta.
See the hosted checkoutDoes a crypto payment gateway hold your money?
Some crypto payment gateways hold your money and some never touch it, and the difference decides what they can offer. A custodial gateway receives the payment into its own wallet, keeps a balance for you, and pays out later, often in your bank currency. A non-custodial gateway, Fianto among them, lets the payment go straight to your wallet and keeps only the record. The full trade-off is in custodial vs non-custodial crypto payments.
Non-custodial has costs of its own. Fianto has no balance, no payout and no conversion to bank money, so you hold USDC and keep your own keys. Turning it into bank money is covered in turning USDC revenue into local currency. What a business takes on with stablecoin payments lists the rest. There is no refund button: a refund is you sending USDC back from your wallet, as chargebacks vs crypto refunds explains.
How much does a crypto payment gateway cost?
Crypto payment gateway pricing ranges from a percentage the merchant pays to nothing at all for the merchant, depending on whether the gateway converts and holds funds. Fianto publishes this post, so read its own row with that in mind. Figures are from each provider's page on 15 October 2026, on the same 25.00 sale:
| Option | Published price | On a 25.00 sale | Who pays |
|---|---|---|---|
| Stripe stablecoin payments | 1.5% of the transaction amount in USD, including conversion to fiat, wallet and AML screening, fraud prevention and gas sponsorship | $0.375 | The business |
| Stripe domestic card (for scale) | 2.9% + 30 cents per successful transaction for domestic cards | $1.025 | The business |
| Fianto, during the beta | No Fianto fee | 0 | Nobody; the customer pays only the Solana fee |
| Fianto, after the beta | About 0.1 to 0.5% on top of the price | 0.025 to 0.125 USDC | The customer; the merchant still pays nothing |
Stripe lists stablecoins a second time, in the section for Link, its accelerated checkout: "0.8% per successful transaction", marked "Promotional rate through January 1, 2027; + 0.2% thereafter". The table uses the 1.5% figure from its main payments section, the one that includes conversion to fiat.
Stripe is the better pick if you want dollars in a bank account rather than USDC in a wallet: its price includes conversion to fiat, and Fianto does not convert at all. Fianto fits a merchant who is happy to hold USDC on Solana and wants every cent of the price. The arithmetic for subscriptions is in USDC vs card fees.
Do you need a crypto payment gateway at all?
You need a crypto payment gateway once software, not a person, decides that an order is paid. If you take a handful of payments a month from people you know, a wallet address and a spreadsheet will do. If your shop ships goods, opens access or provisions something automatically, you need the five jobs above done every time, and writing them yourself means running Solana infrastructure and handling every edge case on your own.
Check the limits before choosing Fianto. It takes USDC on Solana only, approves every merchant before the first payment with no promised review time, has no test mode, and does no tax or bank conversion. Within those, the USDC checkout covers one-off payments, and how to accept USDC on Solana shows the setup end to end. For what the customer signs and where every unit goes, read how money moves in the docs.