Skip to content

Order on Starknet, write on Bitcoin, get money trustlessly, repeat

Notifications You must be signed in to change notification settings

lana-shanghai/broly

 
 

Repository files navigation

broly-logo

B.R.O.L.Y.

Bitcoin Registry Orchestrates Like Yesterday

Order on Starknet, write on Bitcoin, get money trustlessly, repeat

Broly is a decentralized Bitcoin inscription service that uses Starknet for orderbook management. It enables trustless Bitcoin inscriptions with guaranteed payments through smart contracts.


Architecture

flowchart TB
    subgraph Frontend
        UI[React UI]
        BW[Bitcoin Wallet]
        SW[Starknet Wallet]
    end

    subgraph Backend
        API[REST API]
        DB[(Database)]
    end

    subgraph Starknet
        OB[Orderbook Contract]
    end

    subgraph Bitcoin
        BTC[Bitcoin Network]
    end

    subgraph Inscribor
        IS[Inscription Service]
        OM[Order Monitor]
    end

    UI --> API
    UI <--> BW
    UI <--> SW
    API --> DB
    SW <--> OB
    IS --> BTC
    OM --> OB
    API --> IS
    IS --> API
Loading

Flow

  1. User connects both Bitcoin and Starknet wallets
  2. User creates an inscription order:
    • Specifies inscription content and reward amount
    • Order is created on Starknet orderbook
    • Funds are locked in the contract
  3. Inscribor service:
    • Monitors pending orders
    • Creates Bitcoin inscriptions
    • Triggers reward release on successful inscription
  4. User receives inscription, inscribor receives reward

Getting Started

  1. Run the app
cp .env.example .env
# Edit .env variables to match your environment
docker compose up
  1. Restart your app ( after changes to backend(s), indexer, ... )
docker compose down --volumes
docker compose build
docker compose up

Project Structure

broly/
├── apps/
│   ├── web/               # Frontend React application
│   └── backend/           # REST API service
├── packages/
│   ├── inscribor/         # Bitcoin inscription service
│   ├── onchain/           # Starknet smart contracts
│   ├── scripts/           # Deployment & Testing scripts
│   └── indexer/           # Starknet contract indexing
├── package.json
└── turbo.json

Technology Stack

  • Frontend:
    • React + TypeScript
    • Vite
    • TailwindCSS
    • Starknet.js
    • BitcoinJS-lib
  • Backend:
    • Golang
    • Postgres DB
    • REST API
  • Smart Contracts:
    • Cairo (Starknet)
    • Scarb
  • Inscribor:
    • Node.js
    • BitcoinJS-lib
    • Starknet.js

Components

Frontend (web)

  • New inscription order form
  • Dashboard view for pending inscriptions
  • Wallet connections (Bitcoin + Starknet)
  • Order status tracking
  • Exploring inscriptions

Backend (backend)

  • REST API for order management
  • Status tracking endpoints
  • Order history

Smart Contracts (onchain)

  • Orderbook contract
  • Payment handling

Inscribor Service

  • Order monitoring
  • Bitcoin inscription creation
  • Transaction verification
  • Starknet interaction for reward release

License

Broly is licensed under the MIT License. See the LICENSE file for details.

About

Order on Starknet, write on Bitcoin, get money trustlessly, repeat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 41.7%
  • Cairo 32.5%
  • Go 11.5%
  • CSS 9.6%
  • Shell 2.3%
  • JavaScript 1.3%
  • Other 1.1%