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

The Fianto blog, page 6.

Notes on USDC subscriptions on Solana: how renewals are collected, what Fianto ships, and the numbers behind it.

Older posts.

Developers10 min read

USDC subscriptions in Express: a checkout route, a webhook route and a gate

To sell a USDC subscription from Express, register two routes from @fianto/express before express.json(): checkout() creates a subscription session for a recurring price, and webhooks() verifies the subscription.* events you store. Your own middleware then lets a user in while their stored status is ACTIVE or PAST_DUE. A subscription never creates an order, so order.paid never fires for it.

Developers9 min read

Idempotency keys and order ids: how a payments API avoids charging twice

An idempotency key is a unique value a client sends with a write so that a retry returns the first result instead of doing the work again; it protects one HTTP request. An order id protects the business event: Fianto refuses a second checkout for an order that is already paid with 409 order_already_paid. Fianto requires an Idempotency-Key on every v1 POST, keeps it for 24 hours, and marks a replay with Idempotent-Replayed: true.

Product9 min read

Customer paid twice in crypto: working through the Needs attention queue

When a customer paid twice in USDC, the second payment is already in your wallet: Fianto never holds funds, so there is nothing to cancel and no refund button. Fianto lists the order under Needs attention, in the table "Orders with an unmatched transfer", and sends order.duplicate_payment to your webhook. Check the transfer on an explorer, then send the extra USDC back from your own wallet to the wallet it came from.

Payments8 min read

International customers without card FX fees: cross-border card costs and the USDC alternative

A card payment from abroad costs the merchant more than a domestic one: as of 15 October 2026, Stripe adds 1.5% for international cards in the US and 2% for currency conversion in the UK, and the customer's bank may add its own foreign exchange fee. A USDC payment on Solana has no currency conversion inside it, because the customer pays the same USDC amount you set, wherever they are. The conversion does not vanish, though: the customer may convert local money to get USDC, and you may convert USDC back to spend it.

Compare8 min read

Gumroad, Lemon Squeezy and Paddle for crypto sellers: what they accept and the USDC option

None of the three takes crypto at checkout. As of 15 October 2026, Gumroad's buyer guide puts "Bitcoin/Cryptocurrency" under things you cannot pay with, and neither Lemon Squeezy's nor Paddle's payment-method lists name any crypto or stablecoin. All three are merchants of record that take cards and PayPal and handle sales tax for a fee per sale; a Fianto shop takes USDC on Solana only, charges the merchant nothing, and handles no tax.

Use cases8 min read

Accept USDC tips and donations: fixed tiers, monthly supporters and the approval rule

Fianto takes USDC tips at fixed amounts you choose, not at an amount the supporter types: list up to 10 prices on one "Support or tip" product in your shop, or create one payment link per tier. The supporter pays the tip plus a Solana fee under $0.01, and the full tip lands in your wallet. Charities and political organisations need Fianto's written approval before their first collection.

DevelopersCompare8 min read

Pay-per-request (x402) vs subscriptions for APIs: per-request payments and capped monthly plans compared

x402 is an open standard that answers an unpaid HTTP request with status 402 and lets the client pay in stablecoins per request; a subscription charges a fixed price once per period. Per-request payment fits sporadic callers and AI agents with no account; a capped monthly plan fits steady customers and predictable revenue. Fianto does not implement x402 or any usage-based billing: it runs monthly and yearly USDC plans on Solana.

Use cases8 min read

Sell a paid newsletter for USDC: Ghost, beehiiv and Substack

Fianto has no Ghost, beehiiv or Substack integration, so a USDC newsletter is two halves: a Fianto shop takes the monthly or yearly payment, and your newsletter tool grants paid access to the reader's email. Ghost and beehiiv can do the second half through Zapier, from the shop's purchase.paid and subscription.ended events; on Substack you comp each reader by hand from a CSV export.

Developers8 min read

Accept USDC payments with Hono on Node, Cloudflare Workers or Bun

Hono takes USDC payments through @fianto/hono's two handlers: checkout() creates a one-off checkout session for your pay button, and webhooks() verifies the order.paid event you fulfil from. Both pass Hono's untouched c.req.raw to the SDK and use only fetch, Request, Response and Web Crypto. On Node the code reads process.env; on Cloudflare Workers you build the handlers inside the route from c.env, and Fianto's CI does not yet test Workers or Bun.

DataProduct8 min read

Reading MRR when crypto subscription renewals are pulled on chain

MRR on the Fianto Overview is the monthly value of every subscription that is Active or Past due at the end of the chosen range: a 30-day price counts in full, a 365-day price as a twelfth, and a coupon's discount is taken off for as long as it lasts. It counts your prices only, never the fees the customer pays on top. It is a run rate, so it can differ a lot from the USDC that actually settled in your wallet over the same range.

Wallets9 min read

Securing the wallet you get paid to, and what happens if you lose it

Every Fianto payment lands straight in one wallet you control, so that wallet's recovery phrase is the only thing standing between you and your revenue: Fianto holds no balance and cannot move, freeze or recover anything in it. You can switch to a new wallet with your password, a two-factor code, a signature from the new wallet and an admin's approval, but subscriptions that already exist keep paying the old one. Keep the phrase offline, keep the receiving wallet for receiving only, and move savings out on your own schedule.

Use cases7 min read

Sell event tickets for USDC with delivery codes, and what you still need

For a small general-admission event, a Fianto shop can sell tickets for USDC: load one ticket code per seat as delivery codes, and each paying buyer gets one code on the receipt and by email, until the product shows Sold out. Fianto has no seat maps, no QR codes, no scanning app and no ticket quantities, so you check people in against your own list. A seated venue or a large crowd needs a ticketing platform.