Pricing built for one event or a thousand.

Self-host for free. Or run on our infrastructure and pay only for the team slots you actually use — no subscription required.

Self-hosted

Run Zonventure on your own server. Same codebase as hosted.

Free forever

You bring the box.

  • Unlimited adventures, events, players
  • All authoring + live-view features
  • Stripe / SMTP / metrics — opt-in
  • Postgres backups via zv -backup
  • Community support on the issue tracker
Read the docs

Hosted Free

Try the hosted product without a credit card.

€0/month

For evaluation + small one-off events.

  • 1 organisation, 1 arranger seat
  • 1 active event at a time
  • Up to 10 team slots / month included
  • Demo + community-catalog adventures
  • Email support, best-effort
Sign up free

Team

Predictable monthly billing for steady operators.

€49/month

Includes 30 slots / month — extras at €1.50.

  • Up to 5 arranger seats
  • Unlimited concurrent events
  • Webhook integrations + audit log export
  • Priority + scheduled-event support
  • 14-day rolling backups retained off-host
Talk to us

Enterprise

Custom hosting, contracts, and integrations.

Custom

For large rollouts, schools and tour operators.

  • SSO (SAML / OIDC)
  • Custom DPA + region-pinned hosting
  • White-label domain + branding
  • Dedicated support + uptime SLA
  • Migration assistance from self-host
Contact sales

What's in each plan

Feature Self-host Free PAYG Team
Adventures, authoring, players
Concurrent events 1
Team slots 10/mo€2 ea30 incl.
Arranger seats 1 5
Stripe-hosted invoices opt-in
Webhooks + audit-log API
Backups retained for you DIY 14 days
Support channel communityemail (best-effort)email (priority)email + scheduled

Frequently asked

Is self-host really the same code?

Yes. The hosted product runs the same binary you'd build from the public source tree. There's no "Pro Edition" gating features behind a key — paid plans pay for our hosting, backups, and support, not for features.

What's a "team slot"?

One playing team in one event. A slot is consumed when the arranger creates a team for a specific event. If a team doesn't show up, the slot stays consumed — refunds work the same way Stripe does (admin can refund unused slots from the dashboard).

How do I move from self-host to hosted (or vice versa)?

zv -backup writes a portable Postgres dump. zv -restore on the other end replays it. Your users, adventures, events, and teams come along; magic links keep working as long as the public origin matches. See the manual for the runbook.

Do players pay anything?

No. Pricing is per arranger / per event. Players join via a magic link from any phone browser — there's no app, no signup, no card.

What happens to data when I cancel?

You can export your full org data as a JSON archive from Settings → Account at any time. Deleted accounts are purged on a 7-day grace window so an accidental click is recoverable. (See our Privacy Policy for the full retention table.)

Can I get a refund on unused slots?

Yes. Refund any unused slots from the Purchases tab; the charge is reversed via Stripe and the assignment is freed within a few minutes. Already-played slots are non-refundable.