Skip to content
@useloopso

Loopso

Loop into the New Creative Economy

Loopso

First cross-chain, bi-directional bridge on Lukso, agnostic to token types, and txs confirmed within 30 seconds ✌️

🔓 Why is a Bridge important?

Bridges connect digital communities, exchanging value between networks and fostering growth in areas like community, developer engagement, and overall awareness — critical for Lukso.

📚 Summary

Transfer tokens between Sepolia, Lukso Testnet, and Mumbai by locking them on the source chain, triggering a rapid minting process on the destination chain through a centralized Bridge Messaging Relayer via the Transaction Relayer Service.

⚙️ Core Mechanism

  • Users lock tokens on chain A, and a relayer mints corresponding tokens on chain B.
  • Applicable to any tokens in both directions.
  • Architecture inspired by Wormhole, prioritizing security.
  • Lukso users are subsidized.

⛓️ Deployed Chains

  • Deployed on Sepolia, Lukso Testnet, and Mumbai.
  • Community-selected networks based on this poll.

🪜 Example Bridging Process for Fungibles

  1. A user initiates the bridging process by calling bridgeTokens(uint256 _amount, address _to, bytes32 _tokenID), specifying the amount, destination address, and the recorded attestation's _tokenID.
  2. The bridge deducts the specified token amount from the user's balance.
  3. An event TokensBridged is emitted, including the transfer ID.
  4. The relayer uses the transfer ID to obtain transfer details from the bridge and performs necessary verifications.
  5. The relayer calls releaseWrappedTokens on Chain B.
  6. Chain B mints the specified amount of wrapped tokens and emits an event, notifying the user of the successful bridging process.
  7. If the user intends to bridge back, they call bridgeTokensBack, burning the specified amount of wrapped tokens.
  8. An event TokensBridgedBack, similar to TokensBridged, is emitted.
  9. The relayer picks up the event, calls releaseTokens on Chain A, and transfers the specified token amount back to the user.

♾️ Products

  • Smart contracts: Solidity contracts for the Loopso bridge deployed on each chain.
  • Relayer: A Bridge Messaging Relayer (BMR) designed to read on-chain events & execute functions.
  • SDK: A lightweight npm package for developers to embed into their dApp for easy cross-chain bridging.
  • Frontend: A NextJS frontend used to seamlessly bridge fungible and non-fungible tokens.
  • Foundry library: A lightweight library that makes it easier to work with LSP7 and LSP8 smart contracts in Foundry.
  • Transaction Relayer: The first transaction relayer service written in GoLang for the Lukso network.

💎 Features

  • Bridge between ERC20 <> LSP7 and ERC721 <> LSP8.
  • Programmatically allow any developer to use our bridge easily with our SDK: Enabling decentralized front-ends, or bridging without a UI.
  • A clean UI to enable any user to seamlessly move funds between networks.
  • Take fees on fungible tokens and a cost to bridge for non-fungibles.
  • Developers on Lukso can use our LSP7 and LSP8 library when they use Foundry.
  • A 24/7 bridge relayer that mints and redeems.
  • Transaction relayer that subsidizes user gas (exclusive to Lukso).

🏗️ Roadmap & Limitations

  • Currently, there is one centralized BMR that can be prone to outage and downtime. A single point of failure in the server could stop it, but we have plans for multi-relayer support. A decentralized group of relayers that work together to prevent that single point of failure.
  • Frontend UX could be better, especially as we have different wallets.
  • Bridge between native tokens on each chain (e.g. LYXe <> LYX) without wrapping.
  • Internal Bridge Block Explorer.
  • We didn't deploy to mainnet because it would be irresponsible of us to launch a bridge without prior audits.
  • We were limited to testing by Lukso's HTTP & WS RPCs as there was frequent downtime across all RPCs (e.g. official, gateway, thirdweb), which made QA testing challenging.
  • UP had many bugs and interacting with it also was challenging on the client side.
  • Unclear in the documentation how to add the URL of the relayer service to the UP browser extension prior to sending a tx.

Pinned Loading

  1. loopso-sdk-typescript loopso-sdk-typescript Public

    A lightweight NPM package for developers to embed into their dApp for easy cross-chain bridging.

    TypeScript 1

  2. loopso-swap loopso-swap Public

    Cross-chain, Bi-directional Bridge Protocol - LOOPSO - using NextJS

    TypeScript 3

  3. BMR BMR Public

    Bridge Messaging Relayer designed to read on-chain events & execute functions.

    Go 1

  4. lukso-foundry lukso-foundry Public

    A lightweight library that makes it easier to work with LSP7 and LSP8 smart contracts in Foundry.

    Solidity 2

  5. contracts contracts Public

    Smart Contracts for the Loopso Bridge

    Solidity

Repositories

Showing 6 of 6 repositories
  • loopso-swap Public

    Cross-chain, Bi-directional Bridge Protocol - LOOPSO - using NextJS

    useloopso/loopso-swap’s past year of commit activity
    TypeScript 3 0 6 0 Updated Nov 27, 2023
  • loopso-sdk-typescript Public

    A lightweight NPM package for developers to embed into their dApp for easy cross-chain bridging.

    useloopso/loopso-sdk-typescript’s past year of commit activity
    TypeScript 0 MIT 1 0 0 Updated Nov 27, 2023
  • .github Public
    useloopso/.github’s past year of commit activity
    0 0 0 0 Updated Nov 25, 2023
  • contracts Public

    Smart Contracts for the Loopso Bridge

    useloopso/contracts’s past year of commit activity
    Solidity 0 0 0 0 Updated Nov 25, 2023
  • BMR Public

    Bridge Messaging Relayer designed to read on-chain events & execute functions.

    useloopso/BMR’s past year of commit activity
    Go 1 0 2 0 Updated Nov 25, 2023
  • lukso-foundry Public

    A lightweight library that makes it easier to work with LSP7 and LSP8 smart contracts in Foundry.

    useloopso/lukso-foundry’s past year of commit activity
    Solidity 2 0 0 0 Updated Nov 9, 2023

Top languages

Loading…

Most used topics

Loading…