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.
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.
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.
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 | 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.
# 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 buildcd contracts && pnpm testBridgeV2 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").
| 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 |
See LICENSE.