Trial & paid tiers
veriCue licensing is fully offline. A license is an RSA-signed JSON key file that the server library verifies against an embedded public key - no account, no activation server, no network calls. Your application under test never phones home.
Plans
| Plan | Sessions | Model | Support | Price |
|---|---|---|---|---|
| Trial | 1 | local trial | limited e-mail support | EUR 0 / 30 days |
| Professional | 3 | organization license (signed key file) | first response within 2 business days | EUR 299/quarter or EUR 990/year |
| Enterprise | 5 | floating, self-hosted | 1 business day | from EUR 2,900/year |
| Enterprise Plus | custom | floating + optional HA | dedicated support | from EUR 6,900/year |
All paid tiers include the same core automation protocol and product capabilities. Plans differ primarily in licensing model, number of concurrent automation sessions, support level and enterprise deployment options.
All prices are net (excl. VAT). Enterprise and Enterprise Plus use a self-hosted floating license server and can add further capacity at EUR 450/year per additional concurrent automation session. See the full price list, including the Implementation Sprint and the Launch Bundle, at vericue.dev/pricing, or contact sales@vericue.dev for a quote.
What is a concurrent automation session?
One concurrent automation session is one active test-client connection to a veriCue server instance. The number of developers who can write or maintain test code is not limited by the license.
The server accepts new connections while active connections < licensed sessions; the connection that exceeds the limit is refused with error 1009 license_session_limit_reached (the error identifier predates the current terminology and is kept stable for compatibility). Disconnecting frees the session immediately.
The Professional tier is an organization license: the signed key file is issued to your organization and is not technically locked to a specific machine. The session limit is what the server enforces.
Trial
If you never call setLicenseFile() (or setLicenseServer()), the server starts in trial mode automatically:
- 30 days, counted from the first run on that machine (a marker file is stored in the per-user data directory, e.g.
~/.local/share/vericue/.vericue_trial; override the location with theVERICUE_TRIAL_DIRenvironment variable for containers or read-only homes). - 1 concurrent automation session - one client connection at a time.
- Full protocol, no command restrictions.
When the trial expires, the server keeps running but refuses every command except handshake, ping, and version, returning error 1012 trial_expired. Your application is unaffected - only the automation interface is gated.
There are two ways to evaluate veriCue:
- Self-service trial - the keyless mode described above: 30 days, 1 session, Quick Start docs, no implementation support. Start any time, no credit card, no contact required.
- Assisted evaluation - a signed trial key issued for your organization (contact sales@vericue.dev). Choose this when you want help confirming the integration in your real project: it includes one 30-60 minute onboarding session and a review of the first test you write.
The license key
A key is a small JSON document signed with RSA-SHA256:
{
"license": {
"id": "VQT-2026-0042",
"company": "Acme GmbH",
"tier": "enterprise",
"sessions": 10,
"issued": "2026-07-01",
"expiry": "2027-07-01"
},
"signature": "base64..."
}The payload field for the licensed concurrent-session count is sessions; seats is accepted as a legacy alias so previously issued keys keep working unchanged.
Load it in your application under test:
vericue::VeriCueServer server(&window);
server.setLicenseFile("/etc/acme/vericue-license.json");
server.start(4242);The signature is verified offline against the public key compiled into libvericue-server. A tampered or unsigned key is rejected (the server falls back to trial mode and logs a warning).
Support scope
The support times above are first-response targets, not resolution guarantees. Support covers veriCue itself - installation, integration, protocol usage, client libraries, and licensing - not debugging your whole application. We will help you determine whether a problem sits in veriCue or in the application under test, but fixing application-side issues remains your team's work.
Renewal
Renewing issues a new key file - nothing changes in your integration:
- Renew via the customer portal (
POST /api/license/renewextends your existing key and returns a freshly signed one), or by emailing sales. - Replace the file on disk.
- Restart the application under test (the key is read once at startup).
Expiry
An expired license - trial or paid - gates the automation interface the same way: every command except handshake, ping, and version is refused, with 1012 trial_expired for trials and 1010 license_expired for paid keys. There is no remote kill switch; expiry is determined solely by the date inside the signed key.
Licensing error codes
| Code | Name | When |
|---|---|---|
| 1009 | license_session_limit_reached | Connection exceeds the licensed concurrent-session count |
| 1010 | license_expired | Paid license past its expiry date |
| 1011 | license_invalid | Signature invalid or malformed key |
| 1012 | trial_expired | 30-day trial finished |
See the full error code reference.

