Get startedLocal quickstart

Local quickstart (wallet demo)

Goal: run a real Causet runtime locally, create the wallet demo, submit one intent, and inspect state and timeline.

This is the recommended path to validate a real integration. It is not the interactive learning environment.

The wallet demo and local Docker runtime are for local development and evaluation — see What runs today? for availability, maturity, and production-support details.

Prerequisites

  • Docker Desktop (or compatible Docker engine) running
  • Node.js 20+
  • macOS, Linux, or WSL2

1. Install the CLI

curl -fsSL https://install.causet.io/install.sh | bash

What this does: installs causet on your PATH.


2. Verify installation

causet version
causet doctor

What this does: prints the CLI version and checks Docker, network, and local prerequisites.


3. Create the wallet demo

causet new wallets my-wallets
cd my-wallets

What this does: scaffolds the wallet demo from official templates.


4. Start the local runtime

causet local up
causet context use env local
causet local status

What this does: downloads the compose stack (if needed), starts Causet services, and points the CLI at http://localhost:8085. No Cloud login required.

If provisioning was skipped, deploy rules from the project directory:

causet build compile --runtime causet --out dist
causet deploy --fork sandbox --yes

5. Open the demo UI

npm install --prefix app
cp -n .env.example .env 2>/dev/null || true
npm run dev --prefix app

Open http://localhost:3850.


6. Submit a transaction

In the UI:

  1. OPEN_WALLET for wallet-alice
  2. FUND_WALLET with 10000 (amounts are cents)

Or via CLI:

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

What this does: submits intents to the local runtime. Expected: ACCEPTED with a timeline id.


7. Inspect state, events, and timeline

causet inspect state --entity wallet-alice --stream wallet_stream --fork sandbox
causet inspect timeline --entity wallet-alice --stream wallet_stream --fork sandbox
causet query list_wallets --fork sandbox

inspect state shows entity state (optionally at a timeline cursor with --cursor). inspect entity shows the current snapshot. inspect timeline lists committed steps.

What you should see: wallet fields, ordered timeline steps, and projection rows from list_wallets.


8. Stop or reset

# Stop demo UI: Ctrl+C in the npm terminal
 
causet local down          # stop runtime (keeps data volumes)
causet local reset --yes   # destructive wipe of local Causet data

Verification checklist

  • causet version prints a version
  • causet doctor reports no blocking issues
  • causet local status shows API ready
  • UI loads at http://localhost:3850
  • OPEN_WALLET / FUND_WALLET accepted
  • causet inspect timeline shows events for wallet-alice

Troubleshooting

IssueFix
Demo says runtime not runningcauset context use env local then causet local up
Docker not availableStart Docker Desktop; re-run causet local up
Port 8085 in useStop the other process or see causet local logs
Deploy failedFrom my-wallets: causet build compile --runtime causet --out dist && causet deploy --fork sandbox --yes
UI can’t reach APIConfirm .env CAUSET_API_URL=http://localhost:8085

Advanced Docker Compose, env tables, and ops details: CLI · Runtime options.


Next step

Inspect the timeline in depth →