---
title: Installation
description:
  Install the Kora CLI, TypeScript SDK, and set up your development environment
---

> **Looking for the beta?** See
> [Beta Installation](/docs/tools/kora/beta/installation) for Docker images and
> `kora-cli@2.2.0-beta.7`.

Get started with Kora by installing the CLI tool for operating a Kora node or
the TypeScript SDK for client applications interacting with a Kora node.

## System Requirements

### For CLI (Server)

- [**Rust**](https://www.rust-lang.org/tools/install): Version 1.86 or higher
  (not required for Docker)

### For TypeScript SDK (Client)

- [**Node.js**](https://nodejs.org/en/download): Version LTS or higher
- [**TypeScript**](https://www.typescriptlang.org/download): latest version

### Optional Dependencies

- [**Solana CLI**](https://solana.com/docs/intro/installation): Helpful for key
  generation and testing
- [**Docker**](https://docs.docker.com/get-started/): For containerized
  deployments

## Kora CLI

The Kora CLI is the primary way to run and manage Kora nodes. Choose your
preferred installation method:

### Option 1: Install from Cargo

Install directly from [crates.io](https://crates.io/crates/kora-cli) using
Cargo:

```bash
cargo install kora-cli
```

### Option 2: Build from Source

Clone and build the latest stable version from source:

```bash
git clone https://github.com/solana-foundation/kora.git
cd kora
git checkout v2.0.5
just install
```

> **Note:** Kora's `main` branch is an integration branch and may contain
> unreleased or beta changes. Always checkout the latest stable release tag. See
> the [releases page](https://github.com/solana-foundation/kora/releases) for
> the latest stable version.

This will build and install the `kora` binary to your local Cargo bin directory.

### Option 3: Docker

Pull the official Docker image from
[GitHub Container Registry](https://github.com/solana-foundation/kora/pkgs/container/kora):

```bash
docker pull ghcr.io/solana-foundation/kora:latest
```

Run with your configuration files mounted:

```bash
docker run -v $(pwd)/kora.toml:/app/kora.toml \
  -v $(pwd)/signers.toml:/app/signers.toml \
  -p 8080:8080 \
  ghcr.io/solana-foundation/kora:latest \
  rpc start --signers-config /app/signers.toml
```

### Verify Installation

Verify the Kora CLI is installed correctly:

```bash
kora --version
```

## TypeScript SDK

Install the Kora TypeScript SDK for client applications:

```bash
pnpm add @solana/kora
```

### Peer Dependencies

Kora requires `@solana/kit` and several Kit plugin packages as peer
dependencies. Most package managers (pnpm v7+, npm v7+) auto-install peer
dependencies, so typically you only need:

```bash
pnpm add @solana/kora @solana/kit
```

If your package manager doesn't auto-install peers, install them manually:

```bash
pnpm add @solana/kit @solana-program/token @solana-program/compute-budget \
  @solana/kit-plugin-instruction-plan @solana/kit-plugin-payer @solana/kit-plugin-rpc
```

### Version Requirements

- **`KoraClient`** (standalone): Works with `@solana/kit` v5.0+
- **`koraPlugin()`** (composable): Requires `@solana/kit` v5.4+ for the
  `createEmptyClient().use()` pattern
- **`createKitKoraClient()`** (Kit client): Requires `@solana/kit` v6.1+ for
  full plugin composition

See the [JSON-RPC API Overview](/docs/tools/kora/json-rpc-api) for detailed
client usage examples.

### Verify SDK Installation

Verify your SDK installation with a simple connection test:

```typescript
import { KoraClient } from "@solana/kora";

async function testConnection() {
  const client = new KoraClient({ rpcUrl: "http://localhost:8080" }); // Replace with your Kora server URL

  try {
    const config = await client.getConfig();
    console.log("✅ Successfully connected to Kora server");
  } catch (error) {
    console.error("❌ Connection failed:", error.message);
  }
}

testConnection();
```

## Troubleshooting

### CLI Issues

**"kora: command not found"**: Ensure `~/.cargo/bin` is in your PATH:

```bash
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```

**Build fails**: Update Rust to the latest stable version:

```bash
rustup update stable
```

### SDK Issues

**Peer dependency warnings**: Install the required Solana dependencies listed
above.

**TypeScript errors**: Ensure your TypeScript version is 4.5+ and install type
definitions:

```bash
pnpm add -D @types/node
```

**Connection refused**: Ensure your Kora server is running and accessible at the
specified endpoint.
