Today
Live overview of your subscription business.
—
Net earned
collected to your wallets, after fee
—
Gross collected
what subscribers paid
—
Est. MRR
forecast from live subscriptions
—
Active subscribers
across all links
—
Payments
charges collected in range
—
Churn
subscriptions ended in range
—
ARPU
gross ÷ paying subscriber
—
Conversion
subscribers ÷ page views
Revenue collected
—
gross, actually collected on-chain
No data yet
New subscribers
—
No data yet
Top links — by revenue collected in this range
Loading…
Recent subscribers — latest activity across your links
Loading…
Payment links
Create shareable subscription links and track their performance.
Create a subscription link
Your links
Loading…
Automations
A subscription that pays someone else instead of you. Same machinery as a payment link — you authorise it once from your wallet, then it pulls on schedule with no further approvals. Rent, a retainer, a standing donation, topping up a savings wallet: anything that is “send this much, this often”.
New automation
The recipient is written into the on-chain plan itself and cannot be changed afterwards — not by us, not by anyone holding our keys. To pay a different address you create a new automation. The first payment is taken when you authorise it, then one per period until you cancel. Nothing is pulled if your balance is short; it simply retries.
Your automations
Loading…
Actions
A subscription doesn't have to just take payment — it can do something. Pick a link, pick a moment (someone subscribes, a payment lands, someone cancels), and pick what should happen. Every action is attempted until it succeeds, and everything it did is logged below.
New action
Your actions
Loading…
What has run — newest first
—
Subscribers
Everyone subscribed to any of your links. Press / to search by wallet or Telegram handle.
Comp someone in without payment — for a partner, a refund, or an apology. They get access immediately and are never charged.
Loading…
Recovery
Renewals that failed to collect. These subscribers are still subscribed, but the last charge didn't go through — usually an empty balance or a revoked allowance. Each one retries automatically on a backoff until it succeeds or gives up.
—
At risk
subscriptions failing to collect
—
At-risk MRR
monthly revenue in jeopardy
—
Top reason
most common failure
Loading…
Payments
Every subscription charge that has actually been collected to your wallets. Pending subscriptions haven't paid yet; active subscriptions are charged automatically each renewal, and each charge appears here with its link, subscriber and on-chain transaction.
—
Gross collected
all-time, all links
—
Net earned
after platform fee
—
This month
gross, last 30 days
—
Payments
successful charges
Loading…
Payouts
Non-custodial: subscribers pay your wallet directly — funds never touch Subs.fi.
Solana payout wallet — where subscribers pay you directly
TON payout address — for links on the TON network
API keys
Server-to-server keys for the Subs.fi developer API. Use a key to check, from your own backend, whether a wallet is a live subscriber to one of your links — then gate your product accordingly. Treat keys like passwords: the secret is shown only once.
Your keys
Loading…
Webhooks — we POST every event to your endpoint the moment it happens, so you don't have to poll
Loading…
Each request carries subsfi-signature: t=<unix>,v1=<hmac> — an HMAC-SHA256 of "<t>.<raw body>" using that endpoint's secret. Verify it before trusting a payload. subsfi-delivery is stable across retries, so use it as your idempotency key. Any 2xx counts as delivered; anything else retries up to 6 times with backoff.
Recent deliveries — newest first
—
Using the API
Base URL . Authenticate with Authorization: Bearer <key> (or x-api-key). A key only sees links owned by your account.
GET /v1/api/meverify a key works → { accountId }
GET /v1/api/access/check?subscriber=<wallet>&object=<slug> → { access, status, until }
GET /v1/api/linksyour links + hosted checkout URL, QR, tokens, earnings
POST /v1/api/linkscreate a link → { source, rail, period, priceDecimal }. TON is live at once; Solana returns an unsigned create_plan tx to sign, then POST /v1/api/links/:id/confirm
GET /v1/api/subscribers?object=<slug> → wallets, status, period end, Telegram handle
/v1/api/webhooksmanage endpoints with a key — same handlers as the panel above
POST /v1/api/actionsmake a link do something → { link, kind, trigger, config }. See Actions in the sidebar
GET /v1/api/actions/runswhat ran, what it returned, what failed
My subscriptions
You can subscribe to others too. Connect every wallet you paid with — Solana and/or TON — then link Telegram once. Any active subscription on any linked wallet unlocks its gated channel.
Connect your subscriber wallet — the wallet you paid with (may differ from your payout wallet)
—
Active
subscriptions renewing
—
Total
all-time
—
Total spent
actually paid, all-time
—
Est. spend
per month
Connections — connect every wallet you paid with, then link Telegram once
TelegramNot linked
Your subscriptions
Loading…