A decentralized P2P cross-chain exchange protocol powered by Charms for seamless, trustless asset trading on Bitcoin.
Liquid Nation enables secure, peer-to-peer asset swaps across multiple blockchains using the Charms protocol. Our technology eliminates the need for liquidity pools, reducing gas fees and providing a safer, more efficient, and trustless experience for users.
Key Differentiators:
- π No Liquidity Pools - Direct P2P atomic swaps via Bitcoin UTXOs
- β‘ Zero-Knowledge Proofs - Cryptographic verification, not trust
- π True Cross-Chain - Native Bitcoin + Cardano support
- π° Lower Fees - No bridge fees, proof batching reduces costs
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LIQUID NATION ARCHITECTURE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Frontend (React) βββββββββΊ Backend (Rust/Axum) β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β CHARMS PROTOCOL LAYER β β
β β βββββββββββββββββ ββββββββββββββββββββββββββββββββββ β β
β β β Swap App β β Spells (Transaction Templates) β β β
β β β (Rust) β β β’ create-order.yaml β β β
β β βββββββββββββββββ β β’ fill-order.yaml β β β
β β β β’ cancel-order.yaml β β β
β β ββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββΌββββββββββββββββ β
β βΌ βΌ βΌ β
β Bitcoin Cardano Future Chains β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Liquid-Nation/
βββ apps/ # Charms Rust apps
β βββ swap-app/
β βββ Cargo.toml
β βββ src/
β β βββ lib.rs # Swap contract logic
β β βββ main.rs # Entry point
β βββ spells/ # Transaction templates
β βββ create-order.yaml
β βββ fill-order.yaml
β βββ cancel-order.yaml
β βββ partial-fill.yaml
βββ backend/ # Rust API server
β βββ Cargo.toml
β βββ src/
β βββ main.rs
β βββ routes/ # API endpoints
β β βββ orders.rs
β β βββ wallet.rs
β β βββ spells.rs
β βββ services/ # Business logic
β βββ bitcoin.rs
β βββ charms.rs
βββ src/ # React frontend
β βββ components/
β βββ services/
β β βββ api.js # Backend API client
β βββ App.jsx
βββ Cargo.toml # Rust workspace
βββ package.json # Node.js dependencies
- Node.js v18 or higher
- Rust (latest stable)
- Bitcoin Core v30.0.0+
- Charms CLI v0.10.0
# Install Charms CLI
cargo install --locked charms
# Install Node.js dependencies
npm install
# Build Rust backend and apps
cargo build --releaseCreate ~/Library/Application Support/Bitcoin/bitcoin.conf:
testnet4=1
server=1
rpcuser=charms
rpcpassword=charmsStart Bitcoin Core:
bitcoind -daemon# Terminal 1: Start the backend
cd backend
cargo run --release
# Terminal 2: Start the frontend
npm run devThe application will be available at:
- Frontend:
http://localhost:5173/ - Backend API:
http://localhost:3001/api
GET /api/orders- List all ordersPOST /api/orders- Create new orderGET /api/orders/:id- Get order detailsPOST /api/orders/:id/fill- Fill an orderDELETE /api/orders/:id/cancel- Cancel an orderPOST /api/orders/:id/partial-fill- Partially fill an order
POST /api/wallet/connect- Connect walletGET /api/wallet/balance- Get balanceGET /api/wallet/utxos- Get UTXOsGET /api/wallet/address- Get new address
POST /api/spells/prove- Prove a spellPOST /api/spells/broadcast- Broadcast transactionsGET /api/spells/status/:txid- Get transaction status
# Build the Charms app
cd apps/swap-app
cargo build --release
# Get the verification key
app_bin=$(charms app build)
charms app vk "$app_bin"- Rust - Systems programming language
- Axum - Web framework
- Charms SDK - Bitcoin programmable assets
- SQLite - Database
- React 19.2.0 - UI library
- Vite 7.2.4 - Build tool
- CSS3 - Styling
- Bitcoin - Base layer
- Charms Protocol - Programmable assets
- Cardano - Cross-chain support (coming soon)
# Rust tests
cargo test
# Frontend tests
npm test# Build Rust
cargo build --release
# Build frontend
npm run buildΒ© 2024 Liquid Nation. All rights reserved.