> For the complete documentation index, see [llms.txt](https://fifo-docs.gitbook.io/colibri/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fifo-docs.gitbook.io/colibri/getting-started/installation.md).

# Installation

Colibri packages are published on [JSR](https://jsr.io/) and are designed for Deno-first TypeScript projects.

## Prerequisites

* [Deno](https://deno.land/) 2.7.11 or later; compatibility runs on 2.7.11 and 2.9.6
* Node.js 22.12.0 or supported 22.x/24.x LTS when consuming Colibri through npm or a Node-based bundler
* A reachable Docker daemon such as Docker Desktop or OrbStack if you plan to use [`StellarTestLedger`](/colibri/colibri-test-tooling/test-tooling.md) from [`@colibri/test-tooling`](/colibri/colibri-test-tooling/test-tooling.md) or the built-in [`@colibri/build-verification`](/colibri/colibri-build-verification/build-verification.md) runner; the execution recorder needs no Docker

## Installing Packages

### Using `deno add`

```bash
# Core package
deno add jsr:@colibri/core

# Optional packages
deno add jsr:@colibri/react
deno add jsr:@colibri/webauth
deno add jsr:@colibri/build-verification
deno add jsr:@colibri/identicon
deno add jsr:@colibri/rpc-streamer
deno add jsr:@colibri/test-tooling
deno add jsr:@colibri/plugin-fee-bump
deno add jsr:@colibri/plugin-channel-accounts
deno add jsr:@colibri/plugin-sep29
```

This will add imports similar to:

```json
{
  "imports": {
    "@colibri/core": "jsr:@colibri/core@^3.0.1",
    "@colibri/react": "jsr:@colibri/react@^0.6.0",
    "@colibri/webauth": "jsr:@colibri/webauth@^3.0.0",
    "@colibri/build-verification": "jsr:@colibri/build-verification@^0.6.1",
    "@colibri/identicon": "jsr:@colibri/identicon@^3.0.0",
    "@colibri/rpc-streamer": "jsr:@colibri/rpc-streamer@^3.0.0",
    "@colibri/test-tooling": "jsr:@colibri/test-tooling@^2.0.1",
    "@colibri/plugin-fee-bump": "jsr:@colibri/plugin-fee-bump@^3.0.1",
    "@colibri/plugin-channel-accounts": "jsr:@colibri/plugin-channel-accounts@^3.1.0",
    "@colibri/plugin-sep29": "jsr:@colibri/plugin-sep29@^3.0.1"
  }
}
```

### Direct JSR Imports

```ts
import { Contract, NetworkConfig } from "jsr:@colibri/core";
import { RPCStreamer } from "jsr:@colibri/rpc-streamer";
import { StellarTestLedger } from "jsr:@colibri/test-tooling";
import { WebAuthClient } from "jsr:@colibri/webauth";
import { ContractBuildVerifier } from "jsr:@colibri/build-verification";
import { Identicon } from "jsr:@colibri/identicon";
```

## Runtime boundaries

See [compatibility and releases](/colibri/getting-started/compatibility.md) for stable APIs, supported dependency/runtime combinations, and why dependent packages need not bump with every compatible Core release.

The examples use Deno and package aliases created by `deno add`. Networked examples need `--allow-net`; reading secrets from environment variables also needs `--allow-env`. Local file examples need file permissions. Docker-backed tools need host access and are not browser APIs.

For Node or a bundler, install JSR packages through the JSR adapter, for example `npx jsr add @colibri/core`, and install `@stellar/stellar-sdk` with your package manager if you import it directly. Replace the examples' `npm:@stellar/stellar-sdk` specifier with `@stellar/stellar-sdk` in that environment. Do not copy Deno's `Deno.env`, filesystem, or Docker examples into a browser.

Use Stellar SDK 17.2.1 or later within 17.x for this release. Colibri's SDK-facing objects should come from compatible SDK versions throughout your application.

## Package Overview

### [@colibri/core](/colibri/colibri-core/overview.md)

The main toolkit package. It includes account helpers, contract clients, [transaction config](/colibri/colibri-core/transaction-config.md) types, typed errors, process functions, step factories, and the built-in pipeline factories such as [`createInvokeContractPipeline(...)`](/colibri/colibri-core/pipelines/invoke-contract.md).

### [@colibri/rpc-streamer](/colibri/colibri-rpc-streamer/rpc-streamer.md)

Streaming helpers for live and historical Stellar RPC ingestion.

### [@colibri/webauth](/colibri/colibri-webauth/webauth.md)

Unified [SEP-10](/colibri/colibri-webauth/sep10.md) and [SEP-45](/colibri/colibri-webauth/sep45.md) Web Authentication with automatic account routing, explicit protocol clients, and contract authorization hooks.

### [@colibri/build-verification](/colibri/colibri-build-verification/build-verification.md)

Strict SEP-58 and explicitly caller-directed out-of-band contract build verification with digest-pinned images, safe source extraction, bounded Docker execution, and typed evidence.

### [@colibri/identicon](/colibri/colibri-identicon/identicon.md)

Local [SEP-33](/colibri/colibri-identicon/identicon.md) identicons for Stellar G-addresses, with reference-compatible patterns, SVG and PNG rendering, data URLs, and immutable matrix/color data.

### [@colibri/test-tooling](/colibri/colibri-test-tooling/test-tooling.md)

Docker-backed integration helpers centered on [`StellarTestLedger`](/colibri/colibri-test-tooling/test-tooling.md).

### [Plugins](/colibri/plugins/plugins.md)

Plugins extend pipeline step behavior for specific use cases:

| Plugin                                                   | Package                                                                    | Description                                        |
| -------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------- |
| [Fee Bump](/colibri/plugins/fee-bump.md)                 | [`@colibri/plugin-fee-bump`](/colibri/plugins/fee-bump.md)                 | Wrap outgoing transactions in a fee-bump envelope  |
| [Channel Accounts](/colibri/plugins/channel-accounts.md) | [`@colibri/plugin-channel-accounts`](/colibri/plugins/channel-accounts.md) | Reuse sponsored channel accounts across write runs |
| [SEP-29](/colibri/plugins/sep29.md)                      | [`@colibri/plugin-sep29`](/colibri/plugins/sep29.md)                       | Opt-in memo requirements checked through RPC       |

## Stellar SDK Dependency

Colibri stays close to `@stellar/stellar-sdk`, and many advanced flows still use SDK values directly. The current Colibri releases require Stellar SDK 17.2.1 within 17.x and use its canonical class-based XDR API. Binary SDK values are `Uint8Array` instances; Node `Buffer` is not required for normal Colibri usage.

```ts
import { Operation, xdr } from "npm:@stellar/stellar-sdk";
```

If you need low-level XDR manipulation or raw operation construction, add the SDK explicitly:

```bash
deno add npm:@stellar/stellar-sdk@^17.2.1
```

## Next Steps

* [Quick Start](/colibri/getting-started/quick-start.md) — Submit a complete Testnet payment
* [Read and invoke a contract](/colibri/getting-started/contract-call.md) — Load a deployed contract's spec
* [Architecture Overview](/colibri/getting-started/architecture.md) — Understand the Colibri layers

### Contract binding generation

```sh
deno add jsr:@colibri/contract-bindings@^0.5.0
```

See [the generator guide](/colibri/colibri-contract-bindings/contract-bindings.md) for interactive and automated CLI use, JSR/npm outputs, and shared Core dependencies.

### [@colibri/react](/colibri/colibri-react/react.md)

Headless React 19 and TanStack Query 5 integration with granular frontend imports.
