Cross-chain swap and send platform for digital assets across multiple blockchains. Built with SilentSwap SDK for private, cross-chain transactions.
You can access the webite here GhostSwap
- Cross-Chain Swaps: Swap assets between Ethereum, Avalanche, Solana, and more
- Send Assets: Send tokens to any wallet address across chains
- Privacy-Focused: Uses SilentSwap for private transaction flows
- Multi-Wallet: Connect EVM (MetaMask, etc.) and Solana (Phantom, etc.) wallets
- Frontend: Next.js 16, React 19, Tailwind CSS
- SDK: @silentswap/react, @silentswap/sdk
- Wallets: wagmi (EVM), @solana/wallet-adapter (Solana)
cd ghostflow-app
npm install
npm run devOpen http://localhost:3000 to use the app.
Create .env.local for optional overrides:
# Solana RPC - default uses PublicNode (avoids 403 from official endpoint)
NEXT_PUBLIC_SOLANA_RPC=https://solana-rpc.publicnode.com
# For production, use Helius/QuickNode/etc. with API key for better reliability
# NEXT_PUBLIC_SOLANA_RPC=https://mainnet.helius-rpc.com/?api-key=YOUR_KEY
NEXT_PUBLIC_INTEGRATOR_ID=your-integrator-id # Optional: for SilentSwap tracking- Push the repo to GitHub and connect it to Netlify.
- Netlify will auto-detect the config from
netlify.toml:- Base directory:
ghostflow-app - Build command:
npm run build
- Base directory:
- Set environment variables in Site settings → Environment variables:
NEXT_PUBLIC_SOLANA_RPC— Solana RPC URL (e.g. Helius, PublicNode)NEXT_PUBLIC_INTEGRATOR_ID— optional, for SilentSwap tracking
- Deploy.
GhostFlow/
├── code.md # SDK documentation reference
├── README.md
└── ghostflow-app/ # Next.js application
├── src/
│ ├── app/ # App router pages
│ ├── components/ # React components
│ ├── hooks/ # Custom hooks (useUserAddress)
│ └── lib/ # Config (wagmi)
The implementation follows the SilentSwap React integration as documented in code.md. Key hooks used:
SilentSwapProvider- Auth, wallet, quoting, order trackinguseSilentSwap- Execute swaps, track orders, feesuseSwap- Form state (tokens, amounts, destinations)useBalancesContext- Cross-chain balancesuseOrdersContext- Swap history