On this page
- The questions that separate gateways for SaaS are about renewals, custody, fees, webhooks and cancelling, not about which coins they list.
- Fianto pulls each renewal from the customer's wallet every 30 or 365 days, straight to your wallet, and the merchant pays no fee and no network fee.
- It does not do trials, metered billing, plan switching, tax, invoices or a sandbox. If your pricing needs one of those, it is the wrong tool today.
What should a SaaS team check in a USDC payment gateway?
A SaaS team should check how a gateway collects the second payment, not the first. Almost any gateway can take one USDC transfer; far fewer can take the thirteenth without the customer opening their wallet again. Fianto publishes this post, so read our answers in the last column as a vendor's answers, checked against our own docs on 15 October 2026, and put the same questions to anyone else you are considering. The main billing platforms are set side by side in stablecoin subscription billing platforms compared.
| Question | Why it matters for SaaS | Fianto today |
|---|---|---|
| Are renewals pulled, or invoiced? | An invoice each month means a manual payment and churn every month | Pulled on chain within a per-period cap, no signature per renewal |
| Who holds the money? | A balance can be frozen; a wallet transfer cannot be held by the gateway | Nobody: the customer's transaction pays your wallet directly |
| Who pays the fees? | It decides whether your list price is what you keep | You pay nothing; the customer pays the network costs |
| What happens when a renewal fails? | Retries are your involuntary churn policy | Four fixed attempts over about a day, then it ends |
| Are webhooks signed? | Unsigned events let anyone grant themselves a plan | Standard Webhooks, HMAC-SHA256, whsec_ secrets |
| Can you retry an API call safely? | A timeout should not open two checkouts | Idempotency-Key required on every v1 POST, kept 24 hours |
| How does the customer cancel? | A hard cancel invites complaints | A portal at fianto.xyz/my, one signature |
| Can finance get the data out? | Revenue has to reach your books | CSV exports of payments, orders, subscriptions, customers |
| How do you test? | You need to see an event before a real customer does | No test mode; signed test events and a CLI |
| Who gets approved? | A gateway that drops you later is worse than one that says no now | Every merchant is reviewed by hand before the first payment |
The rest of this post takes the rows that need more than a cell. For the product page that sells this to SaaS and API teams, see USDC billing for SaaS, API and RPC plans.
Does the gateway pull renewals, or send an invoice each month?
A gateway either pulls each renewal from the customer's wallet within an approval, or it sends a payment request that the customer has to sign every period. A wallet cannot be charged the way a card can, so the second model is common. Helius, a Solana RPC provider, describes both on its own billing page: renewals are invoiced in USDC on Solana with a payment link by default, an optional "Crypto autopay" charges a connected wallet, and if the wallet is short "There's no automatic retry of the wallet for that invoice", with the project "suspended after 3 days" if the invoice stays unpaid (Helius docs, checked 15 October 2026).
Fianto only does the pull model. The customer signs one transaction at checkout that pays the first period and approves a cap per period, which is the price plus the fees. The Solana Foundation's Subscriptions program then refuses any collection above that cap, to a wallet the plan does not name, or by a collector not on the plan. A monthly plan renews every 30 days and a yearly plan every 365 days; there is nothing in between.
When a renewal fails because the wallet is short, the approval was removed, or the account was frozen or closed, the subscription goes past due and Fianto tries again one hour, six hours and a day after the period boundary. The fourth counted failure ends it, and the missed period is never billed later. Ask any gateway for that schedule in writing: it is your dunning policy whether you chose it or not.
Who holds the money, and who pays the fees?
With Fianto, nobody holds the money: the customer's transaction sends the price to your receiving wallet and, when a fee is due, a second transfer in the same transaction sends it to Fianto. There is no balance and no payout. That also means there is no reserve to negotiate and nothing for us to freeze, and every refund is a transfer you send from your own wallet.
You pay nothing on any charge, including the Solana network fee. Your customer pays these on a 49.00 USDC monthly Pro plan:
| Cost | Amount | Paid by |
|---|---|---|
| Plan price | 49.00 USDC, all of it to your wallet | Customer |
| Subscription network fee | 0.01 USDC with every charge today, the first one included, on plans created since 6 October 2026 | Customer |
| Fianto fee | None during the beta; after it, about 0.1 to 0.5% on top of your price | Customer |
| Solana fee of the checkout transaction | Under $0.01 | Customer |
| Account rent at the first subscribe | As of 15 October 2026, about 0.00144 SOL, returned on reclaim after the subscription ends, plus about 0.00119 SOL once per wallet, not returned. Solana is cutting rent in phases, so the checkout shows the exact live amount | Customer |
For scale, Stripe lists "2.9% + 30¢" per successful domestic US card charge and 0.7% of volume for pay-as-you-go Billing as of 15 October 2026 (Stripe pricing). On a 49.00 plan that is about $2.06 a month from the merchant. The fuller arithmetic, including what cards still do better, is in USDC vs card fees.
See what the hosted checkout shows your customer before they approve: the charge today, the next date, the cap and the rent.
Look at the USDC checkoutHow does your backend know a subscription is paid?
Your backend should learn about payments from signed webhooks, not from the success redirect, because a customer can close the tab after signing. Fianto signs every delivery in the Standard Webhooks format, an open specification whose technical steering committee includes people from Zapier, Twilio, Svix and Kong. Any library that implements the spec can verify Fianto's signatures, and the spec tells receivers to "Use the webhook-id header as an idempotency key" (Standard Webhooks spec), which is how you stay safe when the same event arrives twice.
- Subscriptions send
subscription.,created subscription.,renewed subscription.,payment_ failed subscription.,past_ due subscription.,cancel_ scheduled subscription.andcancel_ withdrawn subscription.. A subscription creates no order, soended order.never fires for one.paid - A payment counts at Solana's finalized commitment, not at the first confirmation the customer sees.
- Any 2xx within 10 seconds is a delivery. Otherwise Fianto retries eight times over about 28 hours, and
GET /v1/eventslists 90 days of events if you need to catch up. - Every v1 POST needs an
Idempotency-Key; a replay within 24 hours returns the first response withIdempotent-Replayed: true; idempotency keys and order ids explains why the order id is the second guard. - Keys are an app id and a secret sent as Basic auth from your server. There is no publishable browser key, so checkout sessions are always created server-side; the Pay with USDC button walk-through shows that route.
There is no test mode, sandbox or hosted devnet. You test with a signed test., the CLI's fianto trigger, or a backend you run yourself, then a small real payment. How to map each event to access is in grant and revoke access from webhooks, and signature checking in the docs under verify webhooks.
What does a SaaS customer need, and how do they cancel?
A SaaS customer needs a Solana wallet that can sign a transaction, USDC on Solana for the price and fees, and a little SOL for the checkout transaction and the rent. The checkout accepts any Wallet Standard wallet that supports signing a transaction, and its list names Phantom, Solflare, Backpack and MetaMask among nine. A team that keeps its funds on an exchange has to withdraw to a wallet first, which is a real drop-off point for business buyers.
Cancelling happens in the customer portal at fianto.xyz/my with one signature, and the plan runs to the end of the paid period. Removing the approval inside the wallet is not a cancel: the next renewal fails, the subscription goes past due, and it ends after the fourth failed attempt. Fianto sends subscribers no emails, so receipts, renewal notices and dunning messages are yours to send from the webhook data.
Where does Fianto fall short for SaaS billing?
Fianto falls short wherever your pricing is more than a fixed amount every 30 or 365 days. These are the gaps a SaaS team hits first:
- No free trials. The first period is paid inside the subscribe transaction.
- No usage or seat billing. A subscription charges the same amount every period. Extra usage can be sold up front as a one-off payment.
- No plan switching or proration. Moving tiers means the customer subscribes to the new plan at checkout and you cancel the old one through the API. Nothing is credited for the unused part of a period.
- No tax, invoices or fiat. Fianto calculates no tax, issues no invoices and pays out nothing in fiat: USDC lands in your wallet and stays USDC.
- No team access. One email login per merchant account.
- USDC on Solana only. No other token, no other chain, no cards.
Approval is also a gate: every merchant is reviewed by a person before the first payment, and no review time is promised. If you need trials, metered usage or card acceptance, a card billing platform is the better choice, and USDC can sit beside it as a second option for the customers who ask. If your plans are flat monthly or yearly tiers for customers who already hold USDC, the walk-through in accept USDC for API and RPC plans shows the build.
- Solana: reduced rent (SIMD-0437), rolled out in phases
- Helius docs: pay with crypto (USDC invoices, crypto autopay, suspension after 3 days)
- Standard Webhooks: the specification
- Standard Webhooks: project home and technical steering committee
- Stripe pricing: domestic card rate and Billing (US)
- Solana Foundation: the Subscriptions program (source and README)