BitVM Solutions: Trustless Bridges & Verification

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1All 1305 services
BitVM Solutions: Trustless Bridges & Verification
Complex
from 2 weeks to 3 months
Frequently Asked Questions

Blockchain Development Services

Blockchain Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1358
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    956
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1188
  • image_logo-advance_0.webp
    B2B Advance company logo design
    646
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    929

BitVM Solutions: Trustless Computing on Bitcoin

You have Bitcoin with its security and liquidity, but executing arbitrary logic on it without trusted intermediaries is non-trivial. Multisig solves part of the problem, but as soon as logic gets complex — HTLCs, conditional payments, ZK-proof verification — you either move to a sidechain with a different security model or wrap BTC into ERC-20 in an EVM environment with custodial risks. We offer a different path — entrust the development of BitVM solutions to our team. We have over 10 years in production engineering and have delivered 40+ projects, including cross-chain bridges and ZK-proof verifiers. A recent case: we built a BitVM bridge for a crypto fund, reducing BTC withdrawal time from 3 days to 30 minutes in a fully trustless model. The development cost is determined after analyzing your specific requirements.

BitVM changes the equation: the ability to perform arbitrary computations with verification on Bitcoin L1, without changing the network consensus. This is not "smart contracts" in the EVM sense — it is optimistic execution with fraud proof verification via Bitcoin Script. Wikipedia: BitVM

How BitVM Solves the Trust Problem Between Participants

The term "smart contracts" applied to BitVM is technically incorrect — Bitcoin has no EVM. The BitVM protocol uses an optimistic model: the prover asserts a result and publishes a commitment (Merkle state tree), the verifier can either stay idle or initiate a challenge. In case of a dispute, a bisection protocol kicks in: opponents narrow the disagreement to a single NAND operation verifiable via Bitcoin Script. A dishonest prover loses the bond. BitVM2 simplifies the model — any observer can be a verifier, and the challenge period compresses to two transactions.

What Actually Runs On-Chain vs Off-Chain

A common misconception: BitVM does not "run programs" on Bitcoin. Execution is always off-chain — the prover runs the program locally. Bitcoin L1 is only involved in case of a dispute, and only to verify a single bit operation. This is a fundamental difference from Ethereum, where execution happens on-chain every time. The practical consequence: BitVM solutions are optimal for low-frequency, high-value operations — cross-chain bridges, ZK-proof verification, conditional payments with complex logic. They are not suitable for high-throughput applications like DEXes or games.

Taproot and Its Role

Without Taproot (BIP-341/342), BitVM would be impossible. Taproot allows hiding up to 2^128 possible scripts in a single address, using Schnorr signatures (MuSig2) for efficient multisig, and placing leaf scripts up to 520 bytes — enough for NAND verification. A typical Taproot tree structure in a BitVM bridge includes leaves for normal withdrawal, challenge response, fraud proof, and timeout refund.

Architecture of a BitVM Bridge: The Most In-Demand Use Case

Cross-chain bridges between Bitcoin and other networks are the most mature production use case. Several projects exist: BitVM Bridge (Robin Linus), BitlayerLabs, Citrea.

Trustless Withdrawal Scheme

Bitcoin L1:
  - Locked BTC in multisig (Federation N-of-M)
  - Pre-signed transactions with Taproot script path

L2/Sidechain:
  - User burns wrapped BTC
  - A withdrawal proof is generated (ZK or optimistic)

Verifier Network:
  - Verifies the proof
  - If valid → signs a release transaction on L1
  - If invalid → publishes a fraud proof, activates challenge

The key component is a pre-signed transaction graph. Before deployment, all Federation participants sign Taproot transactions for all possible execution paths. This requires a one-time interactive session, after which the bridge operates automatically.

Example bridge scheme with 3-of-5 Federation Each of the 5 participants signs 10 pre-signed transactions for different scenarios (normal withdrawal, challenge, refund). All scripts are aggregated in a Taproot tree with a root MuSig2 key. Witness data weight for one withdrawal ~1.5 KB.

Comparison of Approaches to Bitcoin Cross-Chain Communication

