Skip to main content

Technical Overview

Arcane Wallet is a non-custodial multi-chain wallet. Cross-chain swaps go through Rezz, a dual-pool automated market maker. The user signs locally. The source pool locks the input. The destination pool pays the receiver.

Site: arcane.faezlabs.com · Docs: docs.faezlabs.com

Architecture

Client

React wallet (mwallet). Create or recover an account, list balances, send native and ERC-20 value, and request a Rezz quote.

Backend

A small Express service hydrates token and NFT lists so the UI is not tied to a single RPC for portfolio views. It cannot move funds.

Relayer

bridge/ watches source-chain Swap events, sizes the destination payout, and submits settlement. A dishonest relayer can delay a swap. It cannot drain another chain's pool.

On-chain

PieceLocationRole
PairArcaneAMM.solSame-chain constant-product pool
FactoryArcaneFactory.solCREATE2 pair registry
LP tokenArcLPToken.solMint/burn only from the pair
Source poolArcaneAMMCC.solSingle-sided lock + Swap event
Solana programprogram.rsDestination settlement prototype

Supported rails

EVM

Transfers, ERC-20 balances, Rezz pairs. Same-chain swaps use x * y = k with a 0.3% LP fee. Cross-chain source pools emit a settlement intent.

Solana

Destination settlement in the current prototype. The relayer calls the Anchor program after the source lock is final.

A new EVM host is a chain record in Arcane plus a Rezz factory address. That is how the stack moves between networks without a rewrite.

Swap flow

  1. The user picks an input on the source chain and a receiver on the destination chain.
  2. Arcane quotes from pool reserves and a slippage bound.
  3. The user signs locally. The source pair pulls the input.
  4. The relayer sees the event, checks destination liquidity, and pays the receiver.

See Rezz for the invariant and Arcane Wallet for key management.

Security

  • Seeds never leave the device. Encryption is AES-256.
  • Transactions are signed locally with ethers.js.
  • Each pool has its own LP set. A halt on one chain cannot drain the other.
  • Pair math, LP solvency, and swapId replay protection are the audit surface before mainnet.

Production gaps

Already in code: the invariant, factory, source event, Solana settlement, and the wallet swap tab.

Still to close before a public mainnet: token transfers inside the same-chain swap, an EVM destination release, an on-chain timeout/refund, and a timelocked owner.

Contact

Faez Labs — faysal@faysalbadaoui.com