{# 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 %}

Setup

Confirm your environment is ready to run the {{ company }} demo.

1 · Connect Caracal through TUI + control API

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.

2 · Create the Lynx Caracal objects

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

3 · Write caracal.toml

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"

4 · Configure environment

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-...

5 · Start the local provider network

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

6 · Run Lynx Capital

uv run uvicorn app.main:app --reload --port 8000

7 · Validate

Confirms OPENAI_API_KEY, Caracal URLs, caracal.toml resource bindings, gateway/coordinator health, and provider webhook secrets.

{% endblock %}