Kora

Kora is your Solana signing infrastructure. Enable gasless transactions where users pay fees in any token—USDC, BONK, or your app's native token—or handle any transaction signing that requires a trusted signer.

Why Kora?

  • Better UX: Users never need SOL
  • Revenue Control: Collect fees in USDC, your token, or anything else
  • Production Ready: Secure validation, rate limiting, monitoring built-in
  • Easy Integration: JSON-RPC API + TypeScript SDK
  • Flexible Deployment: Railway, Docker, or any cloud platform

Architecture

  • Language: Rust with TypeScript SDK
  • Protocol: JSON-RPC 2.0
  • Signers: Solana Private Key, Turnkey, Privy
  • Authentication: API Key, HMAC, or none
  • Deployment: Flexible deployment options (Docker, Railway, etc.)

Features

  • Configurable validation rules and allowlists
  • Full Token-2022 support with extension filtering
  • Redis caching for improved performance
  • Rate limiting and spend protection
  • Secure key management (Turnkey, Privy, Vault)
  • HMAC and API key authentication
  • Prometheus metrics and monitoring
  • Enhanced fee payer protection policies

Quick Start

Install Kora:

cargo install kora-cli

Basic usage:

kora rpc [OPTIONS] # --help for full list of options

→ Quick Start Guide - Get Kora running locally in minutes

→ Node Operator Guide - Run a paymaster

TypeScript SDK

Kora provides a simple JSON-RPC interface with three client options:

// Option 1: Standalone client
import { KoraClient } from "@solana/kora";
const kora = new KoraClient({ rpcUrl: "http://localhost:8080" });
const signed = await kora.signTransaction({ transaction });
// Option 2: Kit client (recommended) — handles planning, fees, signing, and sending
import { createKitKoraClient } from "@solana/kora";
import { address } from "@solana/kit";
const client = await createKitKoraClient({
endpoint: "http://localhost:8080",
rpcUrl: "https://api.mainnet-beta.solana.com",
feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
feePayerWallet: userSigner
});

→ API Reference - JSON-RPC methods and TypeScript SDK

Local Development

Prerequisites

  • Rust 1.86+ or
  • Solana CLI 2.2+
  • Node.js 20+ and pnpm (for SDK)

Installation

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

Build

just build

Running the Server

Basic usage:

kora rpc [OPTIONS]

Or for running with a test configuration, run:

just run

Local Testing

And run all tests:

just test-all

Community & Support

Other Resources

Source

Built and maintained by the Solana Foundation.

Licensed under MIT. See LICENSE for details.

Is this page helpful?

Table of Contents

Edit Page
© 2026 Solana Foundation. All rights reserved.