Characteristic BitVM (trustless bridge) Sidechain (e.g., Liquid) Wrapped Token (WBTC)
Trust model N-of-M Federation + fraud proof Federation (full trust) Custodian (full trust)
Security Capital loss for attacker Trust assumptions Risk of fund loss
Withdrawal speed ~30 min (fast path) / 7-14 days (trustless) 1-2 days Depends on custodian
Implementation complexity High (circuit design) Medium Low

Why BitVM Is Not an Alternative to EVM, But a Complement

BitVM solves tasks where verification of computations is needed without trust in a sidechain or bridge. But it does not replace EVM for high-throughput DeFi applications. It is a tool to bridge the gap between Bitcoin and the rest of the crypto world.

Implementation: Tool Stack

Writing BitVM Programs

BitVM programs are compiled into circuits — a set of NAND/OR gates as Bitcoin Script. Main tools:

  • bitcoin-script (Rust crate) — low-level script work.
  • BitVM Rust SDK (BitVM Alliance) — high-level abstractions for circuits (currently API unstable, pin the version).
  • Groth16/PLONK verifier circuits — for a bridge, ZK-proof verification in Bitcoin Script is required, which breaks down into thousands of NAND gates.

Development Infrastructure

# Local Bitcoin regtest network
bitcoind -regtest -txindex=1 -rpcuser=user -rpcpass=pass

# or via docker
docker run -d --name bitcoin-regtest \
  -p 18443:18443 \
  ruimarinho/bitcoin-core \
  -regtest -txindex -rpcallowip=0.0.0.0/0

# Esplora for indexing
docker run -d electrs --network regtest

Testing BitVM requires transaction simulation — checking the consistency of the pre-signed graph, script satisfaction, and correctness of timelocks. We use a custom harness in Python with bitcoinlib and python-bitcointx.

Handling Transaction Pinning

A critical issue: an attacker can pin a fraud proof transaction with minimal fee. Protections:

  • CPFP (Child Pays For Parent) anchors in all dispute transactions.
  • Package relay from modern Bitcoin Core releases — allows broadcasting related transactions as a package.
  • Anchor output size: at dust threshold.

What Limitations Exist in BitVM?

Transaction Costs Without Dispute

A typical BitVM bridge withdrawal requires 1–2 on-chain transactions of ~500-1500 bytes with Taproot witness. At average feerate, the cost is a few USD. In case of a challenge, up to 10-20 transactions (10-50KB) — the challenger loses transaction costs, the prover loses the bond. Economic security relies on asymmetry.

Current Limitations

  • No Script introspection — Bitcoin Script cannot read its own transaction fields. Circumvented via pre-commitment, but complicates architecture.
  • Witness data size — complex circuits generate witness data up to several MB, slowing propagation.
  • Latency — challenge period 7–14 days for trustless withdrawal (similar to Optimistic Rollup). For UX, liquidity providers offer fast withdrawal for a fee.
  • Federation assumptions — most implementations require an N-of-M federation; truly trustless (1-of-N) is under development.

Development Process and Timeline

What Is Included in the Work

We provide: project documentation, circuit design, L2 smart contract implementation, off-chain prover/verifier, integration testing on regtest, multi-layer security review, post-launch support. We ensure high security through formal verification of critical components.

Estimated Timelines

Component Complexity Duration
Architecture and circuit design High 3–4 weeks
Bitcoin Script / Taproot transactions High 4–6 weeks
Off-chain prover/verifier Medium 3–4 weeks
L2 side (smart contract) Medium 2–3 weeks
Integration testing (regtest) High 2–3 weeks
Security review Critical 3–5 weeks

A realistic minimum for a production-grade BitVM bridge: 4–6 months. Projects with a shorter timeline usually have high trust assumptions or are not production quality. The current landscape is frontier engineering: little documentation, knowledge lives in source codes and Discord (BitVM Alliance, BitVM2 stack).

To order a turnkey BitVM solution, contact us for a consultation. We will assess your project, propose an optimal architecture and timeline. Get a consultation today.

Blockchain Infrastructure Deployment: Nodes, RPC, Indexing

