{"id":25307466,"url":"https://github.com/solana-foundation/kora","last_synced_at":"2026-01-28T00:33:27.589Z","repository":{"id":265932943,"uuid":"896610144","full_name":"solana-foundation/kora","owner":"solana-foundation","description":"Reference implementation for a Solana relayer. Provides a lib, rpc, and cli crate in order to enable gasless experiences on Solana.","archived":false,"fork":false,"pushed_at":"2025-03-24T16:30:45.000Z","size":257,"stargazers_count":25,"open_issues_count":12,"forks_count":96,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T22:10:48.368Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solana-foundation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-30T20:29:01.000Z","updated_at":"2025-04-09T17:25:35.000Z","dependencies_parsed_at":"2025-01-16T17:54:01.954Z","dependency_job_id":"880f98e0-297c-415e-a8ad-e4fbfcb3bf33","html_url":"https://github.com/solana-foundation/kora","commit_stats":null,"previous_names":["pkxro/kora","solana-foundation/kora"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-foundation%2Fkora","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-foundation%2Fkora/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-foundation%2Fkora/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solana-foundation%2Fkora/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solana-foundation","download_url":"https://codeload.github.com/solana-foundation/kora/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119294,"owners_count":21050755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-13T11:25:47.422Z","updated_at":"2026-01-28T00:33:27.584Z","avatar_url":"https://github.com/solana-foundation.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n  \u003cimg src=\"https://github.com/solana-foundation/kora/blob/main/kora.svg\" alt=\"Kora\" width=\"140\" /\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \n  \u003ch3\u003eKora: Solana Signing Infrastructure\u003c/h3\u003e\n    \n  \u003cbr /\u003e\n  \n[![Rust Tests](https://github.com/solana-foundation/kora/actions/workflows/rust.yml/badge.svg)](https://github.com/solana-foundation/kora/actions/workflows/rust.yml)\n![Coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/solana-foundation/kora/main/.github/badges/coverage.json)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/solana-foundation/kora)\n[![Crates.io](https://img.shields.io/crates/v/kora-cli.svg)](https://crates.io/crates/kora-cli)\n[![npm](https://img.shields.io/npm/v/@solana/kora)](https://www.npmjs.com/package/@solana/kora)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n\u003c/div\u003e\n\n\u003e **Branch Update (Jan 6, 2025):** We migrated pre-release features to [`release/2.2.0`](https://github.com/solana-foundation/kora/tree/release/2.2.0). The `main` branch now only contains audited releases plus minor hotfixes/docs. See [v2.0.3](https://github.com/solana-foundation/kora/releases/tag/v2.0.3) for the latest stable release.\n\n**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.\n\n### Why Kora?\n\n- **Better UX**: Users never need SOL  \n- **Revenue Control**: Collect fees in USDC, your token, or anything else  \n- **Production Ready**: Secure validation, rate limiting, monitoring built-in  \n- **Easy Integration**: JSON-RPC API + TypeScript SDK  \n- **Flexible Deployment**: Railway, Docker, or any cloud platform\n\n### Architecture\n\n- **Language**: Rust with TypeScript SDK\n- **Protocol**: JSON-RPC 2.0  \n- **Signers**: Solana Private Key, Turnkey, Privy\n- **Authentication**: API Key, HMAC, or none\n- **Deployment**: Flexible deployment options (Docker, Railway, etc.) \n\n### Features\n\n- Configurable validation rules and allowlists\n- Full Token-2022 support with extension filtering\n- Redis caching for improved performance\n- Rate limiting and spend protection\n- Secure key management (Turnkey, Privy, Vault)\n- HMAC and API key authentication\n- Prometheus metrics and monitoring\n- Enhanced fee payer protection policies\n\n## Quick Start\n\nInstall Kora: \n\n```bash\ncargo install kora-cli\n```\n\nBasic usage:\n\n```bash\nkora rpc [OPTIONS] # --help for full list of options\n```\n\n**[→ Full Documentation](https://launch.solana.com/docs/kora/getting-started)** - Learn how Kora works\n\n**[→ Quick Start Guide](https://launch.solana.com/docs/kora/getting-started/quick-start)** - Get Kora running locally minutes\n\n**[→ Node Operator Guide](https://launch.solana.com/docs/kora/operators)** - Run a paymaster\n\n\n## TypeScript SDK\n\nKora provides a simple JSON-RPC interface:\n\n```typescript\n// Initialize Kora client\nimport { KoraClient } from '@solana/kora';\nconst kora = new KoraClient({ rpcUrl: 'http://localhost:8080' });\n\n// Sign transaction as paymaster\nconst signed = await kora.signTransaction({ transaction });\n```\n\n**[→ API Reference](https://launch.solana.com/docs/kora/json-rpc-api)**\n\n## Local Development\n\n### Prerequisites\n\n- Rust 1.86+ or \n- Solana CLI 2.2+\n- Node.js 20+ and pnpm (for SDK)\n\n### Installation\n\n```bash\ngit clone https://github.com/solana-foundation/kora.git\ncd kora\nmake install\n```\n\n### Build\n\n```bash\nmake build\n```\n\n### Running the Server\n\nBasic usage:\n\n```bash\nkora rpc [OPTIONS]\n```\n\nOr for running with a test configuration, run: \n\n```bash\nmake run\n```\n\n### Local Testing\n\nAnd run all tests:\n\n```bash\nmake test-all\n```\n\n## Repository Structure\n\n```\nkora/\n├── crates/                   # Rust workspace\n│   ├── kora-lib/             # Core library with RPC server (signers, validation, transactions)\n│   └── kora-cli/             # Command-line interface and RPC server\n├── sdks/                     # Client SDKs\n│   └── ts/                   # TypeScript SDK\n├── tests/                    # Integration tests\n├── docs/                     # Documentation\n│   ├── getting-started/      # Quick start guides\n│   └── operators/            # Node operator documentation\n├── Makefile                  # Build and development commands\n└── kora.toml                 # Example configuration\n```\n\n## Security Audit\n\nKora has been audited by [Runtime Verification](https://runtimeverification.com/). View the [audit report](audits/20251119_runtime-verification.pdf). (Audited up to commit [8c592591](https://github.com/solana-foundation/kora/commit/8c592591debd08424a65cc471ce0403578fd5d5d))\n\n**Note:** Kora uses the `solana-keychain` package which has not been audited. Use at your own risk.\n\n\n\n## Community \u0026 Support\n\n- **Questions?** Ask on [Solana Stack Exchange](https://solana.stackexchange.com/) (use the `kora` tag)\n- **Issues?** Report on [GitHub Issues](https://github.com/solana-foundation/kora/issues)\n- **Operators:** Running Kora in production? Reach out to [@a_milz](https://x.com/a_milz) or [@dev_jodee](https://x.com/dev_jodee) on X to join our operator Slack channel for updates and support\n\n## Other Resources\n\n- [Kora CLI Crates.io](https://crates.io/crates/kora-cli) - Rust crate for running a Kora node\n- [Kora Lib Crates.io](https://crates.io/crates/kora-lib) - Rust crate for the Kora library\n- [@solana/kora](https://www.npmjs.com/package/@solana/kora) - TypeScript SDK for Kora\n\n---\n\nBuilt and maintained by the [Solana Foundation](https://solana.org).\n\nLicensed under MIT. See [LICENSE](LICENSE) for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolana-foundation%2Fkora","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolana-foundation%2Fkora","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolana-foundation%2Fkora/lists"}