For the full step-by-step runbook including identity setup, dry-run validation, post-deploy verification, and rollback procedures, see
contract/docs/CONTRACT_DEPLOY_RUNBOOK.md.
cd contract
# Build all contracts
cargo build --release --target wasm32-unknown-unknown
# Deploy subscription contract
soroban contract deploy \
--wasm target/wasm32-unknown-unknown/release/subscription.wasm \
--network testnet \
--source <YOUR_SECRET_KEY>
# Initialize contract
soroban contract invoke \
--id <CONTRACT_ID> \
--network testnet \
--source <YOUR_SECRET_KEY> \
-- init \
--admin <ADMIN_ADDRESS> \
--fee_bps 500 \
--fee_recipient <FEE_ADDRESS> \
--token <TOKEN_ADDRESS> \
--price 1000000cd backend
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your contract IDs and database credentials
# Run database migrations (if using TypeORM migrations)
npm run migration:run
# Start development server
npm run start:devcd frontend
# Install dependencies
npm install
# Add Stellar SDK
npm install @stellar/stellar-sdk
# Configure environment
cp .env.local.example .env.local
# Edit .env.local with your contract IDs
# Start development server
npm run devContract IDs written by contract/scripts/deploy.sh (.env.deployed) use canonical CONTRACT_ID_* names plus legacy aliases. Full mapping: contract/docs/DEPLOYED_ENV.md.
CONTRACT_ID_SUBSCRIPTION(preferred) orSUBSCRIPTION_CONTRACT_ID/CONTRACT_ID_SUBSCRIPTIONS/SUBSCRIPTIONS_CONTRACT_ID: subscription contractSTELLAR_NETWORK: testnet or publicDB_*: PostgreSQL connection details
NEXT_PUBLIC_SUBSCRIPTION_CONTRACT_ID(orNEXT_PUBLIC_SUBSCRIPTIONS_CONTRACT_ID): same contract as backend subscription idNEXT_PUBLIC_STELLAR_NETWORK: testnet or publicNEXT_PUBLIC_API_URL: Backend API URL
- Install Freighter wallet extension
- Fund testnet account: https://laboratory.stellar.org/#account-creator
- Connect wallet in frontend
- Create a subscription plan (creator)
- Subscribe to a plan (fan)
- Verify subscription status
- Deploy contracts to mainnet
- Update all contract IDs in env files
- Set strong JWT_SECRET
- Configure production database
- Set up SSL/TLS
- Enable CORS properly
- Set up monitoring and logging
- Audit smart contracts
- Test with real XLM/USDC