Subgraph fell at 3:47 AM. By morning users saw outdated balances, transactions "hung" in the UI, support received 47 tickets in an hour. Cause: the handler in the subgraph failed on a transaction with a non-standard event log — and the entire index stopped. We have encountered such situations dozens of times. Our experience shows: blockchain infrastructure does not forgive gaps in observability. Guaranteeing uptime without multi-layered monitoring and fault-tolerant architecture is impossible. Over 8 years working with Ethereum, Polygon, and Solana, we have developed an approach that allows predictable deployment of infrastructure of any scale — from a single node to a multichain grid with dozens of subgraphs.

RPC Layer Architecture

Every dApp interaction with the blockchain goes through RPC — the JSON-RPC API provided by a node. Three options:

Managed providers — Alchemy, QuickNode, Infura, Ankr. Minimal operational costs, SLA, built-in monitoring. Limits: rate limits (Alchemy Free: 300 RU/sec), vendor lock, potential downtime during provider incidents. For most projects — the right choice at the start.

Self-owned nodes — full control, no rate limits, no third-party dependence. Cost: archive Ethereum node requires 2.5–3TB SSD, a strong server, and DevOps support. Sync from scratch on Ethereum via Geth/Nethermind — 3–7 days. Justified under high load or latency requirements.

Hybrid — self-owned node as primary, managed provider as fallback. Standard for protocols with high TVL. Proper load balancing can reduce costs by 20–30% compared to pure managed setup. Under high monthly request volume, hybrid saves significantly.

Provider Strength Limitation
Alchemy Supernode, Enhanced APIs, webhooks Expensive on high-volume
QuickNode Low latency, multi-chain More expensive than Alchemy on basic plan
Infura Historical reliability Rate limits on free, one major incident halted half of DeFi
Ankr Cheap, 40+ chains Less stable

How to Set Up an RPC Layer Without a Single Point of Failure?

At least two providers, DNS round-robin with health check every 5 seconds, automatic fallback when latency >500 ms. In practice, this gives 99.99% availability during any provider failure. For protocols with high TVL, we recommend a custom HA-proxy (nginx or Envoy) in front of two managed providers.

Why Is a Hybrid RPC Scheme More Cost-Effective Than Pure Managed?

At high request volumes, managed providers can be very expensive; a hybrid using a self-owned node as primary and a managed fallback cuts costs significantly without losing SLA.

Ethereum Node Clients

