{"id":28470541,"url":"https://github.com/magicblock-labs/magicblock-validator","last_synced_at":"2026-07-22T20:00:52.547Z","repository":{"id":288664093,"uuid":"758175816","full_name":"magicblock-labs/magicblock-validator","owner":"magicblock-labs","description":"Blazing-Fast SVM Ephemeral Validator","archived":false,"fork":false,"pushed_at":"2026-07-19T03:08:20.000Z","size":12693,"stargazers_count":55,"open_issues_count":94,"forks_count":51,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-07-19T04:24:49.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.magicblock.xyz","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/magicblock-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":"docs/GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-02-15T19:16:13.000Z","updated_at":"2026-07-18T09:30:43.000Z","dependencies_parsed_at":"2026-02-26T09:11:56.295Z","dependency_job_id":null,"html_url":"https://github.com/magicblock-labs/magicblock-validator","commit_stats":null,"previous_names":["magicblock-labs/magicblock-validator"],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/magicblock-labs/magicblock-validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fmagicblock-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fmagicblock-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fmagicblock-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fmagicblock-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/magicblock-labs","download_url":"https://codeload.github.com/magicblock-labs/magicblock-validator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/magicblock-labs%2Fmagicblock-validator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35774517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-06-07T09:31:01.169Z","updated_at":"2026-07-22T20:00:52.533Z","avatar_url":"https://github.com/magicblock-labs.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg height=\"100\" src=\"https://magicblock-labs.github.io/README/img/magicblock-band.png\" alt=\"MagicBlock Logo\" /\u003e\n\n  \u003ch1\u003eMagicBlock Validator\u003c/h1\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eBlazing Fast SVM Validator for Ephemeral Rollups and Elastic Compute.\u003c/strong\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://docs.magicblock.gg\"\u003e\u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/docs-tutorials-blueviolet\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/magicblock-labs/magicblock-validator/blob/main/LICENSE.md\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-BSL--1.1-blue\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.com/invite/MBkdC3gxcv\"\u003e\u003cimg alt=\"Discord Chat\" src=\"https://img.shields.io/discord/943797222162726962?color=blueviolet\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## 📖 Overview\n\nThe **MagicBlock Validator** is a specialized Solana Virtual Machine (SVM) runtime designed to power **Ephemeral Rollups**. It enables seamless scaling by cloning accounts and programs just-in-time from a reference cluster (like Solana Mainnet or Devnet), executing transactions in a high-performance environment, and settling state changes back to the base chain.\n\n### Key Features\n- **Ephemeral Rollups**: Offload compute to a dedicated layer while inheriting Solana's security and state.\n- **Just-in-Time Cloning**: Automatically fetches accounts from a remote cluster when accessed.\n- **State Settlement**: Batches and commits state transitions back to the reference chain.\n- **Developer Friendly**: Can be used as a super-charged development environment compatible with standard Solana tooling.\n\n## Packages\n\n| Package                                                                              | Description                                                    | Version                                                                                                                                                            | Docs                                                                                         |\n|:-------------------------------------------------------------------------------------|:---------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------|\n| `@magicblock-labs/ephemeral-validator`                                               | Released binaries of the ephemeral validator                   | [![npm](https://img.shields.io/npm/v/@magicblock-labs/ephemeral-validator.svg?color=blue)](https://www.npmjs.com/package/@magicblock-labs/ephemeral-validator) | [![Docs](https://img.shields.io/badge/docs-tutorials-blue)](https://docs.magicblock.xyz)     |\n| `ephemeral-rollups-sdk`                                                              | Rust SDK for integrating with the Ephemeral Rollups            | [![Crates.io](https://img.shields.io/crates/v/ephemeral-rollups-sdk?color=blue)](https://crates.io/crates/ephemeral-rollups-sdk)                                   | [![Docs.rs](https://img.shields.io/badge/docs-tutorials-blue)](https://docs.magicblock.xyz/) |\n| `@magicblock-labs/ephemeral-rollups-sdk`                                             | TypeScript helper for preparing transactions (@solana/web3.js) | [![npm](https://img.shields.io/npm/v/@magicblock-labs/ephemeral-rollups-sdk.svg?color=blue)](https://www.npmjs.com/package/@magicblock-labs/ephemeral-rollups-sdk) | [![Docs](https://img.shields.io/badge/docs-tutorials-blue)](https://docs.magicblock.xyz)     |\n| `@magicblock-labs/ephemeral-rollups-kit`                                             | TypeScript helper for preparing transactions (@solana/kit)     | [![npm](https://img.shields.io/npm/v/@magicblock-labs/ephemeral-rollups-kit.svg?color=blue)](https://www.npmjs.com/package/@magicblock-labs/ephemeral-rollups-kit) | [![Docs](https://img.shields.io/badge/docs-tutorials-blue)](https://docs.magicblock.xyz)     |\n\n## 🚀 Getting Started\n\n### Prerequisites\n- **Rust**: Latest stable and nightly toolchains.\n- **Dependencies**: `solana-cli` (optional), `protobuf-compiler` (for gRPC support).\n\n### Installation\n\n1. **Clone the repository:**\n```bash\n   git clone https://github.com/magicblock-labs/magicblock-validator.git\n   cd magicblock-validator\n```\n\n2. **Build the project:**\n```bash\ncargo build --release\n\n```\n\n\n\n## ⚙️ Configuration\n\nThe validator is highly configurable via TOML files or environment variables. A comprehensive reference configuration is available in [`config.example.toml`](./config.example.toml).\n\n### Core Operational Modes (`lifecycle`)\n\nThe `lifecycle` setting determines how the validator manages state and syncing.\n\n* **`ephemeral`** (**Currently Supported**): Clones accounts on demand from the remote cluster and writes changes only to delegated accounts. This is the primary mode for Ephemeral Rollups.\n* *Note: Other modes (`replica`, `offline`) are present in the codebase but are currently experimental or unsupported.*\n\n### Connecting to a Cluster\n\nConfigure the `remotes` list to specify where to fetch state from:\n\n```toml\n# Example: Sync with Solana Devnet\nremotes = [\"https://api.devnet.solana.com\", \"wss://api.devnet.solana.com\"]\n\n```\n\n## 🏃 Usage\n\n### Running the Validator\n\nTo start the validator with the default configuration (or your custom config file):\n\n```bash\ncargo run --release -- config.example.toml\n```\n\n### Using Environment Variables\n\nYou can override any configuration value using environment variables with the `MBV_` prefix.\n\n```bash\n# Example: Run as an ephemeral validator syncing from Mainnet\nMBV_LIFECYCLE=ephemeral \\\nMBV_LISTEN=0.0.0.0:8899 \\\ncargo run --release config.example.toml\n\n```\n\n### Docker\n\nOfficial Docker images are available for streamlined deployment:\n\n```bash\ndocker run -p 8899:8899 -p 8900:8900 magicblocklabs/validator\n\n```\n\n## ☁️ Remote Development Cluster\n\nIf you prefer not to run the validator locally, we provide a stable public cluster for development:\n\n* **Endpoint**: `https://devnet.magicblock.app`\n* **Base Cluster**: Solana Devnet\n\nThis cluster allows you to test Ephemeral Rollup interactions without local setup.\n\n## 🧪 Testing\n\nThe project includes a comprehensive test suite managed via `Makefile`.\n\n* **Run all tests (Unit \u0026 Integration):**\n```bash\nmake test\n\n```\n\n\n* **Run integration tests specifically:**\nSee [test-integration/README.md](./test-integration/README.md) for detailed instructions on running specific scenarios.\n```bash\nmake -C test-integration test\n\n```\n\n\n\n## ⚖️ Disclaimer\n\nAll claims, content, designs, algorithms, estimates, roadmaps, specifications, and performance measurements described in this project are done with MagicBlock Labs, Pte. Ltd. (“ML”) good faith efforts. It is up to the reader to check and validate their accuracy and truthfulness. Furthermore, nothing in this project constitutes a solicitation for investment.\n\nAny content produced by ML or developer resources that ML provides are for educational and inspirational purposes only. ML does not encourage, induce or sanction the deployment, integration or use of any such applications (including the code comprising the MagicBlock blockchain protocol) in violation of applicable laws or regulations and hereby prohibits any such deployment, integration or use.\n\n**Export Controls \u0026 Sanctions**\nThis includes the use of any such applications by the reader:\n(a) in violation of export control or sanctions laws of the United States or any other applicable jurisdiction;\n(b) if the reader is located in or ordinarily resident in a country or territory subject to comprehensive sanctions administered by the U.S. Office of Foreign Assets Control (OFAC); or\n(c) if the reader is or is working on behalf of a Specially Designated National (SDN) or a person subject to similar blocking or denied party prohibitions.\n\nThe reader should be aware that U.S. export control and sanctions laws prohibit U.S. persons (and other persons that are subject to such laws) from transacting with persons in certain countries and territories or that are on the SDN list. Accordingly, there is a risk to individuals that other persons using any of the code contained in this repo, or a derivation thereof, may be sanctioned persons and that transactions with such persons would be a violation of U.S. export controls and sanctions law.\n\n## ❤️ Open Source\n\nOpen Source is at the heart of what we do at MagicBlock. We believe building software in the open, with thriving communities, helps leave the world a little better than we found it.\n\n## 📄 License\n\nThis project is licensed under the **Business Source License 1.1**. See [LICENSE.md](./LICENSE.md) for details.\n\n\n---\n\n## 🚧 Status: Under Construction\n\n\u003e **⚠️ Warning:** The Ephemeral Validator is in **active development**. All APIs are subject to change. This code is **unaudited**. Use at your own risk.\n\n---\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\u003csub\u003eBuilt with ❤️ by MagicBlock Labs\u003c/sub\u003e\n\u003c/div\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicblock-labs%2Fmagicblock-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmagicblock-labs%2Fmagicblock-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmagicblock-labs%2Fmagicblock-validator/lists"}