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

How to create a USDC payment link and get paid without a website.

A Fianto payment link is a reusable address, checkout.fianto.xyz/l/ plus 16 random characters, that sells one price of one product in USDC on Solana. You create it in the dashboard, share it anywhere, and every payer who opens it pays on the hosted checkout: once for a one-time price, or as a subscription for a monthly or yearly one. This is the step-by-step version.

On this page
What is a USDC payment link?How to create a payment link, step by stepWhat does the payer see when they open the link?How do the end date and payment limit work?Can you close, reopen or delete a payment link?Where do you see payment link sales?Payment link, API checkout or shop: which should you use?SourcesQuestions
TL;DR
  • A payment link sells exactly one of your prices. Anyone with it can pay, and every press of its button opens a fresh checkout.
  • You create it in the dashboard under Payments, choose whether to ask for an email, add an after-payment page and optional limits, then copy the address.
  • Payments arrive straight in your wallet and show up in Orders, Payments, Subscriptions and Customers like any other sale. There is no API for links.

A payment link is a web address that sells one thing at one price. On Fianto it sells exactly one catalog price of one product, and it is reusable: many payers can use the same link, and every press of its pay button opens a fresh hosted checkout for that price. The money goes from the payer's Solana wallet straight to yours, in USDC. Fianto never holds it.

The address reads https://checkout.fianto.xyz/l/ followed by 16 random letters and digits. Fianto makes the code when you create the link and never changes it. You cannot choose it, and a link has no domain of its own.

What the link sells decides what kind of checkout the payer gets:

  • A one-time price makes a one-time payment. Each paid checkout is a new order.
  • A recurring price (monthly, every 30 days, or yearly, every 365 days) makes a subscription. The payer approves once, and later charges are collected automatically, as explained in how stablecoin subscriptions renew on Solana.

This post is the how-to. For what payment links are for and who they suit, see the payment links page.

Your account must be approved first. Before approval the Payment links page opens, but New link shows the set-up-your-account dialog instead. It also helps to set a support email in Settings first: payers see it at the foot of the link's page.

  1. In the dashboard sidebar, under Payments, open Payment links and click New link. A drawer opens with three parts: "Product", "Checkout" and "Limits (optional)".
  2. Choose what the link sells. With "New product", type a product name (up to 120 characters), an amount in USDC (0.01 to 1,000,000, up to 6 decimals) and the charge: one-off, or monthly. The dashboard creates the product and its price for you, so they also appear under Products. With "Existing price", pick any active price of an active product. A yearly price can be linked only this way.
  3. Under "Checkout", choose "Ask for email": "Don't ask" (the default), "Ask, optional" or "Ask, required". With required, the payer cannot go on without typing one.
  4. For a one-time price, you can add an after-payment address. It must start with https://. The receipt then shows a Continue button that opens it. A subscription has no such field: subscribers stay on their receipt, which links to the customer portal.
  5. Under "Limits (optional)", tick "Ends on a date" to close the link at a set moment (more than one minute and at most five years ahead), or "Ends when full" to stop after a number of paid payments, from 1 to 10,000.
  6. Click Create link. The dashboard opens the link's page with the address and a Copy link button. Open the address in a private window to check it shows your product, the price and the pay button.

What does the payer see when they open the link?

The link opens one card: your name, the product, the price in USDC, and a line that says how often they pay, "One payment" or how often the subscription renews. If you ask for an email, the field is on the card. The button reads Pay with a wallet for a one-time price or Approve with a wallet for a subscription.

The button opens Fianto's normal checkout page for that price, which stays open for 30 minutes. The payer connects a Solana wallet such as Phantom, Solflare or Backpack and signs one transaction. The amount on the card is your price; the checkout adds the payer's fees on top and shows the total before anything is signed. You, the merchant, pay nothing.

What the payer paysOne-time linkSubscription link
Your priceOnceEach period
Fianto feeNone during the betaNone during the beta
Flat network fee in USDCNone0.01 USDC with each charge today, the first included
Solana transaction feeUnder $0.01Under $0.01 for the one signature
Account rent in SOLNoneAbout 0.00197 SOL today, returned when reclaimed after the subscription ends, plus about 0.00163 SOL once on a wallet's first subscription, not returned
A subscription link's button leads to the hosted checkout in subscription mode: what is charged today, when the next charge is, the network fee, the most the merchant can take per period, and the SOL the payer pays as account rent.

Fianto sends link payers no email. After a one-time payment the payer sees the receipt, with your Continue button if you set an after-payment address. After subscribing, the receipt points to the customer portal at fianto.xyz/my, where the payer can see and cancel the subscription. More on the costs on the pricing page.

