WebExeBuilder Documentation

Gumroad Licensing Setup Guide

Setting Up Gumroad License Verification

This guide walks you through connecting your WebExeBuilder project to your Gumroad product so your app can verify license keys online.


What You Need

  • A product listed on Gumroad.com
  • Your Gumroad Product ID (the short permalink for your product)
  • Your app project open in WebExeBuilder

Step 1: Enable Restricted Mode

On the Security tab, check "Create a restricted application". This turns on the licensing system for your app.

Step 2: Select Gumroad as Your License Provider

Under License Provider, select Gumroad License API instead of Built-in License System.

You'll see these settings appear:

Setting What to Enter
Gumroad Product ID Your product's permalink from Gumroad (e.g. my-cool-app)
Online re-validation every __ days How often the app re-checks the key online. Set to 0 to never re-check after the first validation.

Step 3: Set Up Your Packages

Each package in your project can map to a different Gumroad product variant. This lets you offer different tiers (Basic, Pro, etc.) from a single Gumroad product.

For each package:

Setting What to Enter
Gumroad Variant The variant name from your Gumroad product (must match exactly). Leave blank for the Default Package.
License Type Pick from the dropdown or type your own (e.g. Paid, Donation, Business). This is what shows in the About screen.

When a customer enters their Gumroad key, the app checks which variant they purchased and activates the matching package.

Step 4: Hardware Locking (Optional)

If you want keys tied to a specific computer:

  1. Check "Use System ID (hardware locked keys)"
  2. Set the Gumroad System ID field name — this is the custom field label your customers will see at checkout on Gumroad (default: "System ID")
  3. On your Gumroad product, add a custom field with the same name so customers can paste their System ID during purchase

Your app's nag screen will display the customer's System ID so they can copy it.

Note : At this time Gumroad has no provision to specify a custom field to individual product variants. So plan accordingly.

Step 5: Internet Requirement

Check "This app requires an active Internet connection" if your app needs internet to function. When Gumroad is selected as the license provider, internet is always required regardless of this setting (the app needs to reach Gumroad's servers to validate keys).


How It Works at Runtime

When your customer launches the app:

App starts
  │
  ├─ Internet check (if required or using Gumroad)
  │   └─ No internet? → Show message and exit
  │
  ├─ Is the app restricted?
  │   └─ No → App runs freely, no license needed
  │
  ├─ Has the user registered before?
  │   ├─ Yes → Check if online re-validation is due
  │   │         └─ Re-validate with Gumroad servers
  │   └─ No → Show nag/trial screen
  │
  └─ User enters Gumroad license key
      └─ App sends key to Gumroad API
          ├─ Valid → Activate matching package, save registration
          └─ Invalid → Show error message

Online Re-validation

If you set re-validation days to a value greater than 0, the app will periodically re-check the license key with Gumroad. This catches revoked or refunded purchases.

What happens if the network is down during re-validation:

Attempt What Happens
1st failure Nothing changes. App tries again next launch.
2nd failure User sees a message asking them to check their internet connection. App exits.
3rd failure Registration is silently removed. User sees the nag screen and can re-enter their key.

If the key has been revoked at Gumroad (refund, dispute, etc.), the registration is removed immediately.


Quick Checklist

  • Restricted mode enabled
  • Gumroad License API selected
  • Product ID matches your Gumroad permalink
  • Package variants match your Gumroad product variants (if using variants)
  • License type set for each package
  • Re-validation days configured (recommended: 7-30 days)
  • Hardware locking configured (if desired)
  • Internet requirement enabled (automatic for Gumroad)