On this page
- Sell the subscription from a Fianto shop: only shop sales reach Zapier or Make, and the Membership kind asks for the buyer email as Required.
- Ghost: Zapier's Create Member action has comped fields; beehiiv: its API and Zapier actions take a premium tier. Substack: we found no documented API for this, so comp readers by hand.
- The reader pays the price plus a 0.01 USDC network fee per charge today and a little SOL; you receive the full price and pay nothing.
How does a USDC paid newsletter work with Ghost, beehiiv or Substack?
A USDC paid newsletter keeps writing and sending in your newsletter tool and moves only the payment to Fianto. USDC is a dollar stablecoin; the reader pays it from a Solana wallet, approves the subscription once, and Fianto collects every 30 days (monthly) or 365 days (yearly) into your wallet. Your newsletter tool never sees the payment. It needs to be told one thing: this email is now a paying reader, or no longer one.
| Tool | How a USDC reader gets paid access | Automatic? |
|---|---|---|
| Ghost | A complimentary paid membership, created through Zapier's Ghost app | Yes, through Zapier |
| beehiiv | A subscription with a premium tier, set through its API or Zapier app | Yes, on a plan with paid subscriptions |
| Substack | A comp, given from the Subscribers page | No: by hand from a Fianto export |
None of these is a Fianto feature, and each tool can change its own side. Test the whole loop with one subscription of your own before you announce it. If you would rather sell access as a token readers can resell, token-gating vs subscriptions compares the two models.
How do you sell the newsletter subscription in USDC?
Sell the newsletter from a Fianto shop, because shop sales are the only Fianto sales that reach Zapier or Make. Payment links and API checkouts are left out of the shop's "Connect an app" events.
- Create a product with a monthly price, and a yearly one if you offer it. Fianto has no weekly interval and no free trial.
- Add it to your shop as kind Membership. That kind sets Buyer email to Required, and the Zap needs that address; keep it Required. A kind only sets defaults; accepting USDC tips shows the same for the Support or tip kind.
- Write the after-purchase message: "Paid posts go to the email you typed. Not there within ten minutes? Write to us at" followed by your support address. The buyer sees it on the receipt and in the shop's buyer email.
- In Shop settings, Connect an app: paste the Zapier Catch Hook or Make Custom webhook URL and press Send a test.
Fianto then sends two events to that hook. purchase. arrives once per purchase, at the first charge, with buyer_, product, interval and subscription_. subscription. arrives shortly after that subscription ends, whatever ended it. Renewals send nothing, which suits a newsletter: access stays until the end event. An app connected later is never sent earlier purchases, so connect it before your first sale. Every field is listed in Zapier and Make automations for USDC sales, and pricing and webhook-based access are in selling a membership for USDC.
How do you add a USDC reader to Ghost?
Ghost gives a reader paid access without a payment through a complimentary plan. Ghost's help article on complimentary plans adds one from "+ Add Complimentary Subscription" on the member's profile, with a length of forever, 1 week, 1 month, 6 months or 1 year, and says that when a comp expires the member must upgrade in Portal to keep access.
Zapier's Ghost app, as listed on 15 October 2026, has a Create Member action (it needs an email) with optional comped and comped_ fields, and an Update Member action with comped, comped_ and comped_. Zapier's page does not explain them, so map them in the Zap editor and check the result on a test member.
- Zap 1: Catch Hook, filter on event = purchase.paid, then Ghost Create Member with email = buyer_email and the comp set to your paid tier. For readers who may already be free members, add Find a Member first and use Update Member when one is found.
- Zap 2: Catch Hook, filter on event = subscription.ended, then Find a Member by buyer_email and Update Member to remove the comp.
Use a forever comp and let the end event remove it. A one-month comp would expire while the USDC subscription is still paid, because Fianto sends nothing at renewal. Ghost's help page does not say whether a site with no Stripe connection can comp members, so try it on your site first.
How do you add a USDC reader to beehiiv?
beehiiv takes a premium reader through its subscriptions API. The API reference for creating a subscription lists a tier field with the values free and premium, and premium_, "An array of premium tier names to assign to this subscription", which "Takes precedence over the tier parameter". The update endpoint takes the same fields, plus an unsubscribe flag.
Zapier's beehiiv app, as listed on 15 October 2026, has create and update subscriber actions with the same tier and premium_ fields. So the two Zaps mirror Ghost's: on purchase., create the subscriber with your premium tier; on subscription., find them by email and set the tier back to free. beehiiv's pricing page, read on 15 October 2026, lists API access on every plan, Free included (without the Send API), but paid subscriptions only from the Lite plan up, with one paid tier on Lite.
Can you give a USDC reader access on Substack?
Substack readers who pay in USDC get access through a comp you give by hand. Substack's help centre article "How do I offer a complimentary subscription to a reader on Substack?" describes selecting readers on the Subscribers page, choosing Comp from the three-dot menu and picking a length from 7 days to forever. Pick forever and remove the comp yourself when the USDC subscription ends. We found no Substack page that documents an API or a Zapier action for adding a paid subscriber, so plan on a weekly routine instead of an automation.
- In the Fianto dashboard, export the subscriptions dataset as CSV from the date of your first sale, and tick the customer_email_unverified column, which is off by default. The export picks rows by their start date, so a range covering only the last week would miss older readers who just ended.
- Rows with a started_at after your last run are new readers: comp their customer_email_unverified address on Substack.
- Rows with an ended_at after your last run are readers to remove the comp from.
The export also carries current_, product_ and interval. A range covers up to 366 days and 50,000 rows, so after your first year the routine takes one export per year of sales. The steps are in the Fianto docs on CSV exports. A reader may wait up to a week for access with this routine, so say so on the shop page.
What does a USDC newsletter subscription cost the reader?
A reader of an invented newsletter, the Fenwhistle Gazette at 8.00 USDC a month, pays 8.01 USDC per charge today: the price plus a flat 0.01 USDC network fee on every subscription charge, the first included. The Gazette receives 8.00 and pays nothing, from readers in any country; international payments without FX fees compares that with card surcharges. There is no Fianto fee during the beta; after it, the reader pays about 0.1 to 0.5% on top. Platforms that sell for you as merchant of record take a share of each sale instead; Gumroad, Lemon Squeezy and Paddle compared lists their rates.
Each subscription also costs SOL as account rent: about 0.00144 SOL as of 15 October 2026 for the subscription account, returned when the reader reclaims it after the subscription ends. A wallet's first subscription adds a one-time wallet setup of about 0.00119 SOL, not returned. The checkout shows the exact live amount, plus the Solana transaction fee, under $0.01. The USDC subscriptions page covers the reader's side in full.
Put your newsletter in a Fianto shop and connect Zapier in Shop settings.
See memberships on FiantoWhat breaks when a USDC reader stops paying?
- Access lasts into the retries. A failed renewal makes the subscription past due, and Fianto tries four times, the last about a day after the period boundary. The Zap hears nothing until the fourth failure ends it, so a lapsed reader keeps access for about a day.
- A cancel runs to the end of the paid period. The reader cancels at fianto.xyz/my, and subscription.ended arrives when that period is over.
- Nobody verifies the email. A typo means the wrong address gets the comp; your after-purchase message should say whom to write to.
- Fianto sends no renewal reminders, and readers get no emails about their subscription. Your newsletter tool is the only place to warn them.
- Removing the wallet permission is not a cancel. Renewals then fail, and the subscription ends after the fourth counted failure.
If access must close the hour a renewal fails, Zapier is the wrong tool: write a small webhook handler on subscription. on the Shop application's webhook endpoint instead. Most newsletters can live with a day.
- Ghost help: complimentary plans (read 15 October 2026)
- Zapier: Ghost integrations, actions and fields (read 15 October 2026)
- beehiiv API reference: create subscription (read 15 October 2026)
- beehiiv API reference: update subscription (read 15 October 2026)
- Zapier: beehiiv integrations (read 15 October 2026)
- beehiiv pricing: API access and paid subscriptions by plan (read 15 October 2026)
- Substack help centre: how do I offer a complimentary subscription to a reader
- Solana: reduced rent upgrade (SIMD-0437)