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.
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.
| Tool | What it does |
|---|---|
list_paywalls | Paywalls and onboarding flows, with the deployed build and where each is shown. |
list_paywall_builds | A paywall's recent builds and why failed ones failed. |
create_paywall | Adds an empty paywall, or an onboarding flow. |
update_paywall | Renames, archives or restores a paywall. |
deploy_paywall | Builds 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_paywall | Deletes a paywall nothing shows. Asks first. |
list_paywall_locations | Locations with what each shows now. |
get_paywall_location | One location with what it showed before, and when. |
create_paywall_location | Adds a location, optionally showing a deployed paywall at once. |
update_paywall_location | Renames a location or changes its description. |
show_at_location | Shows a deployed paywall at a location. Asks first when replacing what's shown. |
clear_location | Stops showing anything at a location. Asks first. |
archive_paywall_location | Retires 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.
| Tool | What it does |
|---|---|
bash | Runs a read-only shell over the paywall workspace: authoring guides, designs and products. |
list_fonts | Fonts uploaded for the project's paywalls. |
begin_paywall_edit | Opens an edit session for one paywall. |
get_paywall | The paywall's design, with the node IDs edits address. |
get_paywall_changes | What the session has changed so far. |
list_components | Core, project and installed components with their props and events. |
read_component | One component's definition, build status, versions and source. |
edit_paywall | Applies a batch of edits, all or nothing. |
duplicate_subtree | Copies part of the design. |
write_component | Creates or updates a custom component from Rust source and builds it. |
get_component_build | A component version's build status. |
insert_component | Places a component with its props and actions. |
update_component_instances | Moves placed components to a newer version. |
get_paywall_preview | Renders the design as an image, with a summary and the problems found. |
finish_paywall_edit | Ends the session and lists anything that blocks a release. |
revert_paywall_edit | Reverts 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.