Execution clients: Geth (most used), Nethermind (C#, fast sync), Besu (Java, enterprise), Erigon (fastest sync, efficient archive mode ~2TB instead of 3TB).

Consensus clients (post-Merge): Lighthouse (Rust), Prysm (Go), Teku (Java), Nimbus (Nim). Each node after The Merge requires a pair of execution + consensus clients.

For DevOps: eth-docker — Docker Compose configurations for all client combinations. Setting up monitoring via Grafana + Prometheus is mandatory; a standard dashboard is available in each client's repository.

The Graph: Event Indexing

The Graph Protocol — decentralized indexing. A subgraph describes which events from which contracts to index and how to transform them into a GraphQL schema.

Subgraph structure:

  • subgraph.yaml — manifest: contract addresses, startBlock, events to handle
  • schema.graphql — GraphQL schema of entities
  • src/mapping.ts — AssemblyScript event handlers
dataSources:
  - kind: ethereum
    name: UniswapV3Pool
    network: mainnet
    source:
      address: "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640"
      abi: UniswapV3Pool
      startBlock: 12370624
    mapping:
      eventHandlers:
        - event: Swap(indexed address,indexed address,int256,int256,uint160,uint128,int24)
          handler: handleSwap

AssemblyScript handlers — not TypeScript. No nullable types, no closures, no many standard APIs. An error in the handler stops the subgraph indexing on that transaction. Important: add try-catch for operations that can fail (e.g., store.get() for an entity that may not exist).

How to Avoid Subgraph Indexing Stops?

Graph Node logs are monitored in real-time; on hasIndexingErrors = true an alert fires and an automatic node restart (via systemd or Kubernetes). Typical downtime on error — 150–300 seconds to recover. Additionally, for production we set up a watchdog that restarts Graph Node if subgraph lag exceeds 50 blocks.

Choosing Between Hosted Service and Decentralized Network

Graph Hosted Service (free, centralized) is deprecated in favor of Subgraph Studio + Graph Network. For production: deploy on Graph Network with GRT curation signal — the subgraph gets indexers proportional to curation.

Alternatives to The Graph: Ponder (TypeScript, self-hosted, easier to debug), Envio (ultra-fast indexer, supports EVM + non-EVM), Subsquid (TypeScript, own network), Moralis Streams (managed, webhook-based). Our experience shows: for high-load projects with unique logic, Ponder or Envio are more effective — they give full control over the process and do not require GRT tokenomics.

Webhooks and Real-Time Notifications

Alchemy Webhooks and QuickNode Streams allow receiving events in real-time via HTTP webhook or WebSocket. For monitoring addresses, new transactions, mints — this is faster than polling RPC.

Tenderly — platform for monitoring and alerts. You can set up an alert for a specific contract event, balance change, function call with certain parameters. Transaction simulation via Tenderly API is invaluable for debugging.

Monitoring and Observability

Minimum monitoring stack for a protocol:

On-chain: OpenZeppelin Defender Sentinel — watches contract events, triggers webhook or Autotask when conditions are met. Forta Network — community-maintained bots detect anomalies (large withdrawals, flash loans, governance attacks).

Infrastructure: Grafana + Prometheus for nodes, Datadog or Grafana Cloud for managed metrics. Alerts on: node is 10+ blocks behind, RPC latency >500ms, subgraph lag >100 blocks.

Uptime: Better Uptime or PagerDuty on RPC endpoint and subgraph health endpoint (The Graph provides _meta { hasIndexingErrors, block { number } }).

Why Is Monitoring Without Tenderly Insufficient?

Tenderly provides transaction simulation and detailed traces — critical for debugging subgraph and smart contract errors. Forta focuses on network anomalies, not your infrastructure. The combination of Tenderly plus a custom Grafana dashboard covers 90% of incident scenarios.

Multichain Infrastructure

A protocol on 5 chains = 5 separate RPC endpoints, 5 subgraphs, 5 monitoring configs. Manageable but requires deployment automation.

For subgraph multi-network deployment: graph deploy --network mainnet, graph deploy --network arbitrum-one etc. with a unified codebase and network-specific addresses in separate config files.

Chainlink CCIP and LayerZero for cross-chain messaging require monitoring of both chains and transactions on intermediate relayers. A reorg on the source chain after a confirmed mint on the target chain is a classic bridge problem. Solution: wait for finality (on Ethereum ~15 minutes after Merge for economic finality) before confirming on the target chain.

Infrastructure Setup Process

  1. Audit current stack — determine chains, request volume, latency and availability requirements.
  2. Architecture design — select providers, load balancing, redundancy.
  3. Subgraph development — manifest → schema → handlers → testing on local Graph Node → deploy to testnet → mainnet.
  4. Monitoring configuration — Tenderly alerts, Grafana dashboard, PagerDuty integration.
  5. Documentation and runbook — what to do when: subgraph falls behind, RPC downtime, node desync.
  6. Handover to operations — team training, access transfer, first month support.

What's Included

  • Deployment of managed or self-hosted Ethereum, Polygon, BNB Chain nodes
  • RPC layer setup with primary/fallback and load balancing
  • Subgraph development and deployment for your protocol
  • Monitoring connection (Tenderly, Grafana, alerts)
  • Runbook and operations documentation
  • Team training (up to 4 hours online)
  • 30-day support after delivery

Timeline

Task Duration
RPC and basic monitoring setup 1–2 weeks
Subgraph for one protocol 2–4 weeks
Self-hosted node with monitoring 2–3 weeks
Full infrastructure (multi-chain, monitoring, runbooks) 6–10 weeks

All projects are managed in a GitHub/GitLab repository with CI/CD; configuration code stays with you. Order infrastructure deployment — we'll show how to cut costs by 20–30% without losing reliability. Get a consultation — we'll demonstrate how we deployed infrastructure for a protocol with large TVL on Ethereum and Arbitrum. Contact us.