Recurring revenue on Solana, without building the billing.

Mesub handles scheduled collections, failed-payment retries, and access control in one subscription layer.

Built on the open-source-audited Solana Subscriptions program.

A bank's app on a phone with the Mesub subscribe window open over it: Northwind, Pro, 29 USDC every month, paid from a Phantom wallet, and a Sign and pay button.

Everything after the signature.

The protocol settles the money. Mesub runs the subscription around it - so a payment result becomes something your product can act on.

See how it works

Collection on schedule

Due dates watched off-chain, authorized pulls executed on time, every attempt recorded.

Built for Solana

Charge in USDC or another compatible SPL Token or Token-2022 mint through the same subscription flow.

One authority, many plans

Multiple subscriptions can share the same token account without competing for its single delegate slot.

A dashboard for the team that ships it.

Wire the subscribe flow once and watch the rest from one place: what is due, what settled, what failed, and who came back after a retry. The same data your app reads through the API, in a view your team can act on.

  • One guard in front of your routes
  • Webhooks on every state change
  • Retries and dunning you configure
  • Attempt history for every subscriber
Read the docs
A bank's app on a phone with the Mesub manage window open from the bottom: Pro by Northwind, active, 29 USDC every month, its payments, and a Cancel subscription button.
SubscriptionsLast 30 days
Active subscriptions0+6%
Collected this period$0+12%
Recovered after retry0+9%
PlanAmountStateNext attempt
Pro monthly29 USDCActivein 12 days
Pro monthly29 USDCActivein 3 days
Team monthly99 USDCPayment lateretry today
Pro monthly29 USDCActivein 21 days
Starter monthly9 USDCStoppedout of retries
Team monthly99 USDCActivein 8 days
app/api/reports/route.ts



















Gate your product in one call.

Install the SDK, read the subscription state, decide. Accounts, delegations and pull execution stay on our side of the line - your route handler only ever sees an answer.

  • Typed SDK, no account juggling
  • Drop it in middleware or a route
  • HTTP 402 responses you control
  • The same states as the dashboard
Browse the API reference

Questions

Subscriptions on Solana, answered plainly.

Mesub is a billing layer for Solana subscriptions: it collects authorized recurring payments on schedule, retries the ones that fail, and turns the result into the access state your product reads.

01

What is Mesub?

A billing layer for Solana subscriptions. It collects the recurring payments a subscriber has authorized on-chain, retries the ones that fail, and turns each result into an access state your app can read.

02

How do subscriptions work on Solana?

A merchant publishes a plan on-chain: amount, token, billing period. The subscriber approves it once from their own wallet, authorizing a transfer capped at that amount per period, and can revoke it at any time.

03

What happens when a Solana subscription payment fails?

The subscription turns unpaid, and if no later try settles it is stopped and nothing more is charged. On the paid tiers Mesub retries on the schedule you set and access stays on while it does; on Free you retry by hand and access is off until a payment settles.

04

Is Mesub non-custodial?

Yes. Subscribers sign a delegation from their own wallet and keep custody of their funds. Mesub never holds keys - it only submits pulls that were already authorized, within the signed cap.

05

What is the difference between a subscription's status and its access?

The status says where a subscription stands (active, unpaid, cancelled, stopped or ended), and access is the yes or no the API answers for your app: a cancelled subscription keeps access until the period already paid ends, an unpaid one only on the paid tiers. Gate on access, not on the status; Mesub also reads the wallet ahead of each renewal and tells you whether the next charge can pay.

06

How do I add recurring payments to my app on Solana?

Install the SDK, drop the subscribe component into your checkout, and put one guard in front of the routes you sell. The guard asks Mesub whether the customer has access and answers HTTP 402 when they do not.

Still have a question?

Start today. Collect on the next cycle.

Wire the subscribe flow, add the guard, and let the processor take the calendar from there.

The ground it stands on

Every line is checkable in the open-source repository.

program
De1egAFMkMWZSN5rYXRj9CAdheBamobVNubTsi9avR44
Source
licence
MIT - Solana Foundation
Read
audits
Cantina × 3 - latest 2026-07-30
Status
audited through
d6b3a5dc7ab18c4168441af733c81ab0a599d414
Diff since
custody
None - capped, revocable delegation
How it works