# Rystic > Rystic builds local, stateful simulators of the third-party APIs your agents depend on — Stripe, GitHub, Kalshi — validated against the real service, and safe to reset, manipulate, and break. Start here if you are an agent: https://www.rystic.ai/docs/agent-quick-start.md — the API key, the install, the run line for every simulator, the control plane, and what each error means. What each plan opens, route by route: https://www.rystic.ai/docs/control-plane.md. Rystic simulators run locally as a single static binary, and Docker is optional (each one is also published as an image at registry.rystic.ai; your API key is the pull credential). Your API traffic stays on your machine. On Free and Pro the simulator checks in with lease.rystic.ai while it runs (product, version, and which 30-second windows it was busy; never your requests or data); Enterprise runs offline on a license file. Each one is stateful and deterministic: boot a known world, run your code, reset, get the same result every time. Every response is measured against the live service. Simulators available: Kalshi, GitHub, Slack, Resend, PayPal, Lob, Stripe. Any service with a spec, docs, source, or captured traffic can become a simulator, including internal APIs. ## Docs - [Plans and API keys](https://www.rystic.ai/docs/licensing.md): Free, Pro or Enterprise — what each plan gets you, how an API key signs the CLI in, what a running simulator sends, and what its errors mean. - [Installation](https://www.rystic.ai/docs/installation.md): From nothing to a running simulator. - [Agent quick start](https://www.rystic.ai/docs/agent-quick-start.md): Written for the agent, not the human. Get the API key, install, run each simulator, hit it, report back. - [Kalshi](https://www.rystic.ai/docs/simulators/kalshi.md): A local Kalshi — real matching engine, WebSocket feed, captured-day replay. - [GitHub](https://www.rystic.ai/docs/simulators/github-pulls.md): A stateful GitHub simulator — pull requests, reviews, issues, checks, git and gh, with real permission rules. - [Slack](https://www.rystic.ai/docs/simulators/slack.md): Run the Slack Web API locally, or connect an MCP agent to a seeded workspace in Harbor. - [Resend](https://www.rystic.ai/docs/simulators/resend.md): A local Resend email and webhook simulator for stateful integration tests. - [PayPal](https://www.rystic.ai/docs/simulators/paypal.md): Local PayPal checkout, authorization, capture and refund testing with deterministic payment history. - [Lob](https://www.rystic.ai/docs/simulators/lob.md): A stateful Lob simulator — addresses, postcards, idempotent sends, the mail stream's unhappy paths. - [Stripe](https://www.rystic.ai/docs/simulators/stripe.md): A stateful Stripe simulator — charges, refunds, checkout, customers. - [Kalshi backtesting](https://www.rystic.ai/docs/kalshi-backtesting.md): Replay captured Kalshi markets through the simulator and run your bot against each tape with rystic batch. - [Slack MCP in Harbor](https://www.rystic.ai/docs/slack-harbor.md): Connect your Harbor agent to Slack MCP. Get the licensed image, export a task, verify a reply and reset, then attach your own policy and grader. - [Slack Harbor reference run](https://www.rystic.ai/docs/slack-harbor-reference.md): Run the packaged held-out Slack task with Rystic's reference Harbor harness and a host-side model provider. - [Control plane and plans](https://www.rystic.ai/docs/control-plane.md): Every /_rystic route and the plan that serves it, what each plan boots and resets to, network fault profiles, and how to discover a simulator's routes and worlds. - [The rystic CLI](https://www.rystic.ai/docs/cli.md): Installs, runs, and health-checks every simulator — natively or as a container. - [CLI flag reference](https://www.rystic.ai/docs/cli-reference.md): Every rystic command and flag, generated from command help. - [Docker](https://www.rystic.ai/docs/docker.md): Container defaults, Compose command overrides, environment variables, and the generated compose file. - [Docker builder](https://www.rystic.ai/docs/docker-builder.md): Pick your simulators, set each one's options, and copy the rystic.yaml, CLI lines and Compose file that start them. - [Integration tests in CI](https://www.rystic.ai/docs/integration-testing.md): Run your integration tests against a simulator in GitHub Actions — one service container, one secret, your existing test runner. - [Fidelity](https://www.rystic.ai/docs/fidelity.md): How we make sure each simulator matches the real API — unit tests, workflow tests, real-world usage. ## Plans - [Pricing](https://www.rystic.ai/pricing): Free (5 hours a month, one fixed world per simulator, reset only), Pro (every scenario, seeding, fault injection, per seat), Enterprise (a license file, offline). ## For agents - [Agent skill](https://www.rystic.ai/.well-known/agent-skills/rystic/skill.md): what Rystic is for, the quickstart, plan gating, and how to find every option. - [Docs MCP server](https://www.rystic.ai/mcp): JSON-RPC 2.0 over HTTP, no auth; tools search_rystic_docs and fetch_rystic_doc. - [MCP server card](https://www.rystic.ai/.well-known/mcp/server-card.json) - [Agent skills index](https://www.rystic.ai/.well-known/agent-skills/index.json) - [Agent card](https://www.rystic.ai/.well-known/agent-card.json) - [Docs index as Markdown](https://www.rystic.ai/docs.md) The CLI carries the site's pages as of its release, readable offline: `rystic docs` lists them, `rystic docs ` prints one as Markdown, `rystic docs search ` finds a section, and `rystic docs -online` reads the live set. `rystic help ` prints a command's flags (CLI 0.0.22 writes it to stderr: `rystic help run 2>&1`), and `rystic features ` lists what an installed simulator can do. ## FAQ ### How do I know the fidelity is high enough? Every simulator is probed against the live API before release: the same requests go to both, and the responses and state transitions are compared. The percentage on each card is that result, published from CI per commit; the full board is at /docs/fidelity. ### What is an API simulator? A local, stateful stand-in for a third-party API. Same endpoints, same request formats; point your SDK at localhost and it runs on your machine or in CI. On Free and Pro the simulator checks in with Rystic while it runs; Enterprise runs fully offline. ### Does it call the real API? No. Test traffic stays on your machine or CI runner. The live API is only touched when we measure a simulator, never during your tests. ### How is this different from mocks or recorded fixtures? A mock returns what you told it to. A recording replays one past conversation. A simulator keeps state and answers requests nobody recorded. ### Why does an integration test need state? An integration test is a sequence: create a charge, refund it, read the balance. Each call has to see the effect of the last one, and a simulator fails the test when the sequence is wrong. ### How do I set up a specific scenario? Through the control plane at /_rystic/: seed data, load a named scenario, inject rate limits and 500s, reset between tests. Free boots one fixed world per simulator and can reset it; the rest is Pro. ### Can you simulate another API or an internal service? Yes. From an OpenAPI spec, docs, source, captured traffic, or a mix. Internal APIs included. Email founders@rystic.ai. ## Optional - [Full docs as one file](https://www.rystic.ai/llms-full.txt) - [Homepage](https://www.rystic.ai)