Skip to Content
Free edition

Getting started

Free edition

A downloadable twin you can run with nothing else: no license, no signup, no command-line tool, no config. The download is the whole setup.

Get it

One fixed link per simulator. Every release replaces the build behind it; there is no version to pick.

SimulatorLink
Stripe/dl/free/stripe-twin
tar xzf stripe-twin-free-darwin-arm64.tar.gz
./stripe-twin
#  expect: rystic: stripe-twin <ver> listening on [::]:8080 (model sha256:…) — free edition, world customer_with_card
curl -s localhost:8080/_rystic/version
#  expect: {"contract":6,"edition":"free","product":"stripe-twin","world":"customer_with_card",...}

Point your SDK at http://localhost:8080 as usual. Any Authorization header works.

What it is

  1. The modeled API, reads and writes alike. Create a customer, confirm a payment intent, refund a charge — the world moves as the licensed twin’s does.
  2. One canonical world per simulator, loaded at start. Stripe’s is customer_with_card. Restart the process to get it back; that is the only reset.
  3. GET /_rystic/version and GET /_rystic/routes, so a client can tell what it is talking to.

What it is not

The control plane is compiled out, not switched off. Every one of these answers 404 with a body naming the paid unlock:

RemovedWhat the licensed twin does with it
POST /_rystic/seed, /_rystic/reset, /_rystic/scenario, /_rystic/clock, /_rystic/seed-rngset the world, pin the clock, choose any of the pack’s scenarios
GET /_rystic/inspect, /_rystic/egress, /_rystic/events, /_rystic/uidump state, read rendered webhooks, watch the twin live
/_replay/*, --scenario, --seed, RYSTIC_SCENARIO, RYSTIC_SEED, --livetapes, boot-time worlds, live feeds

State is visible only through the modeled API’s own GETs. sweep, docker via the registry, and the rystic CLI’s run/pull are licensed too.

What it reports

The free edition phones home; the licensed twin never does. At start, once an hour, and on a clean stop it POSTs to www.rystic.ai/api/free-metrics:

  1. product, version, edition, world
  2. operating system and architecture
  3. a random install id, written to .rystic-free-id beside the binary on first run
  4. the event (start, heartbeat, stop) and seconds since start
  5. request counts per API route

Nothing from request bodies, no hostnames, and the server stores no IP. There is no opt-out; an unreachable endpoint changes nothing about how the twin runs. The EULA in the archive (LICENSE.txt §13) says the same.

Upgrading

A license is the same binary plus the control plane, the scenario pack, seeds, tapes, --live, sweep, and docker via registry.rystic.ai. Request one, then rystic pull stripe-twin.

Last updated on