{# Copyright (C) 2026 Garudex Labs. All Rights Reserved. Caracal, a product of Garudex Labs Lynx Capital setup checklist for Caracal and provider configuration. #} {% extends "layout.html" %} {% block title %}Setup — {{ company }}{% endblock %} {% block content %}
Confirm your environment is ready to run the {{ company }} demo.
Install the released CLI/TUI, start Caracal, then use caracal-tui to create or confirm the Lynx zone, control key, and protected resources.
curl -fsSL https://raw.githubusercontent.com/Garudex-Labs/caracal/main/install-cli.sh | sh curl -fsSL https://raw.githubusercontent.com/Garudex-Labs/caracal/main/install-tui.sh | sh caracal up caracal-tui
In the TUI, open Control and confirm enable endpoint before creating the Lynx control key.
In the TUI, create a Lynx Capital zone, create a lynx-control control key, copy its client secret once, and add one lynx/<provider> resource for each provider in config/company.yaml. REST resources should point upstream to the provider alias such as http://mercury-bank.mock:8800.
# Required resource identifiers
lynx/mercury-bank
lynx/wise-payouts
lynx/stripe-treasury
lynx/quickbooks
lynx/netsuite
lynx/sap-erp
lynx/ocr-vision
lynx/close-engine
lynx/regulatory-filings
lynx/customer-billing
lynx/tax-rules
lynx/compliance-nexus
lynx/fx-rates
lynx/treasury-ops
lynx/vendor-portal
Create ~/.config/caracal/caracal.toml from the TUI values. The SDK reads this file directly, so keep the control key secret here and do not put Caracal credentials in .env.
zone_url = "http://127.0.0.1:8080" sts_url = "http://127.0.0.1:8080" coordinator_url = "http://127.0.0.1:4000" gateway_url = "http://127.0.0.1:8081" zone_id = "<zone id from TUI>" application_id = "<control key client_id>" app_client_secret = "<control key client_secret>" [[credentials]] env = "LYNX_MERCURY_BANK_TOKEN" resource = "lynx/mercury-bank" upstream_prefix = "http://127.0.0.1:8800"
Copy the template and fill in OPENAI_API_KEY. Provider credentials are normal integration settings; Caracal credentials come from caracal.toml.
cp .env.example .env
# edit .env → set OPENAI_API_KEY=sk-...
The local provider network is isolated under _mock/. The Lynx app still calls providers through its real registry and transport clients.
docker compose -f _mock/docker-compose.yml up -d --build --wait
uv run uvicorn app.main:app --reload --port 8000
Confirms OPENAI_API_KEY, Caracal URLs, caracal.toml resource bindings, gateway/coordinator health, and provider webhook secrets.