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

USDC retainers for agencies and contractors.

Updated October 2026By Fianto

Your client approves the retainer once from their Solana wallet. Each period, Fianto collects the agreed amount straight to your wallet; the on-chain program refuses anything above the cap they signed. Extra work goes out as a one-off payment.

A retainer is a price

Create a product for the client or the service, with a monthly (30-day) or yearly (365-day) price in USDC. Open a checkout session for it with the engagement as your order_id and send your client the link. They approve once; the first period is paid then, and each later period on its due date.

The cap the client signs is the retainer plus the flat network fee each renewal carries, 0.01 USDC today. The Subscriptions program checks every collection against that cap and your receiving wallet, so a request for more, or to another wallet, is refused on chain. Each paid period is recorded with its Solana transaction, so the history of a retainer is a list of signatures your client can check on any explorer.

A checkout session's link works until the session expires; set expires_at to give your client a deadline. If the link lapses, POST /v1/checkout-sessions/{id}/link issues a new one for the same open session, and POST /v1/checkout-sessions/{id}/cancel withdraws it. Before signing, your client sees your name, the amount, the cap and the wallet the money goes to; their wallet shows the same.

When the scope changes

A price cannot be edited. For a new rate, add a new price, open a new checkout for the client, and cancel the old subscription with the API, now or at the end of its period. The client approves the new amount in their own wallet: nobody can raise it for them.

Extra work and expenses

Bill a one-off amount with a checkout session in mode: "payment", using up to 50 line items with a name, quantity and amount each. The client pays from their wallet and order.paid reaches your server with your order ID. Invoices are not built yet: every order and subscription period is recorded with its Solana transaction, and the dashboard exports payments, orders and subscriptions as CSV.

If a period is not paid

If the client's wallet is short on the due date, nothing is taken. Fianto tries again one hour, six hours and one day into the period, and you get subscription.past_due at the first failure. If the fourth attempt fails, the retainer ends; a missed period is never charged later. Fianto takes no partial amount. The dashboard shows the retainer as past due, with the reason and the time of the next attempt.

Questions

Retainer questions.

Can my client pay from a company wallet?

Any Solana wallet that can sign the approval and holds USDC can pay: Phantom, Solflare, Backpack, MetaMask, or a WalletConnect wallet.

Who pays the fees?

Not you. During the beta there is no Fianto fee. The client's wallet pays the network fee of each transaction it signs, and each renewal carries a flat network fee, 0.01 USDC today.

Can I end a retainer early?

Yes. Cancel the subscription with the API, now or at the end of the current period. A refund for unused time is a transfer you send from your own wallet.

Send your first retainer checkout this week.

Your client approves once. Every period lands in your wallet.