Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion mintlify-docs/ai-tools/build-local-rgb-agent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ npm init -y && npm pkg set type=module
npm install @kaleidorg/mind @qvac/sdk @modelcontextprotocol/sdk
```

KaleidoMind works with `@qvac/sdk` 0.13.1 and later and is tested with 0.21. Save this as `agent.mjs`:
The current KaleidoMind package requires `@qvac/sdk >=0.20.0` and is tested with 0.21.0. Save this as `agent.mjs`:

```js agent.mjs
import { createInterface } from 'node:readline/promises';
Expand Down
2 changes: 1 addition & 1 deletion mintlify-docs/ai-tools/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ description: "Common questions about the KaleidoSwap AI tools, covering custody,
</Accordion>

<Accordion title="Can I use these tools with the Desktop App or the Extension?">
The Desktop App hosts KaleidoMind directly as in-app chat, with `kaleido-mcp` consumed as a stdio sidecar for its tools, switchable from **Settings > Capabilities**. The Browser Extension ships its own built-in conversational agent for wallet operations. The standalone MCP servers are for external hosts such as Claude Desktop or your own client.
The Desktop App hosts KaleidoMind directly as in-app chat, with `kaleido-mcp` consumed as a stdio sidecar for its tools, switchable from **Settings > Capabilities**. The Browser Extension ships its own built-in conversational agent for wallet operations. Use the unified `kaleido-mcp` server for external hosts such as Claude Desktop or your own client.
</Accordion>
</AccordionGroup>

Expand Down
6 changes: 3 additions & 3 deletions mintlify-docs/ai-tools/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebarTitle: "Getting Started"
description: "Pick the right way to connect an AI agent to Bitcoin, MCP servers, KaleidoAgent, or KaleidoMind, with the prerequisites and the spend gate each one gives you"
---

Four surfaces expose the same Bitcoin tools to a model, and they differ mostly in who runs the agent loop and what stops a spend. This page covers what to have in place first, which surface fits, and how each one gates the calls that move value.
Choose between an MCP connection, an embedded Mind engine and the KaleidoAgent service. Skills customize behavior within these integrations. This page covers what to have in place first, which surface fits, and how each one gates the calls that move value.

## Before You Start

