Skip to content

Latest commit

 

History

934 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicBlock Logo

MagicBlock Validator

Blazing-fast SVM execution for real-time applications. Powered by Ephemeral Rollups.

Documentation License BSL-1.1 Discord Chat

Build with MagicBlock · Try it locally · Run a validator


MagicBlock Validator brings Ephemeral Rollups to Solana applications. Delegate accounts to a rollup, execute against that state, and commit updates back to Solana, keeping the Solana program and account model at the center of your app.

Build for interactions that happen continuously: game moves, shared worlds, and other stateful experiences. Use the rollup for those interactions while keeping your application's state connected to Solana through synchronization and settlement.

✨ What you can build on

⚡ Solana execution — run Solana programs on the SVM, powered by MagicBlock Engine. 🔗 Connected state — bring base-chain accounts into the rollup and commit delegated state back to Solana.
📡 Live applications — submit transactions over RPC and follow account changes, logs, and transaction updates over WebSocket. ⏱️ Recurring actions — schedule application work to run at intervals, without a client sending every transaction.
🔁 Replicated execution — run verifiers that follow and replay a leader's transaction stream. 🛠️ Tools included — develop locally with a packaged stack, inspect a running leader in the terminal, and monitor it with Prometheus.

Build with both delegated and rollup-local state

Bring existing Solana accounts into the rollup, or create sponsored ephemeral accounts for state your application needs locally. Programs can create, resize, and explicitly close these accounts, with a sponsor funding their backing. That gives applications room for session state and intermediate results without making every account part of the base-chain settlement flow. See the native program guide for the available operations.

Keep the application moving between user interactions

Recurring tasks let applications schedule instructions at intervals rather than relying on a connected client to submit each transaction. Tasks persist across restarts and can be replaced or cancelled by their authority. They suit periodic application work, rather than exact wall-clock deadlines.

Applications can also request base-chain actions and local callbacks, letting rollup logic react to an action's result. The action and callback are separate transactions, not one atomic cross-chain operation. Explore scheduled tasks and callbacks.

Connect clients and stream live activity

Use Solana-compatible RPC API to submit or simulate transactions and read accounts and transaction history. WebSocket subscriptions keep clients informed of account changes, logs, and transaction status without continuous polling.

For deeper integrations, Geyser plugins can feed validator notifications into external systems such as indexers. Plugins must match the validator's Rust and Agave ABI; the available notification fields differ from a full Solana validator. See the RPC and plugin guide.

🌉 From Solana to a rollup and back

Delegate → Execute → Commit

Delegation makes selected accounts available for rollup execution. Your app submits transactions to the rollup and follows its live state. Commits deliver state updates to the base chain; undelegation returns control of those accounts to Solana.

Rollup execution and base-chain settlement are separate steps. Start with the developer documentation for the application flow; the settlement guide explains completion and retry boundaries.

🚀 Try it locally

Start a local development stack with the packaged validator. Install solana-test-validator and make it available on your PATH, then run:

npx --package @magicblock-labs/ephemeral-validator mb-stack

Connect your application to http://127.0.0.1:6699 for RPC and ws://127.0.0.1:6700 for subscriptions. The stack starts a local base chain, an Ephemeral Rollup validator, and a query-filtering service. Press Ctrl-C to stop it.

See the local stack guide for custom ports, external remotes, and individual services.

🧭 Go further

I want to… Start here
Build an application Developer documentation
Run a leader from source Validator setup
Follow a leader with a verifier Verifier setup
Configure a deployment Configuration guide
Manage a validator Operator CLI · Terminal monitor · Metrics
Understand the system Architecture and operations

🦀 Inside the project

MagicBlock Engine runs transactions and stores their results. To explore the surrounding services, start with the part of the application flow that interests you:

Want to contribute? Start with contributing for development setup and checks, or explore the supported integration tests. Maintainers can follow the release process.

🔒 API stability and security

The Ephemeral Validator remains under active development, but its public, application-facing APIs have matured. Breaking changes to supported APIs are expected to be infrequent and will be clearly communicated in release notes.

The Delegation Program, the on-chain contract governing delegation, settlement, and state commitment, has been independently audited. The validator internals have been battle-tested, but the complete validator codebase and all internal components have not undergone a comprehensive audit. Use at your own risk.

Internal interfaces explicitly marked experimental or unsupported may still change.

Report vulnerabilities through the security policy, not public issues.

📄 License and disclaimer

Licensed under the Business Source License 1.1; see LICENSE.md. Read the disclaimer and export-control terms.


Built with ❤️ by MagicBlock Labs

About

Blazing-Fast SVM Ephemeral Validator

Resources

Code of conduct

Contributing

Security policy

Stars

58 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages