Software for climbing clubs in the EU

One tool for the whole club.
More climbing. Less admin.

Attendance on the mat, substitutes cascaded in minutes, routes catalogued with UIAA + French grades, and every membership fee reconciled to your bank. All in one place.

€69/month (excl. VAT) No credit card EU-hosted Cancel anytime Made in Luxembourg
< 2 min
Average substitute trainer response time via push cascade
UIAA · F
Dual grading system for every route, with wall-section overlay
CAMT.053
Bank statement import with fuzzy-match to member payments
100 %
Of €69 stays with your club. No store fees, Stripe-EU only

EU-only, GDPR-first

Servers in the EU, lead DPA is CNPD Luxembourg. Per-club Fernet encryption for medical notes, IBANs and chat. No Schrems-II surprise.

Built for climbers

Federation licences (FLERA · DAV · FFME · BMC), belay-card expiry dates, equipment inspections, trainer substitute cascade, frozen year-end snapshots. Built for climbers, not a generic club tool.

Web + native mobile

Trainers mark attendance in the hall on iOS/Android. Committee does books at the desk on web. App is free on both stores. No IAP, no surcharge.

Why Vertical Monkey

Specifics a generic club app can't touch.

Each feature below exists because a real climbing club actually needed it. From 20-member village crags to 500-member urban gyms, from volunteer-run groups to federation-affiliated competition squads. No checkbox features, no bolted-on modules.

Per-club field encryption, not a shared key.

Each tenant gets its own Fernet key, wrapped by a master KEK. A leak in one club cannot decrypt another's medical notes, IBANs, or chat history. Key rotation is per-club too.

Crypto-shredding ready for Art. 17 erasure

Substitute cascade, not a group email.

Trainer cancels → app offers the slot to the next qualified trainer → 20-min timeout → escalates. Parents see resolution, not chaos. Measured at under two minutes median.

Web Push + email fallback

UIAA + French grading, together.

Every route carries both. Walls get section overlays with position x/y. Ascents log as flash / redpoint / top-rope. Session statistics per member out of the box.

GoBD-grade double-entry ledger.

Immutable GL. Fiscal-year close is one-way. Corrections via Stornobuchung, never silent edits. Chart of accounts ships the LU PCN. Balance sheet + P&L + budget-vs-actual reconcile to GL entries.

Bank import that actually matches.

CAMT.053, CSV, or MT940 in, fuzzy-match to open membership fees out. Confidence under 0.65 stays in the review queue. No silent auto-matches against members who didn't pay.

Pay-per-module, billed monthly.

Core modules always on. Opt-in bundles (Advanced Finance, Competitions Club, Communication+) toggle atomically. Small clubs don't pay for what big clubs need.

Your own domain, with auto-TLS.

Ship on <slug>.verticalmonkey.eu by default. Bring your own domain via CNAME + TXT ownership record; TLS issued and renewed automatically.

AADC + kids-first defaults.

Members under the digital-consent age (13–16 by country) auto-land with photo-publishing off, DM restrictions on, and a parental-consent checkpoint. UK-GDPR compliant out of the box.

Federation tracking, not a spreadsheet.

FLERA, DAV, FFME, BMC: member licences, renewal dates, expiring insurance certificates, belay-card status, all flagged before they cost you a course cancellation.

Safety inspections that don't slip.

Every rope, harness, helmet and hardware gets a next-inspection date with cascading alerts. Expired equipment is auto-flagged out of lending. Audit-trail is soft-delete only.

Season snapshots, immutable.

Close a season, freeze the numbers. Year-over-year reporting that actually reconciles. No revisionist edits six months later.

Works offline in the gym.

Most climbing halls have terrible cell signal. Trainers mark attendance and log hours on the mat, offline. The app queues changes and syncs automatically when reception returns. No lost sessions, no "we'll do it later".

Attendance + trainer hours, offline-first
Pricing

One price. One club. No surprises.

Prices excl. VAT. EU-VAT is added at checkout based on your club's country, handled automatically by Stripe. Pay for 10 months and get 12 (save 2 months with annual billing).

Monthly
€69/month
Billed monthly · excl. VAT · cancel anytime
10-day free trial · no credit card required
Start free trial →
Storage add-ons · monthly (excl. VAT): +€6 / 40 GB · +€21 / 200 GB · +€49 / 1 TB Storage add-ons · yearly (excl. VAT, pay for 10 months): +€60 / 40 GB · +€210 / 200 GB · +€490 / 1 TB
Compliance

Your data belongs to you.

GDPR, UK-GDPR and the Age Appropriate Design Code, enforced server-side, not hand-waved in a privacy policy. Privacy is a feature here, not a checkbox.

EU-only data residency

  • Servers and object storage stay inside the EU
  • Lead DPA: CNPD Luxembourg
  • No US sub-processors in the hot path
  • DPA auto-signed on sign-up
  • Full JSON export on request, hard-delete in 90 days

Granular consent engine

  • Purposes split out: photos, newsletter, federation sharing …
  • Revocable any time via /consents
  • Minor protection by country (13–16 digital-consent age)
  • Audit trail: who granted, when, on which text version
  • UK AADC defaults when country = GB

Multilingual from day one

Four launch locales live. Adding a new locale is a single JSON file. More EU languages land as we onboard clubs in new countries.

LB · Lëtzebuergesch DE · Deutsch FR · Français EN · English + more on request
FAQ

Questions, answered.

Can I bring my own domain?
Yes. Add a CNAME record to ingress.verticalmonkey.eu plus a one-time TXT record for ownership verification. TLS is issued automatically and renewed before expiry.
What happens to my data if I cancel?
Full JSON export at any time. After cancellation we soft-keep your club for 90 days (re-activate in one click), then hard-delete.
Is there really no mobile-app surcharge?
Correct. The app is free on both stores and has no in-app purchases. Your club subscribes on the web only. Apple Guidelines 3.1.3(c) "Enterprise Services" and 3.1.3(f) "Free Stand-alone Apps" both cover the model. Stores take 0 %; Stripe's EU processing fee (~1.5 %) is the only deduction.
Which languages are supported?
Four launch locales are live today: Lëtzebuergesch, Deutsch, Français, English. New locales land via a single JSON file. We're adding languages as we onboard clubs in new countries. NL, IT, ES, PT and others are planned on request.
Can I self-host?
Not at this price. We focus on running a reliable SaaS; enterprise self-hosting is possible on request.
Who owns my data?
You do. Vertical Monkey is a data processor under GDPR Art. 28; your club is the controller. DPA auto-signed on signup.
What about federations (FLERA, DAV, FFME, BMC)?
Licence numbers, renewal dates, and insurance certificates track per-member. Expiry alerts fire 30 days and 7 days ahead. No federation API integrations yet. Manual data, automated reminders.

Ready to simplify your club?

10 days on us. No credit card. No strings.

Start free trial →