Expand All @@ -26,7 +26,7 @@ If you have not installed anything yet, start with [Installation](/ai-tools/inst
| Talk to a wallet by chat or voice, on-device | [KaleidoMind](/ai-tools/kaleido-mind) |
| Change agent behavior without touching code | [Skills](/ai-tools/skills) |

Whichever surface you pick, the first run follows the same order: a read-only call, then a wallet call, then a quote, and only then an execution. That order is diagnostic as much as it is cautious. A failure at the read-only step is a connection problem, a failure at the wallet step is a seed or network problem, and anything that reaches a quote has both already ruled out.
Whichever surface you pick, the first run follows the same order: a read-only call, then a wallet call, then a quote, and only then an execution. That order is diagnostic as much as it is cautious. Inspect the tool error at each step: market data can fail upstream, wallet reads need their own prerequisites, and a successful quote does not verify settlement capacity.

Each surface carries its own walkthrough: [MCP Servers](/ai-tools/mcp-servers#first-run) and [KaleidoAgent](/ai-tools/kaleido-agent#first-run). KaleidoMind ships inside a host rather than running on its own, so its first run is the [Desktop App installation](/desktop-app/getting-started/installation). [Skills](/ai-tools/skills) change how an agent behaves on any of these surfaces, they are not a surface of their own.

Expand All @@ -36,7 +36,7 @@ The two agent surfaces gate spending differently, and it is worth knowing which

| Surface | Gate |
|---------|------|
| **[KaleidoMind](/ai-tools/kaleido-mind)** | Structural. Every fund-moving tool is marked `requiresConfirmation`, so the engine pauses for the host's confirmation sheet. The model cannot bypass it |
| **[KaleidoMind](/ai-tools/kaleido-mind)** | The engine gates tools marked `requiresConfirmation`. Hosts must classify custom tools correctly and provide an approval callback; check MCP adapter compatibility for the installed version |
| **[KaleidoAgent](/ai-tools/kaleido-agent)** | Mixed. `dry_run` is enforced in code; the other risk limits in `agent.config.json` are rules given to the model, not an independent ceiling |
| **[MCP servers](/ai-tools/mcp-servers)** | Whatever your host provides. Most MCP clients prompt per tool call, but that is the client's behaviour, not the server's |

Expand Down
49 changes: 25 additions & 24 deletions mintlify-docs/ai-tools/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ Each AI surface installs independently. Pick the one that matches what you are b

| Surface | Install path | Prerequisites |
|---------|-------------|---------------|
| **[MCP servers](#mcp-servers)** | `npx` for the gateway, local build for the focused servers | Node.js 20+, an MCP host |
| **[MCP servers](#mcp-servers)** | `npx -y kaleido-mcp` | Node.js 20+, an MCP host |
| **[KaleidoAgent](#kaleidoagent)** | Clone and build from source | Node.js 20+, KaleidoCLI, Nanobot, an LLM API key |
| **[KaleidoMind](#kaleidomind)** | Ships inside the Desktop App, `npm install @kaleidorg/mind` for your own host, or build the repo for development | Desktop App, or Node.js and the QVAC SDK (`@qvac/sdk`) |
| **[KaleidoMind](#kaleidomind)** | Ships inside the Desktop App, `npm install @kaleidorg/mind` for your own host, or build the repo for development | Node.js for the starter; QVAC only for on-device inference |

<Warning>
Every surface here signs with a real BIP-39 mnemonic or drives a live node. Start on test networks, keep `dry_run` enabled until a setup is verified, and never put a mainnet seed in a file you commit or share.
You can start without funds: MCP market reads need no wallet, and Mind has an offline example. When connecting a wallet, use test networks and keep seeds out of committed or shared files. `dry_run` is a KaleidoAgent setting, not a global MCP or Mind option.
</Warning>

## MCP Servers
Expand All @@ -25,30 +25,17 @@ KALEIDO_NETWORK=signet npx -y kaleido-mcp
```

<Note>
The docs describe `kaleido-mcp` 0.3.0 and later, which adds the `KALEIDO_NETWORK`
preset and the `kaleido_node_*` tools and settles swaps atomically only. If `npx`
resolves an older cached version, run `npx -y kaleido-mcp@latest` once.
Directly launching the stdio server waits for an MCP client; it is not a chat prompt.
Add the command to your client's configuration, then request a tool call.
</Note>

From 0.3.1 the Spark and Liquid wallets are optional and not installed by plain `npx`. To enable them, run `npx -y -p kaleido-mcp -p @tetherto/wdk-wallet-spark -p @kaleidorg/wdk-wallet-liquid kaleido-mcp` and set `WDK_SEED` / `LIQUID_MNEMONIC`.
Spark and Liquid wallets are optional and not installed by plain `npx`. To enable them, run `npx -y -p kaleido-mcp -p @tetherto/wdk-wallet-spark -p @kaleidorg/wdk-wallet-liquid kaleido-mcp` and set `WDK_SEED` / `LIQUID_MNEMONIC`.

For the RGB tools you also need an RGB Lightning Node. [KaleidoCLI](/cli/installation) runs one on signet in Docker, see [Build a Local RGB Agent](/ai-tools/build-local-rgb-agent) for the full path.

Three per-wallet servers, `wdk-wallet-mcp`, `wdk-wallet-spark-mcp`, and `wdk-wallet-liquid-mcp`, remain standalone rather than folded into the gateway and build from source:

```bash
git clone https://github.com/kaleidoswap/wdk-wallet-mcp.git
cd wdk-wallet-mcp
npm install
npm run build
node dist/index.js
```

<Note>
`kaleidoswap-mcp` and `l402-gateway-mcp` are archived, their own READMEs point integrators at `kaleido-mcp` instead. Do not clone or build them for a new setup.
</Note>

For the full environment variable reference, stdio vs. HTTP transport, the tool surface by domain, and client config JSON for every server, check the [MCP Servers page](/ai-tools/mcp-servers).
For the tool catalog and client configuration, see [MCP Servers](/ai-tools/mcp-servers).
The unified server includes the older wallet servers' domains. Existing users can
follow the [migration notes](/ai-tools/mcp-servers#retired-servers).

## KaleidoAgent

Expand All @@ -64,7 +51,20 @@ To set the API key, configure the wallet in `agent.config.json`, start the dashb

## KaleidoMind

KaleidoMind is an engine embedded in a host application rather than a standalone install.
KaleidoMind is an engine for your application. Start with its offline project template, use it through the Desktop App, or embed the package directly.

### Try the offline starter

```bash
npm create @kaleidorg/mind my-agent
cd my-agent
npm install
npm run start:offline
```

Expected result: sample balances, a mock invoice and a simulated transfer. This
uses a fake wallet and scripted responses, with no node or model download.
`npm run start:mock` adds a real local model while keeping the wallet simulated.

### Through the Desktop App

Expand All @@ -87,7 +87,8 @@ npm install @kaleidorg/mind @qvac/sdk
```bash
git clone https://github.com/kaleidoswap/kaleido-mind.git
cd kaleido-mind
pnpm install && pnpm -r build
corepack enable
pnpm install --frozen-lockfile && pnpm build
```

The CLI in `apps/cli` handles on-device model management and runs the agent directly:
Expand Down
22 changes: 21 additions & 1 deletion mintlify-docs/ai-tools/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,30 @@ The product overview lives at [kaleidoswap.com/products/ai-tools](https://kaleid
</CardGroup>

<Warning>
Every tool surface here signs with a real BIP-39 mnemonic or drives a live node. See [Installation](/ai-tools/installation) for how to keep test and mainnet seeds apart.
Market queries and offline examples do not require funded wallets; live wallet operations use the configured wallet or node. See [Installation](/ai-tools/installation) for how to keep test and mainnet seeds apart.
</Warning>

## Which one do I need?

See [Pick a Surface](/ai-tools/getting-started#pick-a-surface) in Getting Started for the decision table, then jump straight to install or first run.


## Release baseline

| Package | Version | Role |
| --- | --- | --- |
| `kaleido-mcp` | `0.5.0` | Unified MCP server |
| `@kaleidorg/mind` | `0.11.0` | Agent engine and opt-in local datasets |
| `@kaleidorg/mind-provider` | `0.11.0` | Node sidecar for Mind |
| `@kaleidorg/create-mind` | `0.3.6` | Starter generator |

Mind requires QVAC >=0.20.0; this baseline was tested with 0.21.0.
HTTP now defaults to loopback and remote binding requires authentication.
Mind's default diagnostic logs omit free text; dataset collection requires explicit opt-in.
See the [MCP changelog](https://github.com/kaleidoswap/kaleido-mcp/blob/main/CHANGELOG.md),
[Mind changelog](https://github.com/kaleidoswap/kaleido-mind/blob/main/CHANGELOG.md), and
[dataset guide](https://github.com/kaleidoswap/kaleido-mind/blob/main/docs/DATASETS.md) for migration details.

Model-quality benchmarks, application consent/review UI, curated datasets and fine-tuning
are follow-up work. The release provides the library primitives; it does not automatically
collect customer data or train models.
12 changes: 6 additions & 6 deletions mintlify-docs/ai-tools/kaleido-mind.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ Most requests never reach the model at all.

## One Tool Contract, Many Transports

The model sees identical tool names and schemas everywhere, only *how a tool executes* differs by surface:
The host connects tool sources to the same engine. MCP discovers server schemas; in-process adapters bind the core contracts. Names and arguments can differ, so check the connected source rather than assuming transport compatibility:

| Surface | Tool execution | Confirm before spend |
|---------|----------------|----------------------|
| Mobile (Rate) | In-process WDK adapters (fully on-device, private) | Confirmation sheet |
| Desktop | `kaleido-mcp` consumed as a stdio tool source (namespaced `spark_*`/`rln_*`/`kaleidoswap_*`) | Confirmation dialog |
| Eval / CLI | Canned stub handlers for reproducible benchmarks | Auto-approve (asserts the gate fired) |

The canonical tool contract lives in core as `ToolDef[]`, with a `spend` flag that maps to `requiresConfirmation: true`. Every fund-moving tool carries this flag, the **Engine pauses and calls the host's `onConfirm`** before executing, so the model can never bypass a spend gate. The confirmation sheet gets a deterministic, voice-first readback (for example *"Send 4,800 sats to bob over Spark. Confirm?"*) built from the resolved call, not generated by the model, so a wrong unit or recipient surfaces where it can be caught.
The canonical tool contract lives in core as `ToolDef[]`, with a `spend` flag that maps to `requiresConfirmation: true`. For tools carrying this flag, the **Engine pauses and calls the host's `onConfirm`** before executing. Custom tools must declare their risk, and MCP classification depends on the installed adapter version. The confirmation sheet gets a deterministic, voice-first readback (for example *"Send 4,800 sats to bob over Spark. Confirm?"*) built from the resolved call, not generated by the model, so a wrong unit or recipient surfaces where it can be caught.

### Per-Layer Wallet Tools

Expand Down Expand Up @@ -65,12 +65,12 @@ LLM, embedding, speech-to-text, and text-to-speech inference all run through the

| Package | Version |
|---------|---------|
| `@qvac/sdk` | The core engine works with 0.13.1 and later and is tested with 0.21 |
| `@qvac/sdk` | The current package declares an optional peer dependency of >=0.20.0 and is tested with 0.21.0 |
| `@kaleidorg/mind` | Takes `@qvac/sdk` as an optional peer dependency, so the engine also runs with no model at all against the mock provider |

### Recommended models

KaleidoMind 0.8 recommends the Qwen3.5 family. Every model below is a `@qvac/sdk` registry constant, so `loadModel({ modelSrc: QWEN3_5_2B_MULTIMODAL_Q4_K_M })` downloads and caches it. Qwen3 and Hermes 3 are no longer recommended: the small Qwen3 models garbled the arguments of multi-field wallet calls such as `rln_issue_asset`.
KaleidoMind recommends the Qwen3.5 family. Every model below is a `@qvac/sdk` registry constant, so `loadModel({ modelSrc: QWEN3_5_2B_MULTIMODAL_Q4_K_M })` downloads and caches it. Qwen3 and Hermes 3 are no longer recommended: the small Qwen3 models garbled the arguments of multi-field wallet calls such as `rln_issue_asset`.

| Model | `@qvac/sdk` constant | Download | RAM | Use |
|---|---|---|---|---|
Expand Down Expand Up @@ -108,9 +108,9 @@ The fastest way to try it is the Desktop App. [Download the latest release](http

## Relationship to KaleidoAgent

[KaleidoAgent](/ai-tools/kaleido-agent) is a separate, always-on Node.js server (Nanobot runtime, scheduling, Telegram) that predates KaleidoMind's `Engine` and has **not** been migrated onto it, it runs its own agent loop against Anthropic or OpenAI directly. The two are conceptually the same idea (an agentic loop over a tool registry with a confirm gate) implemented twice. Converging them, having KaleidoAgent host KaleidoMind's `Engine` instead of its own loop, is a known, not-yet-started integration path; until then, treat them as independent systems that both consume `kaleido-mcp`.
[KaleidoAgent](/ai-tools/kaleido-agent) is a separate, always-on Node.js server (Nanobot runtime, scheduling, Telegram) that predates KaleidoMind's `Engine` and has **not** migrated its agent loop onto Mind. It already consumes the skill playbooks shipped in `@kaleidorg/mind`, while retaining its own runtime. The two are conceptually the same idea (an agentic loop over a tool registry with a confirm gate) implemented twice. Converging them, having KaleidoAgent host KaleidoMind's `Engine` instead of its own loop, is a known, not-yet-started integration path; until then, treat them as independent systems that both consume `kaleido-mcp`.

## Publishing & Subpaths

Published from `packages/core` as `@kaleidorg/mind`, with subpaths: `./mcp` (MCP tool source helpers), `./skills` (skill loader), `./logger`, `./qvac` (the on-device inference adapter), and `./testing` (mock wallet and scripted provider). Also on npm: `apps/provider` as `@kaleidorg/mind-provider`, the Tauri desktop sidecar that the Desktop App embeds. The CLI in `apps/cli` is for terminal and eval use from the repository and is not published.
Published from `packages/core` as `@kaleidorg/mind`, with subpaths: `./mcp` (MCP tool source helpers), `./skills` (skill loader), `./logger`, `./qvac` (on-device inference), `./openai` (OpenAI-compatible model servers), `./kaleidoswap`, `./lsps1`, `./submarine`, `./bitrefill`, `./flashnet`, `./knowledge`, and `./testing` (mock wallet and scripted provider). Also on npm: `apps/provider` as `@kaleidorg/mind-provider`, the Tauri desktop sidecar that the Desktop App embeds. The CLI in `apps/cli` is for terminal and eval use from the repository and is not published.

Loading
Loading