DOCUMENTATION

White label & resale billing setup

Last updated Aug 2026
White Label
Business plan

On the Business plan you can run BlnkSpace under your own brand and, optionally, actually charge your own clients for access instead of them paying BlnkSpace directly. This page covers both — branding/domain setup, and the resale-billing piece specifically, including a Stripe setting that’s easy to miss and looks like a bug if you skip it.

Everything below happens in Settings → White Label.

Branding and your own domain

1
Set your brand name and logo

These replace the BlnkSpace name/logo across the dashboard sidebar and the sign-in/sign-up screens for anyone visiting your app domain (below) — clients see your brand, not BlnkSpace’s.

2
Connect your app domain

A domain you control (e.g. app.youragency.com) for the dashboard/editor/login. Same DNS pattern as any custom domain here — add the shown record (A for an apex domain, CNAME for a subdomain), click Check status. This is a different domain concept from a site’s own custom domain — see the callout below if you also run a published site.

3
(Optional) Set a homepage

By default your app domain’s root address just redirects to sign-in. If you want an actual landing page there instead — with your own copy, not BlnkSpace’s — pick or create a document under Homepage in the same settings section. It’s a normal page in the editor; publish it once you’re happy with it.

A domain can only be either a site’s custom domain or your white-label app domain — not both. If you try to connect a domain that’s already serving one of your published sites, it’ll be rejected rather than silently taking that site offline.
If you ever drop off the Business plan and come back: your app domain stops working the moment you’re off Business (visitors are redirected away instead of seeing your site), but nothing about your setup is deleted. Your domain, brand name, and logo are all still there when you re-upgrade — the domain just needs a quick re-verify, same DNS records as before. Clients you had are untagged while you’re off Business (required — otherwise they’d be billable to you without you paying for the plan that makes that possible), but you’ll find them waiting as pending invitations once you’re back, ready to re-send — nobody has to be tracked down from scratch.

Inviting clients

Invite a client by email from the same settings section — they get a real email (sent from BlnkSpace’s own notifications address, or your own connected Resend account if you have one set up) with a link to accept. Accepting tags their account as yours: they’ll see your branding when they visit your app domain, and count toward your client total. This works whether they’re a brand-new signup or an existing BlnkSpace account.

Being “tagged” as your client doesn’t change anything about their account unless they specifically visit your app domain — nothing happens if they’re still using the regular BlnkSpace domain. That’s expected, not a sign the invite didn’t work.

Removing a client

Removing a client from your list is always immediate for you — they stop counting toward your client total right away. What happens to their access is your choice, made at the moment you remove them:

OptionWhat happens
Keep access until paid period endsTheir current subscription with you is cancelled (you stop being charged for them), but they keep whatever plan they were on through the period they already paid for. They see a prompt to subscribe directly with BlnkSpace if they want to keep it going past that — naming your brand specifically, not generic “reseller” language. If they don’t, they drop to the free plan once that period ends.
Revoke immediatelyFull cutoff right now — dropped to the free plan instantly, no grace, no prompt. Meant for non-payment, abuse, or chargebacks — not the default, since it takes away access to something they may have already paid for.
Neither option deletes their content. Documents, uploads, and everything else they built stay exactly where they were — only the plan tier and the billing relationship change.

Charging clients directly (resale billing)

By default, a client who upgrades still pays BlnkSpace directly, full price. If you’d rather charge them yourself — setting your own price, collecting payment into your own Stripe account — that’s the Resale pricing section, one step further down.

1
Connect Stripe

Same Stripe Connect flow used for selling products (Settings → Stripe Commerce). One connected account is shared for both — if you already sell products, resale billing uses that same account.

2
Set a price per plan

One price per tier you want to resell (Creator/Team/Business). Minimum is 2x BlnkSpace’s own listed price for that tier — the field shows the minimum. At that minimum BlnkSpace takes its own list price and you keep the rest (roughly a 50/50 split); anything you price above the minimum is yours in full. Updating a price later replaces it cleanly; it doesn’t create a duplicate product in your Stripe dashboard.

3
Enable plan-switching in your Stripe Portal — do this now, not after something breaks

In your own Stripe dashboard (the account you just connected, not BlnkSpace’s) → Settings → Billing → Customer Portal → turn on “Customers can switch plans” and add the plan prices you just created to the allowed list.

What happens if you skip this

A client changing plans gets redirected to your Stripe Billing Portal — and if this isn’t turned on, the portal has nothing to offer them. It won’t error, it’ll just open a page with no plan-switch option, which looks exactly like a bug. This setting is per Stripe account, so it doesn’t carry over from anywhere else you’ve already configured it.

You have to repeat this every time you change a price, not just once at setup. Stripe Prices can’t be edited in place — updating your resale price for a tier creates a brand-new Price behind the scenes and retires the old one. The Portal’s allowed-list is tied to specific Price IDs, so the new one isn’t on it until you add it yourself. Forget this step and the next client who tries to switch plans hits the same “no options” screen described above — right after you thought you’d already fixed it. Clients already subscribed before the price change keep paying their old rate without interruption; this only affects switching to a new price.
Clients never see any mention of “reseller” anywhere in their own checkout or settings — the plan/price they see is just yours. That’s deliberate: the whole point of resale billing is that it looks native to your brand, not like BlnkSpace with a markup bolted on.

Which setting does what

SettingWhat it controls
App domainWhich domain shows your branded dashboard/editor/login instead of BlnkSpace’s.
HomepageWhat renders at that domain’s root address — optional, defaults to redirecting straight to sign-in.
Resale pricingWhat you charge clients, and whose Stripe account collects it.
Portal “switch plans”Whether a client can actually change plans after their first purchase — set in your own Stripe dashboard, not BlnkSpace’s.
Remove clientEnds your billing relationship with them — you choose whether they keep their plan through what they already paid for, or lose it immediately.

Troubleshooting

SymptomWhat it means
Connecting a domain says "already connected as a site's custom domain"That exact domain is already serving one of your published sites — pick a different domain for your app, or move the site first.
A client's "switch plan" opens Stripe with no optionsPortal plan-switching isn't enabled on your (the reseller's) own connected Stripe account yet — see the step above.
Resale price rejectedBelow 2x BlnkSpace's own list price for that tier — the field shows the minimum you can charge.
Client's Settings page shows nothing has changed after inviting themExpected if they haven't visited your app domain yet — the tag alone doesn't change their normal BlnkSpace account.
Re-upgraded to Business and your domain/branding look blankShouldn't happen — both survive a downgrade. If you see this, the domain still needs a re-verify (check the domain section) before it shows as connected again.
A removed client's plan didn't change right awayExpected if you chose "keep access until paid period ends" — that's the point of the grace option, not a bug.