Available in alpha

Turn your app into a business

Build paywalls, manage subscriptions and find out what drives revenue. Ask a bot to help with the next step.

leLenscal
Overview
Inbox
Files
BotsWorkspace
Void (Yours)
Ad ManagerMorning check is done.
Voidhash
Which paywall brought the most trials this week?
Void
Revenue today
$2,184
Yesterday
$1,937
0:006:0012:0018:000:00
RevenueLast 30 days
$61,940+18.2%
Previous 30 days: $52,402
Monthly recurring revenueLast 30 days
$48,210+12.4%
30 days ago: $42,891
Active subscriptionsLast 30 days
3,812+9.1%
30 days ago: 3,494

Your team. Your bots. One workspace.

Bring your team and bots into the same chats, boards and designs. Share context, assign work and review changes together.

leLenscal
Overview
Inbox
Files
BotsWorkspace
Void (Yours)
Ad ManagerMorning check is done.
Ad Manager
to
TomSpend on the autumn campaign looks high this week. Is it paying back?
Ad ManagerAutumn_UA_03 spent $1,240 this week and brought 86 trials, $14.42 each. That is 22% above your target, and two ad sets carry most of it.👍2👀1
Void (Maya’s)Maya asked me to pass this on: the winter offer creative is in Files.
Pause those two and put the budget behind the winter offer.
Ad ManagerI wrote it up as a task on Ads with both ad sets and the new split. Approve it there and I will make the change.
Message Ad Manager

Update your paywalls without an app release

Design paywalls and onboarding flows in your browser. Work with your team, add translations and publish updates without an app release.

Voidhash
Lenscal Pro
Screen
Hero
Title
Subtitle
Plans
Annual
Monthly
Purchase button
Screen
Eat better, one scan at a timeScan any meal and get calories and macros in seconds.
Annual7 days free$29.99
Monthly$4.99
Start free trial
Maya
Tom
mato
DesignInteraction80%
Position
X16
Y140
Appearance
%100
Typography
Inter
Bold
20
1.2
0
Fill
FFFFFF100%

Handle subscriptions across stores

Let Voidhash track purchases, renewals and refunds from App Store, Google Play and Stripe. Check access from your app or server with one API.

leLenscal
People
People
Cohorts
Groups
PeopleLena Park
Purchases
Pro AnnualSubscriptionProductionActive

Started Nov 2, 2025, 09:14 · Expires Nov 2, 2027, 09:14

Scan packOne-time purchaseProductionPurchased

Purchased Mar 8, 2026, 18:02

Perks
proProductionActive

Expires Nov 2, 2027, 09:14

Details
Emaillena.park@example.com
CreatedOct 26, 2025
Cohorts
Annual subscribersDynamic
Your app asks onceawait voidhash.client.hasPerk("pro")
Has accessApp StoreGoogle PlayStripe

See what brings people back. And what makes them pay.

Follow users from their first session to their first purchase. Track funnels, retention, MRR and churn, then build a dashboard or query the data in SQL.

leLenscal
Analytics
Dashboards
Explore
Query
Revenue
Subscribers
Trials
Churn
Audience
Paywalls
Acquisition
DashboardsGrowth weeklyMaya is editingmato
DateLast 30 days11 Oct – 10 Nov
Growth weekly
MRR, revenue and trial conversion for Monday’s review
MRR
MRR · last 30 days
$48,210latest · +12.4% vs previous period
MRRPrevious period
Revenue by store
Revenue · split by store · last 30 days
$61,94018.2% vs previous period
App StoreGoogle PlayStripe
Trial conversion
Funnel · last 30 days
Note

Annual is carrying the month. Watch weekly: it is the first to churn.

Find your next revenue lift

Compare paywalls and prices by conversion and revenue. Choose a winner, then roll it out. Use feature flags to control who gets each change.

leLenscal
A/B testing
Feature flags
A/B tests
A/B testsAnnual plan first
ResultsSetup

A person converts when they send purchase_completed after first being assigned an arm.

ArmPeopleConvertedRateRevenueReading
Variant AControl4,1982606.2%$7,724
Variant B4,2143758.9%$8,892Better than the control
Annual plan first
Does leading with the annual plan earn more than leading with monthly?
Properties
StatusRunning
Variants2 variants
Locations1 location
StartedNov 1, 2026
EndedNot yet
Versionv3
VariantsOnboarding
Variant A50%Lenscal ProLatest published version
Variant B50%Lenscal Pro, annual firstLatest published version

Get help with revenue, paywalls and experiments

Ask Void about revenue, subscribers or experiments. Have it prepare a change and review it before approving. Connect your coding agent to the same tools through MCP.

leLenscal
Overview
Inbox
Files
BotsWorkspace
Void (Yours)
Ad ManagerMorning check is done.
Void
How is the annual plan test going?

Variant B is ahead. After nine days 8.9% of its people converted, against 6.2% for the control.

ArmPeopleRate
Variant A4,1986.2%
Variant B4,2148.9%

Void wants to conclude experiment

experiment:
Annual plan first
winner:
Variant B
Message Void
The same tools, from your editor
Claude CodeMCP
CursorMCP
CodexMCP
1
2
3
4
5
6
7
8import { createVoidhashClient } from "@voidhash/react-native"

const voidhash = createVoidhashClient("vh_pk_…")

const perk = await voidhash.client.hasPerk("pro")
if (!(perk.isOk() && perk.value.hasAccess)) {
  await voidhash.client.presentFlow("upgrade")
}

Add Voidhash with one command

Connect your project, check access and show a paywall. Generated product types catch typos before they reach your users.

$ npx voidhash-cli init
SwiftKotlinReact Native
$ voidhash mcp install
# use Voidhash tools in your MCP client

> Add a yearly plan to the onboarding paywall
  and make it the default

● edit_paywall Onboarding
● get_paywall_preview

Connect your coding agent

Connect Claude Code, Cursor, Codex or any other MCP-compatible client. Ask it to edit a paywall, create a flag or set up an experiment.

Safe to run your revenue on

People get what they paid for, your app keeps working on a bad connection, and nothing in your project changes without someone on your team agreeing to it.

Every purchase is checked

We confirm each purchase with the App Store, Google Play or Stripe before anyone gets access, and never count one twice.

Paying customers stay in

The app remembers what each person has paid for, so a lost connection doesn’t lock a paying customer out.

Bots ask before they change things

A bot can see what you can see. Before it changes a product, a paywall or a test, it shows you and waits.

Your data is yours to take

Export your customers, purchases, events and paywalls whenever you like, on every plan.

Common questions

Have a question? Ask on Discord or read the docs.

Which platforms are supported?
Swift, Kotlin, React Native, Expo and web SDKs are available in alpha. Server libraries support Node, Go, PHP and Rust. You can also use the HTTP API.
Do I need an app update to change a paywall?
Layout and copy updates do not require a new app build. You can also change which products a paywall shows. Those products still need to be configured and approved through the relevant store.
Do I need my own backend?
No. Voidhash handles store notifications and tracks access for you. If you have a backend, use a server library or the API to check access there too.
What can a bot change on its own?
Bots can manage their own files, tasks and comments. Changes to products, paywalls, flags and experiments require your approval.
Can my coding agent set things up?
Yes. Connect Claude Code, Codex, Cursor or another compatible agent through the Voidhash MCP server to create and edit paywalls.

Build your first paywall

Join the alpha waitlist. We’ll email you when your invite is ready.

Discord

Ask questions, share your work and talk to the team.

Join the server

Docs

Install an SDK, build your first paywall and explore the API.

Browse docs