---
title: "LightBridge Case Study"
canonical: https://wavect.io/case-studies/lightbridge/
language: en
description: "Boba Network is a hybrid Layer 2 blockchain delivering native off-chain data and compute through Account Abstraction, rooted in Ethereum and BNB Chain."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[← All case studies](/case-studies/)

![LightBridge logo](/img/clients/svg/boba-network.svg)

CASE STUDIES · 2022–2023

LightBridge

# Near-instant cross-chain bridge across 6 networks. $1M+ moving through it.

Boba Network is a hybrid Layer 2 blockchain delivering native off-chain data and compute through [Account Abstraction](/glossary/account-abstraction/). An optimistic rollup rooted in Ethereum and BNB Chain for mass-adoption apps.

BLOCKCHAIN Bridge 2022–2023 Live

At a glance

Engagement Bridge

Industry [Blockchain / L2 Infrastructure](/industries/blockchain-web3/)

Stage Enterprise · $115M raised

Engagement size Monthly retainer

Year 2022–2023

Stack

Typescript Python GraphQL React AWS Solidity

Status Live

Live [gateway.boba.network](https://gateway.boba.network/)

## Overview

Boba Network is a hybrid Layer 2 blockchain delivering native off-chain data and compute through [Account Abstraction](/glossary/account-abstraction/). An optimistic rollup rooted in Ethereum and BNB Chain for mass-adoption apps.

## What's the challenge?

Optimistic rollups secure value with wait periods; mainstream users want speed. The existing bridge UX was too slow and too complex for the audience Boba wanted to reach. Cross-chain transfers had to feel instant without breaking the trustless fallback, alongside an NFT launch and ongoing Gateway DApp work.

## What call did we make?

### Inherited the prototype, paid the maintenance tax, then paid it down.

> We didn't start from a blank slate. We got a prototype never built for the real requirements, and a list of requirements it didn't meet. Each release closed prototype-baked bugs and added what the spec asked for on day one. Maintenance-heavy by design, every fix sat on decisions that weren't ours. So in parallel we simplified the surface sprint by sprint, until what we shipped wasn't patched. It was clean.

## What We Did

Constraint: instant feel without giving up trustless settlement. The call: a TypeScript polling service watching AssetReceived events on source chains, batching up to 10 transfers, and submitting AWS-KMS-signed disburseAsset() calls to the destination chain, the disburser key never leaves AWS. Concretely: official LightBridge, TuringMonsters NFT launch, sustained Gateway DApp contributions, plus Account Abstraction, DevOps, and DevRel work. Trade-off: liquidity to mask the wait period.

## Outcomes

### 6 chains - Network support
- **Category:** Scale

### $1M+ secured - In production
- **Category:** Business

Want outcomes like these on your build?

Fixed scope. Fixed deadline. Signed SoW.

[Get in touch](/contact/)

## Selected Screens

![LightBridge, screen 1](/img/case-studies/lightbridge/001_hu_1418523de9dd8f0b.webp)

![LightBridge, screen 2](/img/case-studies/lightbridge/002_hu_d136527db1fff345.webp)

![LightBridge, screen 3](/img/case-studies/lightbridge/003_hu_8d6c8ad0d5d0edf6.webp)

## Architecture & Flows

### Cross-chain bridge architecture

TypeScript polling service watches AssetReceived events on source chains, batches up to 10 transfers, and submits AWS-KMS-signed disburseAsset() calls to the destination chain. The disburser key never leaves AWS.

The diagram illustrates a simplified high-level architecture and omits confidential implementation and security details.

### Cross-chain disbursement flow

```
sequenceDiagram
  autonumber
  participant U as User
  participant SC as Source Contract
  participant SG as GraphQL Subgraph
  participant SV as LightBridge Service
  participant K as AWS KMS
  participant DC as Dest Contract
  U->>SC: deposit(asset, amount, destChainId)
  SC-->>SG: emit AssetReceived
  SV->>SG: poll events (60s)
  SG-->>SV: new AssetReceived[]
  SV->>SV: batch ≤10, estimate gas
  SV->>K: sign disburseAsset(tx)
  K-->>SV: signed tx
  SV->>DC: submit signed tx
  DC->>U: release asset to recipient
  DC-->>SV: tx receipt
  SV->>SV: persist depositId · emit metrics
```

Source-chain deposit → subgraph index → poll → KMS-signed disbursement on destination. The disburser key never leaves AWS; the service only orchestrates.

## What We Learned

Optimistic rollup bridging has an inherent UX tension: security wants wait periods, users want speed. LightBridge taught us how to architect liquidity-provider layers that mask latency for most users while keeping the trustless fallback intact.

## Tech Stack

- [Typescript](https://www.typescriptlang.org/)
- [Python](https://www.python.org/)
- [GraphQL](https://graphql.org/)
- [React](https://react.dev/)
- [AWS](https://aws.amazon.com/)
- [Solidity](https://soliditylang.org/)

## Tags

- Infrastructure
- Layer 2
- RollUp

## Links & Resources

[Boba Gateway](https://gateway.boba.network/) [Boba Network](https://boba.network/) [Enya](https://enya.ai)

Related services

- [Blockchain Development](/services/blockchain/)
- [Custom Software Development](/services/software-development/)

Client references and trademarks

Wavect publishes these case studies about its own work. Client names, logos and trademarks are the property of their respective owners and are used here to identify the work, not to imply any partnership, sponsorship or endorsement. Each case study describes Wavect's own contribution inside a larger effort, and other parties, including the client's own teams and other vendors, contributed to the results. Figures attributed to a client are that client's own reported numbers. Figures about our work come from our records as of the review date, and we provide evidence on request. Reviews are reproduced from the platform named on each card and link to their source. We do not publish the commercial terms of any engagement, and product screenshots remain the property of the client shown. If you are named here and want a correction, a change or a removal, write to us and we will act on it: [office@wavect.io](mailto:office@wavect.io)

### [Quivr](/case-studies/quivr/)

Quivr was an AI-driven data verification protocol that helped brands identify their most authentic fans. Launched on Polygon, migrated to Solana for compressed …

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/case-studies/lightbridge/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-05-21",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-21",
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".faq-question",
          ".faq-answer"
        ]
      },
      "url": "https://wavect.io/case-studies/lightbridge/"
    },
    {
      "@id": "https://wavect.io/verified-claims.json#lightbridge-six-networks",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/case-studies/lightbridge/#webpage",
        "@type": "WebPage",
        "inLanguage": "en",
        "url": "https://wavect.io/case-studies/lightbridge/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "lightbridge-six-networks",
      "inLanguage": "en",
      "text": "LightBridge, Boba Network's official cross-chain bridge, supports near-instant transfers across 6 networks."
    },
    {
      "@id": "https://wavect.io/verified-claims.json#lightbridge-value-secured",
      "@type": "Claim",
      "appearance": {
        "@id": "https://wavect.io/case-studies/lightbridge/#webpage",
        "@type": "WebPage",
        "inLanguage": "en",
        "url": "https://wavect.io/case-studies/lightbridge/"
      },
      "author": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "dateModified": "2026-08-04",
      "identifier": "lightbridge-value-secured",
      "inLanguage": "en",
      "text": "$1M+ moves through LightBridge, secured in production on mainnet."
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@id": "https://wavect.io/case-studies/lightbridge/#case-study",
  "@type": "Article",
  "about": {
    "@id": "https://wavect.io/case-studies/lightbridge/#project",
    "@type": "CreativeWork",
    "creator": {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ]
    },
    "dateCreated": "2022-01-01",
    "description": "Bridge engagement",
    "funder": {
      "@type": "Organization",
      "name": "LightBridge"
    },
    "name": "LightBridge",
    "subjectOf": {
      "@id": "https://wavect.io/case-studies/lightbridge/#case-study",
      "@type": "Article"
    },
    "url": "https://gateway.boba.network/"
  },
  "abstract": "Optimistic rollups secure value with wait periods; mainstream users want speed. The existing bridge UX was too slow and too complex for the audience Boba wanted to reach. Cross-chain transfers had to feel instant without breaking the trustless fallback, alongside an NFT launch and ongoing Gateway DApp work.",
  "author": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "datePublished": "2022-01-01",
  "description": "Boba Network is a hybrid Layer 2 blockchain delivering native off-chain data and compute through Account Abstraction. An optimistic rollup rooted in Ethereum and BNB Chain for mass-adoption apps.",
  "headline": "LightBridge, Wavect Case Study",
  "image": "https://wavect.io/img/clients/svg/boba-network.svg",
  "inLanguage": "en",
  "isPartOf": {
    "@type": "CollectionPage",
    "name": "Wavect Case Studies",
    "url": "https://wavect.io/case-studies/"
  },
  "keywords": "Infrastructure, Layer 2, RollUp, Typescript, Python, GraphQL, React, AWS, Solidity",
  "mainEntityOfPage": "https://wavect.io/case-studies/lightbridge/",
  "mentions": [
    {
      "@type": "DefinedTerm",
      "name": "Typescript",
      "url": "https://www.typescriptlang.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Python",
      "url": "https://www.python.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "GraphQL",
      "url": "https://graphql.org/"
    },
    {
      "@type": "DefinedTerm",
      "name": "React",
      "url": "https://react.dev/"
    },
    {
      "@type": "DefinedTerm",
      "name": "AWS",
      "url": "https://aws.amazon.com/"
    },
    {
      "@type": "DefinedTerm",
      "name": "Solidity",
      "url": "https://soliditylang.org/"
    }
  ],
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/case-studies/lightbridge/"
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/case-studies/",
      "name": "Case Studies",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/case-studies/lightbridge/",
      "name": "LightBridge",
      "position": 3
    }
  ]
}
```
