{"id":26175202,"url":"https://github.com/tangle-network/blueprint","last_synced_at":"2026-04-22T02:06:59.300Z","repository":{"id":202624986,"uuid":"707367698","full_name":"tangle-network/blueprint","owner":"tangle-network","description":"A powerful toolkit for building distributed systems and infrastructure as code.","archived":false,"fork":false,"pushed_at":"2026-03-30T12:50:29.000Z","size":25786,"stargazers_count":334,"open_issues_count":42,"forks_count":10,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-04-02T08:25:38.835Z","etag":null,"topics":["avs","cryptography","distributed-systems","libp2p","mpc","multi-party-computation","networking","p2p","restaking","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://tangle.tools","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangle-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-10-19T18:45:48.000Z","updated_at":"2026-04-01T08:07:09.000Z","dependencies_parsed_at":"2023-12-18T14:43:00.423Z","dependency_job_id":"5372d293-4da7-435e-bac9-918878e6cbd1","html_url":"https://github.com/tangle-network/blueprint","commit_stats":null,"previous_names":["webb-tools/gadget","tangle-network/gadget","tangle-network/blueprint"],"tags_count":831,"template":false,"template_full_name":null,"purl":"pkg:github/tangle-network/blueprint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangle-network","download_url":"https://codeload.github.com/tangle-network/blueprint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangle-network%2Fblueprint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31374081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T17:53:18.093Z","status":"ssl_error","status_checked_at":"2026-04-03T17:53:17.617Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["avs","cryptography","distributed-systems","libp2p","mpc","multi-party-computation","networking","p2p","restaking","zero-knowledge"],"created_at":"2025-03-11T20:38:13.649Z","updated_at":"2026-04-05T04:01:34.936Z","avatar_url":"https://github.com/tangle-network.png","language":"Rust","readme":"![Tangle Network Banner](https://raw.githubusercontent.com/tangle-network/tangle/refs/heads/main/assets/Tangle%20%20Banner.png)\n\n\u003ch1 align=\"center\"\u003eBlueprint SDK\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cem\u003eA comprehensive toolkit for building, deploying, and managing blueprints on the \u003ca href=https://tangle.tools/overview/\u003eTangle Network\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/tangle-network/blueprint/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/tangle-network/blueprint/ci.yml?branch=main\u0026logo=github\" alt=\"Build Status\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tangle-network/blueprint/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/tangle-network/blueprint?sort=semver\u0026filter=blueprint-sdk-*\u0026display_name=release\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/tangle-network/blueprint/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/crates/l/blueprint-sdk\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://discord.com/invite/cv8EfJu3Tn\"\u003e\u003cimg src=\"https://img.shields.io/discord/833784453251596298?label=Discord\" alt=\"Discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://t.me/tanglenet\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?color=neon\u0026url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Ftanglenet\" alt=\"Telegram\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\nThe Blueprint SDK is a modular Rust toolkit for building decentralized services—called Blueprints—that run across networks like [Tangle], EigenLayer, and standard EVM chains.\n\nBlueprints turn complex on-chain and off-chain infrastructure into reproducible, deployable units of logic—think Infrastructure-as-Code for crypto systems.\nWith one SDK, you can design anything from oracles and MPC networks to agent-based AI services or zk-proof markets, and deploy them seamlessly.\n\nThe SDK unifies:\n- Job orchestration and routing across async, event-driven systems\n- P2P networking with secure message handling and round-based protocol support\n- Cryptographic primitives and keystore management for signing, verification, and MPC\n- EVM and EigenLayer extensions for direct smart contract and restaking integrations\n- Testing and benchmarking utilities for reproducible environments and performance tuning\n\nIn short, Blueprints let developers move from concept to distributed protocol with minimal friction.\n\nWe also have a [documentation site](https://docs.tangle.tools/) on all things [Tangle] to help you get started.\n\n### SDK Components\n\nThe following components make up the SDK, providing everything from job creation and routing utilities to specialized\ntools for networking and testing.\n\n* [`blueprint-sdk`] - Main crate for the [Tangle] Blueprint SDK, re-exporting all of the following\n* [`blueprint-benchmarking`] - Utilities for benchmarking blueprints\n* [`blueprint-build-utils`] - Utilities for simplifying build-time tasks (e.g., building contracts, installing dependencies)\n* [`blueprint-chain-setup`] - (**Meta-crate**) Utilities for setting local testnets\n    * [`blueprint-chain-setup-anvil`] - Utilities for setting up [Anvil] testnets\n* [`blueprint-clients`] - (**Meta-crate**) Clients for interacting with [Tangle], [Eigenlayer], and other networks\n    * [`blueprint-client-core`] - Core client primitives and traits\n    * [`blueprint-client-tangle`] - Client for interacting with the [Tangle] EVM contracts\n    * [`blueprint-client-eigenlayer`] - Client for interacting with the [Eigenlayer] Network\n    * [`blueprint-client-evm`] - Client for interacting with the EVM Network\n* [`blueprint-contexts`] - Extensions for adding functionality to custom blueprint context types\n* [`blueprint-context-derive`] - Derive macros for implementing context extension traits\n* [`blueprint-core`] - Core components for building blueprints, primarily job system primitives\n* [`blueprint-crypto`] - (**Meta-crate**) Cryptographic utilities\n    * [`blueprint-crypto-core`] - Core cryptographic utilities (traits, types)\n    * [`blueprint-crypto-bls`] - Utilities for working with BLS signatures and keys\n    * [`blueprint-crypto-bn254`] - Utilities for working with BN254 signatures and keys\n    * [`blueprint-crypto-ed25519`] - Utilities for working with Ed25519 signatures and keys\n    * [`blueprint-crypto-hashing`] - Cryptographic hashing utilities\n    * [`blueprint-crypto-k256`] - Utilities for working with [secp256k1] signatures and keys\n    * [`blueprint-crypto-sr25519`] - Utilities for working with sr25519 signatures and keys\n* [`blueprint-keystore`] - Flexible keystore implementation, supporting local and remote signers\n* [`blueprint-macros`] - Utility macros for simplifying blueprint development\n* [`blueprint-manager`] - A program executor that connects to the [Tangle] network and runs protocols dynamically on the fly\n    * [`blueprint-manager-bridge`] - IPC bridge for manager-blueprint communication\n* [`blueprint-metrics`] (**Meta-crate**) Utilities for collecting metrics\n    * [`blueprint-metrics-rpc-calls`] - Utilities for collecting metrics from RPC calls\n* [`blueprint-networking`] - P2P networking support for blueprints\n    * [`blueprint-networking-round-based-extension`] - A networking compatibility layer for [round-based] MPC protocols\n    * [`blueprint-networking-agg-sig-gossip`] - Aggregated signature gossip extension\n    * [`blueprint-networking-gossip-primitives`] - Gossip protocol primitives\n* [`blueprint-pricing-engine`] - Pricing engine for computing resource costs\n* [`blueprint-producers-extra`] - Additional protocol-independent event producers\n* [`blueprint-profiling`] - Profiling utilities for performance analysis\n* [`blueprint-qos`] - Quality of Service monitoring and metrics\n* [`blueprint-router`] - A job router for dynamically scheduling jobs\n* [`blueprint-runner`] - The blueprint job runner, executing jobs in a protocol-specific manner\n* [`blueprint-std`] - Standard library extensions, for use within the SDK\n* [`blueprint-stores`] - (**Meta-crate**) Storage providers for blueprints\n    * [`blueprint-store-local-database`] - A local JSON key-value database\n* [`blueprint-remote-providers`] - Remote cloud provider integrations (AWS, GCP, Azure, etc.)\n* [`blueprint-tangle-aggregation-svc`] - Tangle aggregation service for BLS signature aggregation\n* [`blueprint-tangle-extra`] - Tangle-specific producers, consumers, and extractors\n* [`blueprint-evm-extra`] - EVM specific extensions for blueprints\n* [`blueprint-eigenlayer-extra`] - Eigenlayer specific extensions for blueprints\n* [`blueprint-faas`] - FaaS (Function-as-a-Service) execution support\n* [`blueprint-auth`] - Authentication and authorization utilities\n* [`blueprint-testing-utils`] - (**Meta-crate**) Utilities for testing blueprints\n    * [`blueprint-core-testing-utils`] - Core testing utility primitives\n    * [`blueprint-anvil-testing-utils`] - Utilities for creating and interacting with Anvil testnets\n    * [`blueprint-eigenlayer-testing-utils`] - Utilities for creating end-to-end tests for Eigenlayer blueprints\n\n[`blueprint-sdk`]: https://docs.rs/blueprint-sdk\n[`blueprint-benchmarking`]: https://docs.rs/blueprint-benchmarking\n[`blueprint-build-utils`]: https://docs.rs/blueprint-build-utils\n[`blueprint-chain-setup`]: https://docs.rs/blueprint-chain-setup\n[`blueprint-chain-setup-anvil`]: https://docs.rs/blueprint-chain-setup-anvil\n[`blueprint-clients`]: https://docs.rs/blueprint-clients\n[`blueprint-client-core`]: https://docs.rs/blueprint-client-core\n[`blueprint-client-tangle`]: https://docs.rs/blueprint-client-tangle\n[`blueprint-client-eigenlayer`]: https://docs.rs/blueprint-client-eigenlayer\n[`blueprint-client-evm`]: https://docs.rs/blueprint-client-evm\n[`blueprint-contexts`]: https://docs.rs/blueprint-contexts\n[`blueprint-context-derive`]: https://docs.rs/blueprint-context-derive\n[`blueprint-core`]: https://docs.rs/blueprint-core\n[`blueprint-crypto`]: https://docs.rs/blueprint-crypto\n[`blueprint-crypto-core`]: https://docs.rs/blueprint-crypto-core\n[`blueprint-crypto-bls`]: https://docs.rs/blueprint-crypto-bls\n[`blueprint-crypto-bn254`]: https://docs.rs/blueprint-crypto-bn254\n[`blueprint-crypto-ed25519`]: https://docs.rs/blueprint-crypto-ed25519\n[`blueprint-crypto-hashing`]: https://docs.rs/blueprint-crypto-hashing\n[`blueprint-crypto-k256`]: https://docs.rs/blueprint-crypto-k256\n[`blueprint-crypto-sr25519`]: https://docs.rs/blueprint-crypto-sr25519\n[`blueprint-keystore`]: https://docs.rs/blueprint-keystore\n[`blueprint-macros`]: https://docs.rs/blueprint-macros\n[`blueprint-manager`]: https://docs.rs/blueprint-manager\n[`blueprint-manager-bridge`]: https://docs.rs/blueprint-manager-bridge\n[`blueprint-metrics`]: https://docs.rs/blueprint-metrics\n[`blueprint-metrics-rpc-calls`]: https://docs.rs/blueprint-metrics-rpc-calls\n[`blueprint-networking`]: https://docs.rs/blueprint-networking\n[`blueprint-networking-round-based-extension`]: https://docs.rs/blueprint-networking-round-based-extension\n[`blueprint-networking-agg-sig-gossip`]: https://docs.rs/blueprint-networking-agg-sig-gossip\n[`blueprint-networking-gossip-primitives`]: https://docs.rs/blueprint-networking-gossip-primitives\n[`blueprint-pricing-engine`]: https://docs.rs/blueprint-pricing-engine\n[`blueprint-producers-extra`]: https://docs.rs/blueprint-producers-extra\n[`blueprint-profiling`]: https://docs.rs/blueprint-profiling\n[`blueprint-qos`]: https://docs.rs/blueprint-qos\n[`blueprint-router`]: https://docs.rs/blueprint-router\n[`blueprint-runner`]: https://docs.rs/blueprint-runner\n[`blueprint-std`]: https://docs.rs/blueprint-std\n[`blueprint-stores`]: https://docs.rs/blueprint-stores\n[`blueprint-store-local-database`]: https://docs.rs/blueprint-store-local-database\n[`blueprint-tangle-extra`]: https://docs.rs/blueprint-tangle-extra\n[`blueprint-evm-extra`]: https://docs.rs/blueprint-evm-extra\n[`blueprint-eigenlayer-extra`]: https://docs.rs/blueprint-eigenlayer-extra\n[`blueprint-faas`]: https://docs.rs/blueprint-faas\n[`blueprint-auth`]: https://docs.rs/blueprint-auth\n[`blueprint-remote-providers`]: https://docs.rs/blueprint-remote-providers\n[`blueprint-tangle-aggregation-svc`]: https://docs.rs/blueprint-tangle-aggregation-svc\n[`blueprint-tangle-extra`]: https://docs.rs/blueprint-tangle-extra\n[`blueprint-testing-utils`]: https://docs.rs/blueprint-testing-utils\n[`blueprint-core-testing-utils`]: https://docs.rs/blueprint-core-testing-utils\n[`blueprint-anvil-testing-utils`]: https://docs.rs/blueprint-anvil-testing-utils\n[`blueprint-eigenlayer-testing-utils`]: https://docs.rs/blueprint-eigenlayer-testing-utils\n\n\n## 🚀 Getting Started\n\n### 📋 Prerequisites\n\nEnsure you have the following installed:\n\n- [Rust]\n- **OpenSSL Development Packages**\n\n#### For Ubuntu/Debian:\n\n```bash\nsudo apt update \u0026\u0026 sudo apt install build-essential cmake libssl-dev pkg-config\n```\n\n#### For macOS:\n\n```bash\nbrew install openssl cmake\n```\n\n### 🔧 CLI Installation\n\nYou can install the [Tangle] CLI in two ways:\n\n#### 🚩 **Option 1: Install Script (recommended)**\n\nInstall the latest stable version of `cargo-tangle` using the installation script:\n\n```bash\ncurl --proto '=https' --tlsv1.2 -LsSf https://github.com/tangle-network/blueprint/releases/download/cargo-tangle/v0.1.1-beta.7/cargo-tangle-installer.sh | sh\n```\n\n#### 🚩 **Option 2: Install from source**\n\nInstall the latest git version of `cargo-tangle` using the following command:\n\n```bash\ncargo install cargo-tangle --git https://github.com/tangle-network/blueprint --force\n```\n\n### ✨ Creating Your First Blueprint\n\nAfter installation, you can create, build, register, and run your first blueprint against the [Tangle] EVM:\n\n```bash\n# Create a new blueprint named \"my_blueprint\"\ncargo tangle blueprint create --name my_blueprint\n\n# Navigate into the blueprint directory and build\ncd my_blueprint\ncargo build\n\n# Deploy your blueprint to the [Tangle Network]\n# Write the contract coordinates used by your service\ncat \u003e settings.env \u003c\u003c'EOF'\nBLUEPRINT_ID=0\nSERVICE_ID=0\nTANGLE_CONTRACT=0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9\nRESTAKING_CONTRACT=0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512\nSTATUS_REGISTRY_CONTRACT=0xdC64a140Aa3E981100a9BecA4E685f962f0CF6C9\nEOF\n\n# Register the operator with the on-chain contracts (optional)\ncargo tangle blueprint register-tangle \\\n  --http-rpc-url https://rpc.tangle.tools \\\n  --ws-rpc-url wss://rpc.tangle.tools \\\n  --keystore-path ./keystore \\\n  --tangle-contract 0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9 \\\n  --restaking-contract 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512 \\\n  --status-registry-contract 0xdC64a140Aa3E981100a9BecA4E685f962f0CF6C9 \\\n  --blueprint-id 0\n\n# Capture the preregistration payload (TLV file written to ./data by default)\ncargo tangle blueprint preregister \\\n  --http-rpc-url http://127.0.0.1:8545 \\\n  --ws-rpc-url ws://127.0.0.1:8546 \\\n  --keystore-path ./keystore \\\n  --settings-file ./settings.env\n\n# Run the blueprint manager against local Anvil (or a real RPC)\ncargo tangle blueprint run \\\n  --protocol tangle \\\n  --http-rpc-url http://127.0.0.1:8545 \\\n  --ws-rpc-url ws://127.0.0.1:8546 \\\n  --keystore-path ./keystore \\\n  --settings-file ./settings.env\n```\n\nThe preregistration flow mirrors the production pipeline: the CLI boots the manager\nin `REGISTRATION_MODE_ON`, launches the blueprint with `REGISTRATION_CAPTURE_ONLY=1`,\nand waits for it to emit `registration_inputs.bin` under\n`./data/blueprint-\u003cid\u003e-*/`. Each blueprint can use the helper\n`blueprint_sdk::registration::write_registration_inputs` to persist its TLV payload\nwhen `BlueprintEnvironment::registration_mode()` returns `true`.\n\n#### Runtime Preferences\n\n`cargo tangle blueprint run` and `cargo tangle blueprint preregister` accept `--preferred-source`\n(`native`, `container`, or `wasm`) plus `--vm/--no-vm` so you can control how the manager fetches and\nexecutes artifacts. Pass `--save-runtime-prefs` to write those choices back to `settings.env`\n(`PREFERRED_SOURCE` / `USE_VM`) so future commands inherit the same behavior.\n\nEvery CLI action that submits a transaction now reports `tx_submitted` / `tx_confirmed`\nlines (or JSON objects when `--json` is used), making it easy to track hashes and block\nconfirmations in logs or CI pipelines.\n\nAnd your blueprint is ready to go!\n\n### Deploying to Testnet/Mainnet\n\nWhen targeting real [Tangle] networks, provide a blueprint definition manifest that mirrors the on-chain schema. The file can be JSON, YAML, or TOML and must describe the blueprint metadata, jobs, and artifact sources (container images or native binaries). Once authored, pass it via `--definition`:\n\n```bash\ncargo tangle blueprint deploy tangle \\\n  --network testnet \\\n  --definition ./definition.json\n```\n\nAt minimum the manifest requires `metadata_uri`, `manager`, at least one job, and one source. Fields such as schemas or blueprint-specific config are optional and default to empty values. See `MIGRATION_EVM_ONLY.md` for a detailed example.\n\n### 🧪 Testing Locally\n\nThe `blueprint-anvil-testing-utils` crate exposes `harness_builder_from_env` for `TangleHarness`, which replays the `LocalTestnet.s.sol` broadcast so every integration test runs against deterministic contract state. Useful commands:\n\n```bash\n# Client integration tests (Anvil-backed)\ncargo test -p blueprint-client-tangle --test anvil\n\n# Pricing engine QoS listener\ncargo test -p blueprint-pricing-engine --test evm_listener\n\n# Blueprint runner end-to-end harness\ncargo test -p blueprint-manager --test tangle_runner\n\n# Example blueprint harness (router + runner wired together)\ncargo test -p hello-tangle-blueprint --test anvil\n```\n\nEach suite boots its own Anvil container via `testcontainers`, so Docker is required when running locally or in CI.\n\n\u003e **Note:** The harness loads `crates/chain-setup/anvil/snapshots/localtestnet-state.json` and falls back to the bundled `localtestnet-broadcast.json` if the snapshot is missing or fails validation. Refresh fixtures with `scripts/fetch-localtestnet-fixtures.sh`, and set `RUN_TNT_E2E=1` to opt into the longer suites.\n\nFor a keystore-to-runner walkthrough (keys, env vars, harness commands, and manual\n`TangleClient` snippets) see [`docs/operators/anvil.md`](docs/operators/anvil.md).\n\nFor additional commands, advanced configurations, and complete CLI usage, see the [official CLI reference](https://docs.tangle.tools/developers/cli/reference).\n\n## 📮 Support\n\nFor support or inquiries:\n- **Issues:** Report bugs or request features via GitHub Issues.\n- **Discussions:** Engage with the community in GitHub Discussions.\n- For real-time assistance and announcements:\n    - Join our [Discord server](https://discord.com/invite/cv8EfJu3Tn)\n    - Join our [Telegram channel](https://t.me/tanglenet)\n\n\n---\n\n## Key Concepts\n\n**Blueprint SDK** is a Rust framework for building verifiable, decentralized services on [Tangle Network] with built-in x402 payment rails, multi-operator BLS aggregation, and TEE support.\n\n**Blueprint** is a deployable service specification that defines computation logic, verification requirements, and payment flows in a single package. Operators stake TNT tokens to run blueprints, with slashing for incorrect results.\n\n**x402** is an HTTP-native micropayment protocol built into the SDK that enables per-request payments for blueprint services. Agents pay with signed HTTP headers, no accounts or API keys required.\n\n**Operator** is a node runner who stakes economic collateral (TNT tokens) to execute blueprint jobs. Multiple operators can verify the same job through BLS signature aggregation.\n\n**TangleArg / TangleResult** are extractor types that decode on-chain job inputs and encode results for submission back to the [Tangle] contract layer.\n\n**Router** is the job dispatch system (inspired by axum's router pattern) that maps job IDs to handler functions with middleware support via layers.\n\n---\n\n## Frequently Asked Questions\n\n**What is Blueprint SDK?**\nBlueprint SDK is a Rust framework for building verifiable services that run on [Tangle Network] with built-in payment rails and multi-operator verification.\n\n**What language does Blueprint SDK use?**\nRust, with edition 2024 and minimum Rust version 1.88. TypeScript and Python SDKs are on the roadmap.\n\n**How does multi-operator verification work?**\nMultiple independent operators run the same job and submit BLS-signed results. An aggregation service collects signatures and verifies threshold agreement before on-chain settlement.\n\n**What is x402 and how does it integrate?**\nx402 is an HTTP-native micropayment protocol. The SDK includes an x402 gateway crate with axum middleware that handles payment verification, per-job pricing, and on-chain settlement automatically.\n\n**How do I get started?**\nInstall cargo-tangle (`cargo install cargo-tangle`), scaffold a project with `cargo tangle blueprint create --name my-service`, and follow the examples in the `examples/` directory.\n\n**What verification modes are supported?**\nCount-based thresholds (N-of-M operators must agree) and stake-weighted thresholds (percentage of total stake must sign). Both use BLS signature aggregation.\n\n**Does Blueprint SDK support EigenLayer?**\nYes. Full EigenLayer AVS integration with operator registration, BLS aggregation, and contract deployment via the `eigenlayer` feature flag.\n\n## 📜 License\n\nLicensed under either of\n\n* Apache License, Version 2.0\n  ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n* MIT license\n  ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n## 📬 Feedback and Contributions\n\nWe welcome feedback and contributions to improve this blueprint.\nPlease open an issue or submit a pull request on our GitHub repository.\nPlease let us know if you fork this blueprint and extend it too!\n\nContributor references:\n- [CONTRIBUTING.md](CONTRIBUTING.md)\n- [Harness Engineering Playbook](docs/engineering/HARNESS_ENGINEERING_PLAYBOOK.md)\n- [Harness Engineering Spec](docs/engineering/HARNESS_ENGINEERING_SPEC.md)\n- [Harness Review Checklist](docs/engineering/HARNESS_REVIEW_CHECKLIST.md)\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\n[Rust]: https://www.rust-lang.org/tools/install\n[Tangle]: https://tangle.tools\n[Tangle Network]: https://tangle.tools\n[Eigenlayer]: https://eigenlayer.xyz\n[secp256k1]: https://en.bitcoin.it/wiki/Secp256k1\n[round-based]: https://crates.io/crates/round-based\n[anvil]: https://book.getfoundry.sh/reference/anvil/\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Fblueprint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangle-network%2Fblueprint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangle-network%2Fblueprint/lists"}