VoidhashDocs
DevelopersHelp centerGuidesAPI reference
Dashboard
Get started
Introduction
Quickstart
How Voidhash works
Glossary
Versions and releases
Concepts
Teams, projects and environments
API keys
Products and perks
Offers
Subscription lifecycle
People and identity
Events
Features
Paywalls in your app
Feature flags and A/B tests
Paywall components
Push notifications
Ad attribution in your app
Client SDKs
React Native
Swift
Kotlin
Web
Your backend
Node.js
PHP
Go
Rust
Other languages
Payment sources
Forward store notifications
Developer tools
CLI
MCP server
Query analytics with VoidQL
MCP server
Tools
People and access
Catalog and payments
Paywalls
Flags and experiments
Analytics and ads
Webhooks and messaging
Projects, team and settings
Files and assets

Paywalls

MCP tools to design, deploy and place paywalls and onboarding flows.

These tools let an agent create paywalls, edit their design, deploy builds and choose what each paywall location shows.

Early access

Paywalls are in early access. Ask us on Discord, or email support@voidhash.com on a paid plan, to turn them on for your team.

Paywalls and locations

Key access: Paywalls; Publish paywalls to your app to deploy and change what a location shows.

ToolWhat it does
list_paywallsPaywalls and onboarding flows, with the deployed build and where each is shown.
list_paywall_buildsA paywall's recent builds and why failed ones failed.
create_paywallAdds an empty paywall, or an onboarding flow.
update_paywallRenames, archives or restores a paywall.
deploy_paywallBuilds and deploys the design, or deploys an existing build to roll back. Asks first when people see it. Only a person can start a build; a secret key can deploy an existing one.
delete_paywallDeletes a paywall nothing shows. Asks first.
list_paywall_locationsLocations with what each shows now.
get_paywall_locationOne location with what it showed before, and when.
create_paywall_locationAdds a location, optionally showing a deployed paywall at once.
update_paywall_locationRenames a location or changes its description.
show_at_locationShows a deployed paywall at a location. Asks first when replacing what's shown.
clear_locationStops showing anything at a location. Asks first.
archive_paywall_locationRetires a location for good. Asks first.

Paywall design

Key access: Paywalls. Design changes happen in an edit session that people see live in the designer; they reach your apps only once deploy_paywall deploys them. Fonts are uploaded and registry components installed by a person in Studio.

ToolWhat it does
bashRuns a read-only shell over the paywall workspace: authoring guides, designs and products.
list_fontsFonts uploaded for the project's paywalls.
begin_paywall_editOpens an edit session for one paywall.
get_paywallThe paywall's design, with the node IDs edits address.
get_paywall_changesWhat the session has changed so far.
list_componentsCore, project and installed components with their props and events.
read_componentOne component's definition, build status, versions and source.
edit_paywallApplies a batch of edits, all or nothing.
duplicate_subtreeCopies part of the design.
write_componentCreates or updates a custom component from Rust source and builds it.
get_component_buildA component version's build status.
insert_componentPlaces a component with its props and actions.
update_component_instancesMoves placed components to a newer version.
get_paywall_previewRenders the design as an image, with a summary and the problems found.
finish_paywall_editEnds the session and lists anything that blocks a release.
revert_paywall_editReverts the session's changes.

Example

On the onboarding paywall, make the annual plan the default and highlight its savings.

The agent calls begin_paywall_edit, get_paywall, edit_paywall and get_paywall_preview, then finish_paywall_edit. The change reaches your app only after deploy_paywall, which asks first.

Next steps

  • Paywalls in your app: locations, results and caching.
  • Build and deploy: builds, deploys and rollbacks.
  • Flags and experiments: A/B test a paywall.

Something wrong or missing on this page? Tell us by email or on Discord.

PreviousCatalog and paymentsNextFlags and experiments

On this page

Paywalls and locationsPaywall designExampleNext steps