Skip to content
luxfiPublic

Repository files navigation

teleport

Teleport — Lux Cross-Chain Bridge

Teleport is the canonical cross-chain bridge for Lux Network. It moves assets between Lux primary chains (C-Chain, X-Chain, Z-Chain) and external chains (Bitcoin, Ethereum, Base, Arbitrum, Optimism, Solana, Cosmos IBC) using Lux Warp 2.0 envelopes for authentication and M-Chain threshold custody for external-asset key management.

Architecture

   SOURCE CHAIN              LUX VALIDATOR SET            DESTINATION CHAIN
   ──────────────            ──────────────────           ──────────────────
   user calls         ───►   sign Warp 2.0 envelope ───►  BridgeV2.claim()
   BridgeV2.burn()           (Beam BLS + ML-DSA           verifies envelope
                              cert set + Pulse)           via IWarp2Verifier
                                                          mints / releases
                              external custody:
                              M-Chain (T-Chain) holds
                              per-asset MPC key shares
                              (LP-7330)

The Warp 2.0 envelope (github.com/luxfi/warp/envelope.go, EnvelopeV2, LP-021v2) carries three independently-verifiable attestations of the same messageHash:

Lane Primitive Function
Beam BLS12-381 aggregate (LP-075) classical fast path, 48 B + signer bitmap
CertSet ML-DSA-65 per validator (FIPS 204, LP-070) post-quantum identity proof
Pulse Pulsar threshold (LP-073) post-quantum threshold proof per round

Pulsar is Lux's lattice threshold scheme, built on the two-round Corona construction (eprint 2024/1113), with DKG2 + Pulsar-SHA3, see github.com/luxfi/pulsar. Together with ML-DSA (FIPS 204) and ML-KEM (FIPS 203, used for transport), Warp 2.0 gives Teleport post-quantum agility: a break of any single primitive does not forge a claim. SLH-DSA (FIPS 205) is referenced in the broader Lux PQ stack for completeness.

See WARP2_BRIDGE.md for the full Warp 2.0 bridge architecture, threat model, and migration plan.

Custody model

Teleport itself never holds raw key material. For external chains (BTC, ETH, …) per-asset MPC keys are held by M-Chain (T-Chain ThresholdVM, LP-7330). The Warp 2.0 envelope is the authorisation that triggers M-Chain to release the underlying asset (or that the destination wrapped-asset contract mints).

This separates two trust surfaces cleanly:

  • Warp 2.0 envelope — proves the Lux validator set saw a valid burn on the source chain.
  • M-Chain T-Chain custody — proves the released funds match the authorised amount.

Repository layout

teleport/
├── WARP2_BRIDGE.md                   # Warp 2.0 architecture + migration
├── contracts/contracts/
│   ├── Bridge.sol                    # v1 — EIP-712 oracle (Phase 1)
│   ├── BridgeV2.sol                  # v2 — Warp 2.0 envelope (Phase 2-5)
│   ├── ERC20B.sol                    # bridgeable token (mint/burn role)
│   ├── IBridgeToken.sol              # token interface
│   ├── interfaces/
│   │   └── IWarp2Verifier.sol        # Warp 2.0 verifier interface
│   └── Warp2VerifierStub.sol         # dev / test stub (NOT production)
├── api/                              # bridge API service
├── mpc/                              # MPC signing service (M-Chain client)
└── app/                              # frontend UI

Phase rollout

Phase Authorisation Custody Status
1 EIP-712 oracle (Bridge.sol) M-Chain shipping
2 Warp 2.0 Beam-only (BridgeV2.sol) M-Chain spec + skeleton (this PR)
3 + ML-DSA cert set M-Chain requires LP-2517 precompile
4 + Pulsar Pulse M-Chain requires LP-2312 precompile
5 full Warp 2.0 mandatory; v1 decommissioned M-Chain pending Phases 3-4

Phase 1 remains operational while Phase 2+ rolls out. BridgeV2 deploys alongside Bridge and accepts the same token allowlist; TVL migrates over time.

Building

# Contracts
cd contracts && pnpm install && pnpm build

# API
cd api && pnpm install && pnpm build

# MPC client (talks to M-Chain T-Chain)
cd mpc && pnpm install && pnpm build

Testing

cd contracts && pnpm test

BridgeV2 tests use Warp2VerifierStub.sol as a stand-in for the production precompile dispatcher. Production deployments require the Lux EVM precompile suite (LP-2311 BLS12-381, LP-2517 ML-DSA-65, LP-2312 Pulsar) or — on non-Lux destination chains — a Z-Chain Groth16 rollup of the cert set (LP-105 §"HorizonCertificate").

References

Topic Source
Warp 2.0 protocol github.com/luxfi/warp
Warp 2.0 envelope luxfi/warp/envelope.go
Pulsar lattice kernel github.com/luxfi/pulsar
Bridge architecture spec LP-6332
M-Chain (T-Chain) custody LP-7330
BridgeVM (B-Chain) LP-6331
Quasar consensus LP-110
BLS aggregation (Beam) LP-075 / LP-118
ML-DSA-65 (FIPS 204) LP-070
Pulsar (LP-073) LP-073
Lux Stack Lexicon LP-105
Privacy layer (Z-Chain) CLAUDE.md §Privacy Layer

License

See LICENSE.

Releases

Packages

Used by

Contributors

Languages