install.causet.io · official installer

Install Causet and run the wallet demo locally.

Install the CLI and compiler, start the local Docker runtime, scaffold the wallets demo, submit an intent, and inspect the timeline. Local development only — not production-supported.

  • Causet CLI + compiler from GitHub Releases (SHA-256 verified)
  • Local Docker runtime via causet local up
  • Wallets demo UI on port 3850 (separate Node server)
  • No Causet Cloud login required for local development
Golden path

Install and run the wallet demo

Fewest decisions. Verified against Causet CLI v10.x. The demo UI does not open automatically — start it with npm run dev --prefix app and open http://localhost:3850 yourself.

  1. Check prerequisites

    macOS or Linux (amd64/arm64). Docker Engine or Docker Desktop with Compose v2. Node.js 20+ for the wallets UI. Windows requires WSL2 running a supported Linux environment.

    $ docker --version
    $ docker compose version
    $ node --version          # >= 20 for wallets UI
    $ curl --version
  2. Install the CLI

    $ curl -fsSL https://install.causet.io/install.sh | bash
  3. Verify the installation

    $ causet version
  4. Run preflight

    causet doctor checks CLI version, compiler resolution, context files, and API/realtime reachability. For a fresh local setup, use causet context use env local after causet local up.

    $ causet doctor
  5. Create the wallet demo

    Scaffolds my-wallets/ from the public templates repo, runs npm install --prefix app, and provisions the local platform/application (compile + deploy to sandbox). If the Docker stack is not running, the CLI prompts to start it interactively. Does not start the Node UI or open a browser.

    $ causet new wallets my-wallets
  6. Start the local runtime

    Pulls images if needed, installs compose files into ~/.causet/local/ when missing, starts the stack, waits for health checks (default 2 minutes), and points the CLI at http://localhost:8085. Skip if step 5 already started the stack.

    $ cd my-wallets
    $ causet local up
  7. Open the demo UI

    The wallets template serves on port 3850 via app/server.mjs. Open the URL manually after the server prints its listen message.

    $ npm run dev --prefix app
    http://localhost:3850
  8. Run one transaction

    From the UI, open a wallet and fund it — or submit intents from the CLI (amounts are integer cents):

    $ causet intent OPEN_WALLET \
        --stream wallet_stream \
        --entity wallet-alice \
        --fork sandbox \
        --payload '{"wallet_id":"wallet-alice","owner":"alice","currency":"USD"}'
    $ causet intent FUND_WALLET \
        --stream wallet_stream \
        --entity wallet-alice \
        --fork sandbox \
        --payload '{"wallet_id":"wallet-alice","amount":10000,"reference":"paycheck","movement_id":"fund-1"}'
  9. Inspect state and timeline

    Confirm committed state and the decision/event timeline for the entity.

    $ causet inspect state \
        --entity wallet-alice \
        --stream wallet_stream \
        --fork sandbox
    $ causet inspect timeline \
        --entity wallet-alice \
        --stream wallet_stream \
        --fork sandbox \
        --all
What each command does

causet new wallets my-wallets

  • Clones the wallets template into my-wallets/
  • Demos require local CLI context (not cloud-only)
  • Prompts to run causet local up when the Docker stack is down
  • Runs npm install --prefix app unless --no-install
  • Creates local platform + application, compiles DSL, deploys to sandbox
  • Writes .causet/causet.yaml and updates ~/.causet/config.json
  • Does not start the Node UI or open a browser

