A comprehensive toolkit for building, deploying, and managing blueprints on the Tangle Network.
The Blueprint SDK is a modular Rust toolkit for building decentralized services—called Blueprints—that run across networks like Tangle, EigenLayer, and standard EVM chains.
Blueprints turn complex on-chain and off-chain infrastructure into reproducible, deployable units of logic—think Infrastructure-as-Code for crypto systems. With one SDK, you can design anything from oracles and MPC networks to agent-based AI services or zk-proof markets, and deploy them seamlessly.
The SDK unifies:
- Job orchestration and routing across async, event-driven systems
- P2P networking with secure message handling and round-based protocol support
- Cryptographic primitives and keystore management for signing, verification, and MPC
- EVM and EigenLayer extensions for direct smart contract and restaking integrations
- Testing and benchmarking utilities for reproducible environments and performance tuning
In short, Blueprints let developers move from concept to distributed protocol with minimal friction.
We also have a documentation site on all things Tangle to help you get started.
The following components make up the SDK, providing everything from job creation and routing utilities to specialized tools for networking and testing.
- blueprint-sdk- Main crate for the Tangle Blueprint SDK, re-exporting all of the following
- blueprint-benchmarking- Utilities for benchmarking blueprints
- blueprint-build-utils- Utilities for simplifying build-time tasks (e.g., building contracts, installing dependencies)
- blueprint-chain-setup- (Meta-crate) Utilities for setting local testnets- blueprint-chain-setup-common- Common utilities for setting up testnets
- blueprint-chain-setup-anvil- Utilities for setting up Anvil testnets
- blueprint-chain-setup-tangle- Utilities for setting up Tangle testnets
 
- blueprint-clients- (Meta-crate) Clients for interacting with Tangle, Eigenlayer, and other networks- blueprint-client-tangle- Client for interacting with the Tangle Network
- blueprint-client-eigenlayer- Client for interacting with the Eigenlayer Network
- blueprint-client-evm- Client for interacting with the EVM Network
 
- blueprint-contexts- Extensions for adding functionality to custom blueprint context types
- blueprint-context-derive- Derive macros for implementing context extension traits
- blueprint-core- Core components for building blueprints, primarily job system primitives
- blueprint-crypto- (Meta-crate) Cryptographic utilities- blueprint-crypto-core- Core cryptographic utilities (traits, types)
- blueprint-crypto-bls- Utilities for working with BLS signatures and keys
- blueprint-crypto-bn254- Utilities for working with BN254 signatures and keys
- blueprint-crypto-ed25519- Utilities for working with Ed25519 signatures and keys
- blueprint-crypto-k256- Utilities for working with secp256k1 signatures and keys
- blueprint-crypto-sp-core- Blueprint-compatible crypto wrappers around sp-core primitives
- blueprint-crypto-sr25519- Utilities for working with sr25519 signatures and keys
- blueprint-crypto-tangle-pair-signer- Pair signer type for Tangle
 
- blueprint-keystore- Flexible keystore implementation, supporting local and remote signers
- blueprint-macros- Utility macros for simplifying blueprint development
- blueprint-manager- A program executor that connects to the Tangle network and runs protocols dynamically on the fly
- blueprint-metrics(Meta-crate) Utilities for collecting metrics- blueprint-metrics-rpc-calls- Utilities for collecting metrics from RPC calls
 
- blueprint-networking- P2P networking support for blueprints- blueprint-networking-round-based-extension- A networking compatibility layer for round-based MPC protocols
 
- blueprint-producers-extra- Additional protocol-independent event producers
- blueprint-router- A job router for dynamically scheduling jobs
- blueprint-runner- The blueprint job runner, executing jobs in a protocol-specific manner
- blueprint-std- Standard library extensions, for use within the SDK
- blueprint-stores- (Meta-crate) Storage providers for blueprints- blueprint-store-local-database- A local JSON key-value database
 
- blueprint-tangle-extra- Tangle specific extensions for blueprints
- blueprint-evm-extra- EVM specific extensions for blueprints
- blueprint-eigenlayer-extra- Eigenlayer specific extensions for blueprints
- blueprint-testing-utils- (Meta-crate) Utilities for testing blueprints- blueprint-core-testing-utils- Core testing utility primitives
- blueprint-anvil-testing-utils- Utilities for creating and interacting with Anvil testnets
- blueprint-tangle-testing-utils- Utilities for creating end-to-end tests for Tangle blueprints
- blueprint-eigenlayer-testing-utils- Utilities for creating end-to-end tests for Eigenlayer blueprints
 
Ensure you have the following installed:
- Rust
- OpenSSL Development Packages
sudo apt update && sudo apt install build-essential cmake libssl-dev pkg-configbrew install openssl cmakeYou can install the Tangle CLI in two ways:
Install the latest stable version of cargo-tangle using the installation script:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tangle-network/blueprint/releases/download/cargo-tangle/v0.1.1-beta.7/cargo-tangle-installer.sh | shInstall the latest git version of cargo-tangle using the following command:
cargo install cargo-tangle --git https://github.com/tangle-network/blueprint --forceAfter installation, you can create, build, and deploy your first blueprint using the following commands:
# Create a new blueprint named "my_blueprint"
cargo tangle blueprint create --name my_blueprint
# Navigate into the blueprint directory and build
cd my_blueprint
cargo build
# Deploy your blueprint to the Tangle Network
cargo tangle blueprint deploy --rpc-url wss://rpc.tangle.tools --package my_blueprintAnd your blueprint is ready to go!
For additional commands, advanced configurations, and complete CLI usage, see the official CLI reference.
For support or inquiries:
- Issues: Report bugs or request features via GitHub Issues.
- Discussions: Engage with the community in GitHub Discussions.
- For real-time assistance and announcements:
- Join our Discord server
- Join our Telegram channel
 
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
We welcome feedback and contributions to improve this blueprint. Please open an issue or submit a pull request on our GitHub repository. Please let us know if you fork this blueprint and extend it too!
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