How do the end date and payment limit work?

Both limits are optional, and a link can have both. The end date reads in the dashboard's time zone, which you set in Settings under Times and dates. The payment limit counts paid payments only: a one-time order that is paid, or a subscription whose first payment succeeded. Visits, clicks and checkouts nobody paid are not counted.

When a link has a limit, Fianto checks it again just before the payer's wallet opens, and that payer holds a place for 5 minutes while paying. Money that reaches Solana is always settled, so a link can end up a little over its limit if payments land late. That makes "Ends when full" a good fit for a fixed number of seats or spots, not a hard stock count.

A link's status is worked out every time it is read, never stored. The first that applies wins:

StatusMeaningTakes payments
ClosedYou closed itNo
UnavailableIts price, or that price's product, was endedNo
EndedIts end date has passedNo
FullIt reached its payment limitNo
OpenNone of the aboveYes

Because status is derived, a later end date or a higher limit makes an Ended or Full link Open again with nothing else to click. You can keep up to 1,000 links that are not closed, and 10,000 in all.

Sell one price with nothing to build. Create a link in the dashboard and share the address. No Fianto fee during the beta.

See payment links

Can you close, reopen or delete a payment link?

You can close and reopen a link, but you cannot delete it. On the link's page, Close link stops new payments: nobody can start paying until you reopen it. A payer who had already started can still finish. Payments already made stay paid, and closing cancels nothing: a subscription bought through the link carries on with its plan.

A payer who opens a closed, ended, full or unavailable link sees "This link is closed". If you set a support email, they get a button to write to you. Reopen link brings it back, unless its price or product was ended; a reopened link past its end date or at its limit still takes nothing until you change that in Settings.

Settings on the link's page changes four things only: ask for email, the after-payment address, the end date and the payment limit. If you set a limit at or below the payments already made, the dialog warns that the link then reads Full and takes no more payments.

Where do you see payment link sales?

A link payment is an ordinary sale. A one-time payment appears in Orders and Payments; a subscription bought through a link appears in Subscriptions and Payments. Both appear in Customers, in the Overview figures and in your CSV exports. A one-time payment's order ID starts with plink_, which is how you tell it apart in Orders. A subscription creates no order.

Each link's own page lists "Payments on this link", filterable by Succeeded, Pending and Failed, with amount, wallet, email and transaction signature, and you can export ticked rows as CSV. The Payment links list shows each link's paid payments, or that count against its limit, such as 3 / 10. Totals across every source are in reporting.

If you also run code, link payments reach your server as webhooks from the hidden application named "Shop", with metadata.source set to "payment_link". A one-time payment sends order.paid; a subscription sends subscription.* events. Links added no API endpoint: you cannot create or list them with an API key. The details are in the payment link sales docs.

Fianto starts a checkout three ways. They end on the same hosted checkout page and the same wallet-to-wallet payment; what differs is who starts it.

Payment linkAPI checkoutShop
Who starts the checkoutThe payer, from your linkYour server, per orderThe buyer, from your shop page
Code neededNoneYesNone
What it sellsOne price of one productAny price, or an amount you set per orderYour products, each listing 1 to 10 of its prices
Your own order IDNo, Fianto makes oneYesNo, Fianto makes one
Addresscheckout.fianto.xyz/l/...A session URL per checkout<name>.fianto.xyz
Best forA post, a chat, an email or a bioYour own site or appA storefront for several products

Pick a link when one price is the whole offer: a consultation, a ticket, a monthly membership, a fixed-price workshop. Pick the API when the sale starts inside your product and you need your own order ID or access logic; see accepting USDC on Solana. Pick a shop when you want a page that lists several products, explained in a no-code USDC shop. Every one of the three can take discount codes on the checkout page.

Sources
Questions

Questions about USDC payment links.

Do I need a website to use a payment link?

No. You create the link in the Fianto dashboard and share its address. The payer pays on Fianto's hosted checkout page.

Can a payment link sell a subscription?

Yes. A link for a monthly or yearly price opens a subscription checkout. The payer approves once and later charges are collected automatically.

Can I change the price of a payment link?

No. A link sells one price for its whole life. To charge a different amount, create another link and close the old one.

Can I delete a payment link?

No. You close it, and you can reopen it later. Closing stops new payments and cancels nothing already paid.

Is there an API for payment links?

No. Payment links are created and managed in the dashboard only. Their payments still reach your server as webhooks.

Does Fianto email the payer a receipt?

No. Fianto sends link payers no email. The receipt is shown on the checkout page after payment.

Read next.

One price, one link, paid in USDC.

Create it in the dashboard and share it where your payers are.

New posts are announced on X and Discord.