causet local up

  • Installs compose files into ~/.causet/local/ if missing (causet local install)
  • Checks Docker / Compose availability; optional --pull to refresh images
  • Starts Postgres, Redis, Redpanda, MinIO, runtime, query, projection, management API, and realtime
  • Waits for health checks (default timeout 2 minutes; --no-wait to skip)
  • Configures the CLI for the local management API (http://localhost:8085)
  • Does not start the wallets Node UI
Verify setup
$ causet doctor
$ causet local status
$ causet context show
Expected healthy local result
 auth token                 not required (local open mode)
 platform context           local-platform
 application context        my-wallets
 api reachable              http://localhost:8085
 Local Docker stack healthy
Platform compatibility

CLI, compiler, and local runtime by platform

Derived from GitHub Release artifacts (Causet-Inc/causet-cli) and the published local compose stack. A platform is not supported just because one component installs.

Platform CLI Compiler Local runtime Notes
macOS ARM64 Native Native Supported Apple Silicon. Primary macOS target.
macOS AMD64 Native Native Supported Intel Mac.
Linux AMD64 Native Native Supported Primary Linux target.
Linux ARM64 Native amd64 fallback Docker emulation No native causet-compiler-linux-arm64 artifact. Installer falls back to causet-compiler-linux-amd64 (requires amd64 emulation via qemu/binfmt) or use CAUSET_SKIP_COMPILER=1. Compose defaults Postgres to linux/amd64 — Docker pulls amd64 images on ARM64 hosts.
Windows Not native Not native WSL2 only Use WSL2 with Ubuntu or another supported Linux distro. Native Windows binaries are not published by this installer.

Release CLI version: v10.0.12 · Pin with CAUSET_VERSION (see version pinning).

Local service URLs

Where things listen

Ports from docker-compose.yml and the wallets demo server. Local mode uses open development defaults — not for production.

Service URL Purpose Health
Wallets demo UI http://localhost:3850 Node demo app (npm run dev --prefix app)
Local management API http://localhost:8085 Control plane for local CLI context, deploy, and platform APIs /actuator/health
Runtime API http://localhost:8080 Intent execution /actuator/health
Realtime service http://localhost:8081 SSE / live streams /healthz
Query service http://localhost:8082 Named queries /actuator/health
Projection service http://localhost:8083 Projection worker /actuator/health
MinIO console http://localhost:9001 Object storage UI
Redpanda broker localhost:9092 Kafka-compatible broker

Internal compose ports also used locally: Postgres 5432, Redis 6379, MinIO S3 API 9000, runtime gRPC 9090.

What runs locally today

Capabilities on this install path

Aligned with the docs capability model. Local Docker runtime is for development on a trusted machine — not production-supported.

Local CLI + compilerInstall via this site; compile and deploy to local sandbox.
Local Docker runtimeAvailable now for development. Open auth defaults — do not expose publicly.
Wallets demoRunnable locally with Node 20+ and Docker.
Timeline + state inspectioncauset inspect timeline and causet inspect state.
Replay / recoveryAdvanced CLI commands (causet recovery) — sandbox-oriented; see docs.
Causet CloudSeparate login path (causet login) — not required for the wallet demo.
@causet/sdkUsed by the wallets demo UI; version pinned in the template.
Webhooks (local)Disabled in the local compose defaults (WEBHOOK_DELIVERY_ENABLED=false).
Verify downloads

Inspect the installer and what changes on your system

Inspect the installer

Review the script before executing it.

$ curl -fsSL https://install.causet.io/install.sh -o install.sh
$ less install.sh
$ bash install.sh

What changes on your system

  • Binaries: ~/.causet/bin/causet and causet-compiler
  • Managed PATH/completion block in zsh, bash, or fish profile
  • SHA-256 verification against release checksums.txt
  • No sudo required; no background services installed by the script
  • Local runtime data under ~/.causet/ when you run causet local up
Pin a CLI version

Pass CAUSET_VERSION into the bash process. Prefixing curl alone only sets the variable for curl. Current release: v10.0.12.

curl -fsSL https://install.causet.io/install.sh | env CAUSET_VERSION=v10.0.12 bash
export CAUSET_VERSION=v10.0.12
curl -fsSL https://install.causet.io/install.sh | bash

CLI tags use v10.x (2026). Do not use CAUSET_VERSION=v10.0.12 curl ... | bash.

Troubleshooting

By symptom

Start with causet doctor and causet local status.

causet command not found

Restart your shell or source your profile.

source ~/.zshrc
source ~/.bashrc
export PATH="$HOME/.causet/bin:$PATH"
causet version

Docker is not running

Start Docker Desktop or the Docker daemon, then:

causet local up

Docker Compose unavailable

Compose v2 plugin required (docker compose, not legacy docker-compose).

docker compose version

Port already in use

Stop the conflicting process or change port mappings under ~/.causet/local/.

lsof -i :8085
lsof -i :3850
lsof -i :8080

Container unhealthy

causet local status
causet local logs -f
causet doctor

Image pull failed

causet local up --pull

Demo did not compile / provision

causet context use env local
causet local status
causet doctor
cd my-wallets
causet build
causet deploy --fork sandbox --yes

UI cannot reach runtime

Confirm the stack is up and the UI listens on :3850.

causet local status
curl -fsS http://localhost:8085/actuator/health
curl -fsS http://localhost:3850/ | head
Platform-specific and advanced troubleshooting

Unsupported architecture

Installer supports macOS/Linux on amd64 and arm64 only.

Compiler artifact unavailable (Linux ARM64)

curl -fsSL https://install.causet.io/install.sh | env CAUSET_SKIP_COMPILER=1 bash

Or allow the installer to fetch causet-compiler-linux-amd64 with qemu/binfmt emulation.

Checksum mismatch

Re-download or pin a known release. Do not disable verification unless debugging.

Permission denied

curl -fsSL https://install.causet.io/install.sh | env CAUSET_INSTALL_DIR=$HOME/.causet/bin bash

Query service unavailable

curl -fsS http://localhost:8082/actuator/health
causet local logs causet-query-service
Advanced configuration

Beyond the golden path

Operational details for CI, custom ports, manual compose, reset, and uninstall.

Manage the local runtime with the CLI
$ causet local install   # compose files → ~/.causet/local/
$ causet local up        # start (installs first if needed)
$ causet local status
$ causet local logs -f
$ causet local down
$ causet local reset --yes

causet local up --pull refreshes images. causet local reset --yes deletes Docker volumes (Postgres, Redis, Redpanda, MinIO, runtime state). Add --remove-install to also remove compose files.

Manual Docker Compose

Same stack published at this site. Prefer causet local up unless you need a custom workflow.

$ curl -fsSL https://install.causet.io/docker-compose.yml -o docker-compose.yml
$ docker compose up -d
$ causet context use env local
Installer environment variables
CAUSET_SKIP_SHELL_SETUP=1 bash install.sh
CAUSET_INSTALL_DIR=$HOME/.local/bin bash install.sh
curl -fsSL https://install.causet.io/install.sh | env CAUSET_VERSION=v10.0.12 bash
CAUSET_SKIP_COMPILER=1 bash install.sh
  • CAUSET_VERSION — pin a GitHub release tag (e.g. v10.0.12)
  • CAUSET_INSTALL_DIR — binary directory (default ~/.causet/bin)
  • CAUSET_SKIP_SHELL_SETUP=1 — skip PATH/completion profile updates
  • CAUSET_SKIP_COMPILER=1 — CLI only (Linux ARM64 without compiler)
  • CAUSET_VERIFY_CHECKSUMS=0 — disable checksum verification (not recommended)
Reset local runtime data

Stops containers and deletes local volumes — destructive.

causet local down
causet local reset --yes
Uninstall the CLI
causet uninstall --yes

Stops the local stack (best effort), removes ~/.causet, and removes the CLI binary. Use --keep-data to preserve ~/.causet. Remove the managed shell block between # >>> causet shell setup >>> and # <<< causet shell setup <<< if it remains.

Other local demos and templates
$ causet templates list
$ causet new inventory my-inventory
$ causet new ai-fraud-detection my-fraud   # needs OpenAI key
$ causet new support-agent my-support     # needs OpenAI key