A full-stack Soroban Token Minting platform.
/client: React frontend built with Vite, Tailwind CSS, and Lucide icons./server: Node.js/Express backend with Stellar SDK integration and Mongoose models.
- Node.js (v18+)
- Docker & Docker Compose
- Freighter Wallet (Browser extension)
Spin up the local development environment (MongoDB, Redis, and Stellar Quickstart):
docker-compose up -dThis starts:
- MongoDB on port
27017 - Redis on port
6379 - Stellar Quickstart (standalone Soroban RPC) on port
8000
Run the bootstrap script to fund test accounts and deploy mock contracts:
chmod +x scripts/bootstrap-local-network.sh
./scripts/bootstrap-local-network.shThe script will:
- Wait for the Stellar Quickstart RPC to become ready
- Fund test accounts via the built-in friendbot
- Deploy mock contracts from the
contracts/directory
cd server
npm install
cp .env.example .env
# Update .env with your credentials
npm run devcd client
npm install
npm run devThe docker-compose.yml includes a stellar-quickstart service that provides a standalone Stellar network with Soroban RPC and Horizon. This eliminates the need for public testnet/futurenet access during local development.
- Local RPC URL:
http://localhost:8000 - Network Passphrase:
Standalone Network ; February 2017 - Friendbot:
http://localhost:8000/friendbot
The .env.example is pre-configured with these local endpoints. Copy it to .env and set ADMIN_SECRET_KEY to a keypair generated with soroban keys generate for contract deployment and account funding.
Ensure your .env file in the /server directory contains:
SOROBAN_RPC_URL: The RPC endpoint for Soroban (e.g., Futurenet/Testnet).NETWORK_PASSPHRASE: The passphrase for the target network.MONGO_URI: Connection string for MongoDB.CORS_ALLOWED_ORIGINS: Comma-separated frontend origin whitelist for browser access to the API.BRIDGE_RELAYER_ENABLED: Enables the cross-chain bridge relayer.BRIDGE_RELAYER_DIRECTION: Controls whether the relayer watchesboth,soroban-to-evm, orevm-to-soroban.BRIDGE_SOROBAN_ACCOUNT_ID: Soroban account or bridge contract to watch for events.BRIDGE_EVM_RPC_URL: JSON-RPC endpoint for the EVM-compatible chain.BRIDGE_EVM_BRIDGE_ADDRESS: Bridge contract address for EVM log polling.BRIDGE_RELAY_ENDPOINT_URL: HTTP endpoint that receives normalized relay commands.
- Connect Wallet: Integrated placeholder for Stellar wallets.
- Mint Tokens: Wrap Stellar Assets or deploy custom contracts.
- Asset Dashboard: Track your deployed tokens stored in MongoDB.
SoroMint maintains a security-first mindset. For vulnerability reporting and our audit fast-track process, see SECURITY.md.