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.